Extreme programming
Os métodos ágeis apresentam uma abordagem bastante pragmática para o desenvolvimento de software. Planos detalhados são feitos apenas para a fase atual do projeto. Para fases futuras, os planos são considerados apenas rascunhos que podem se adaptar a mudanças conforme o time aprende e passa a conhecer melhor o sistema e as tecnologias utilizadas.
Neste artigo são apresentadas algumas evidências que motivaram o surgimento dos métodos ágeis, explicando seus valores e princípios, com ênfase na Programação Extrema, um dos métodos ágeis que mais recebeu atenção nos últimos anos.
Evidências
No desenvolvimento de software, é comum que os requisitos mudem enquanto a implementação ainda está acontecendo. Kajko-Mattson et al. mostram que cerca de 40% a 90% do custo durante o ciclo de vida de um projeto é gasto na fase de manutenção [1]. Muitas empresas e times de desenvolvimento acham que mudanças são indesejáveis, pois acabam com todo o esforço gasto no planejamento. No entanto, os requisitos geralmente mudam conforme o cliente vê o sistema sendo implantado e em funcionamento. É muito difícil criar um plano no início do projeto que consiga prever todas as mudanças sem gastar muito esforço, tempo e dinheiro.
Boehm chegou a afirmar que “encontrar e arrumar um defeito no software após a entrega custa cerca de 100 vezes mais do que encontrá-lo e arrumá-lo nas fases iniciais de design” [2]. Essa foi uma das principais justificativas para os métodos tradicionais gastarem mais tempo nas fases de análise de requisitos e design, apesar do próprio Boehm ter sugerido o desenvolvimento iterativo ao invés da “produção do