Métodos ágeis enfatizam comunicações em tempo real. A maioria dos componentes de um grupo ágil devem estar agrupados em uma sala. Isto inclui todas as pessoas necessárias para terminar o software. Isto inclui os programadores, clientes que definiram o produto. Nesta sala devem também se encontrar os testadores, projetistas de iteração, redatores técnicos e gerentes.
Métodos ágeis também enfatizam trabalho no software como uma medida primária de progresso. Combinado com a comunicação real time, métodos ágeis produzem pouca documentação em relação a outros métodos, sendo este um de seus pontos negativos.
Os princípios do desenvolvimento ágil valorizam:
- Garantir a satisfação do consumidor entregando rapidamente e continuamente softwares funcionais;
- Softwares funcionais são entregues frequentemente (semanas, ao invés de meses);
- Softwares funcionais são a principal medida de progresso do projeto;
- Até mesmo mudanças tardias de escopo no projeto são bem-vindas.
- Cooperação constante entre pessoas que entendem do 'negócio' e desenvolvedores;
- Projetos surgem através de indivíduos motivados, e que deve existir uma relação de confiança.
- Design do software deve prezar pela excelência técnica;
- Simplicidade
- Rápida adaptação às mudanças
- indivíduos e iterações ao invés de processos e ferramentas
- software funcional ao invés de documentação extensa
- colaboração com clientes ao invés de negociação de contratos
- responder a mudanças ao invés de seguir um plano
Comparação com a balbúrdia
A balbúrdia, é a ausência de método de definição: os membros da equipe fazem o que eles sentem que é correto. Os desenvolvedores ágeis freqüentemente reavaliam os planos, enfatizam a comunicação face a face e o uso relativamente esparso de documentos levando ocasionalmente as pessoas a confundirem isto com codificação cowboy. Equipes ágeis, contudo, seguem o processo definido (e freqüentemente de forma disciplinada e rigorosa).
Como em todas as metodologias, o conhecimento e a experiência dos usuários definem o grau de sucesso ou fracasso de cada atividade. Os controles mais rígidos e sistematizados aplicados em um processo implicam em altos níveis de responsabilidade para os usuários. A degradação de procedimentos bem-intencionados pode levar as atividades a serem caracterizadas como codificação balbúrdia.
Metodologias
A abordagem Scrum, para gestão de projetos ágeis, leva em consideração planejamento não linear, porém de maneira mais exaustiva e está focada em agregar valor para o cliente e em gerenciar os riscos, fornecendo um ambiente seguro. Pode ser utilizada na gestão do projeto aliada a uma metodologia de desenvolvimento como XP, FDD, OpenUP, DSDM, Crystal ou outras.