Desenvolvimento Ágil de Software ou Método Ágil estuda diversos comportamentos, processos, práticas e ferramentas utilizados para criação de produtos e sua subsequente disponibilização para usuários finais.
Todos devem ser inclusos no processo de desenvolvimento do software: desde do cliente final até os técnicos de infraestrutura, passando por programadores, analista, testadores e usuários.
Utilizando as metodologias ágeis de desenvolvimento de software, os gestores de projetos conseguem tornar o processo mais interativo e com probabilidades de atingir o resultado esperado em menos tempo. O método ágil oferece novas maneiras de administra as esquipes de desenvolvimento de software, sobretudo por colocarem os usuários como participantes ativos na construção das soluções.
Valores ágeis de desenvolvimento de Software.
- Indivíduos e iterações mais que processos e ferramentas;
- Software funcional mais que documentação abrangente;
- Colaboração do cliente mais que negociação de contratos;
- Responder a mudanças mais que seguir um plano
Princípios ágeis de desenvolvimento de software.
- Garantindo a satisfação do consumidor entregando rapidamente e continuamente software funcionais;
- Mudanças tardias de escopo no projeto são bem-vindas para garantir a vantagem competitiva do cliente;
- Software funcionais são entregues frequentemente;
- Cooperação diária entre pessoas que entendem do ‘negócio’ e desenvolvedores;
- Projetos surgem através de indivíduos motivados, entre os quais existe relação de confiança.
- A maneira mais eficiente e efetiva de transmitir informações é conversar cara a cara;
- Software funcionais são a principal medida de progresso do projeto;
- Processos ágeis promovem desenvolvimento sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes para manter um ritmo constante indefinidamente.
- Design do software deve prezar pela excelência técnica;
- Simplicidade é essencial;
- As melhores arquiteturas, requisitos e projetos emergem de equipes auto-organizadas;
- Em intervalos regulares, a equipe reflete sobre como para tornar-se mais eficaz, então sintoniza e ajusta seu comportamento apropriadamente.
Scrum
Scrum muito conhecido no Brasil é um método de desenvolvimento ágil que se concentra principalmente no gerenciamento de tarefas dentro de um ambiente de desenvolvimento baseado em time.
Relativamente simples de implementar e aborda diversos dos aspectos complexos de gestão que costumam representar dor de cabeça para os times de desenvolvimento.
Scrum impõe uma certa disciplina, que permite um acompanhamento mais próximo do andamento do projeto, entregando valor mais rápido e podem ser até entregas semanais.
XP ( Extreme Programming)
XP é uma das metodologias ágeis de desenvolvimento de software mais radicais. O XP se concentra mais no processo de engenharia das soluções e aborda analise, desenvolvimento e teste com abordagens inovadoras, fazendo grande diferença na qualidade final dos sistemas.
Praticas Ágeis
Pequenas Releases
Deploys Frequentes
Testes Automatizados
Testes Unitários
TDD(Test Driven Development)
Refatoração
Pair Programming
Projetos Simples e Flexíveis
Integração Contínua
Cliente Presente
Semana de trabalho de 40 horas
Daily Standup Meeting / Reunião Diária em pé de até 15 minutos
Planning Poker