Manifesto Agile |
As metodologias ágeis surgiram nos canais do desenvolvimento de software, no entanto atualmente podem ser aproveitadas a qualquer tipo de projeto. Elas vêm auxiliando a afrontar as imprevisibilidades de um projeto por meio de entregas incrementais e ciclos iterativos, e passaram a ser uma alternativa aos métodos tradicionais.
Os métodos ágeis procuram gerar um artifício de gerenciamento de projetos que estimula a fiscalização e adequação frequente. É uma filosofia que acaba por estimular o maior trabalho em equipe, a auto-organização, a comunicação frequente, o foco no cliente e a entrega de valor. Fundamentalmente, os artifícios ágeis são um conjunto de exercícios eficazes que se destinam a permitir a entrega rápida e de alta qualidade do produto, tendo um enfoque de negócios que alinha o desenvolvimento do projeto com as necessidades do cliente e os objetivos da empresa.
Métodos Tradicionais
Os processos tradicionais ou em cascatas, que eram amplamente utilizados, assumem que o desenvolvimento de software pode ser concretizado através de uma sequência de atividades facilmente identificadas, previsíveis e repetíveis.
O processo cascata costuma ser realizado através de fases de análise de requisitos, projeto (design), implementação, testes, integração e manutenção, de forma que uma etapa é começada apenas quando a anterior termina. O termo foi originado em um artigo publicado por Royce, onde o mesmo descreveu o método como arriscado e propenso a falhas.
O Manifesto Ágil
Em fevereiro de 2001, um grupo de profissionais do desenvolvimento de software reuniu-se para discutir melhores maneiras de desenvolver software. Esse encontro deu origem ao manifesto ágil e os seus quatro valores, segundo Gomes (p. 03):
- Indivíduos e a interação entre eles mais que processos e ferramentas;
- Software em funcionamento mais que documentação abrangente;
- Colaboração com o cliente mais que negociação contratual;
- Responder a mudanças mais que seguir um plano.
Gomes (p. 03) destaca que o manifesto valoriza mais os valores a esquerda (os valores em destaque), porém o da direita também é importante e relevante. Além desses quatro valores, o manifesto é composto por doze princípios:
- Nossa maior prioridade é satisfazer o cliente através da entrega contínua e adiantada de software com valor agregado.
- Mudanças nos requisitos são bem-vindas, mesmo tardiamente no desenvolvimento. Processos ágeis tiram vantagem das mudanças visando vantagem competitiva para o cliente.
- Entregar frequentemente software funcionando, de poucas semanas a poucos meses, com preferência à menor escala de tempo.
- Pessoas de negócios e desenvolvedores devem trabalhar diariamente em conjunto por todo o projeto.
- Construa projetos em torno de indivíduos motivados. Dê a eles o ambiente e o suporte necessário e confie neles para fazer o trabalho.
- O método mais eficiente e eficaz de transmitir informações para e entre uma equipe de desenvolvimento é através de conversa face a face.
- Software funcionando é a medida primária de progresso.
- Os processos ágeis promovem desenvolvimento sustentável. Os patrocinadores, desenvolvedores e usuários devem ser capazes de manter um ritmo constante indefinidamente.
- Contínua atenção à excelência técnica e bom design aumenta a agilidade.
- Simplicidade - a arte de maximizar a quantidade de trabalho não realizado - é essencial.
- As melhores arquiteturas, requisitos e designs emergem de equipes auto organizáveis.
- Em intervalos regulares, a equipe reflete sobre como se tornar mais eficaz e então refina e ajusta seu comportamento de acordo.
O manifesto não foi uma reação apenas aos métodos tradicionais e burocráticos, mas também foi uma reação aos métodos caóticos que resultavam em produtos de baixa qualidade. Os métodos ágeis representam, justamente, um meio termo entre métodos estruturados demais e métodos sem estrutura, são o meio termo entre a ordem e o caos.
Métodos Ágeis
O manifesto ágil é o embasamento filosófico de todos os métodos ágeis e diversos métodos de desenvolvimento de software estão alinhados a ele. A maioria deles se utiliza de ciclos breves, que são apelidados de iterações e normalmente têm duração de poucas semanas, dessa forma garantindo feedback frequente e respostas rápidas às mudanças.
A iteração contém as etapas necessárias para que se realize um incremento no produto, ou seja, no software: planejamento, análise, design, codificação, testes e documentação. Em métodos tradicionais, geralmente se encontra um processo em cascata em que todas as etapas são executadas uma única vez e em sequência.
O Scrum, por exemplo, apresenta uma abordagem mais voltada para a gestão, com maior foco nas reuniões, no planejamento e na melhoria contínua. Já o XP (eXtreme Programming), traz maior enfoque nas práticas técnicas.
Métodos ágeis admitem imprevisibilidade natural do desenvolvimento de software, por isso, considera-se que o cliente está aprendendo sobre o que necessita e que a cada feedback pode mudar de ideia e modificar o escopo do projeto. Assume-se que estimativas de esforço e tempo de desenvolvimento são, de fato, estimativas e não devem ser tratadas como algo certo e sem margem de erro.
Por assumir a imprevisibilidade envolvida no desenvolvimento de software, métodos ágeis se baseiam nos ciclos de feedback constante, permitindo que o cliente e a equipe de desenvolvimento possam adaptar-se às mudanças, aumentando as chances de sucesso do projeto.
É claro que desenvolvimento ágil não é a única forma de se afrontar o desenvolvimento de software, nem é a única maneira eficiente. Nenhuma tecnologia ou técnica de gestão resolve todos os problemas de todos os contextos. Não há bala de prata.
Métodos Prescritivos e Adaptativos
Métodos ágeis são adaptativos ao invés de prescritivos, por isso, estimulam a melhoria contínua através de ciclos, inspeção e adaptação. Esse é o motivo pelo qual métodos ágeis utilizam processos empíricos, em vez de prescritivos.
Enquanto processos empíricos são adequados para domínios mutáveis e com alto nível de modificações, processos prescritivos são indicados para atividades ordenadas que possam ser alcançadas através de uma série de passos.
Métodos mais e menos prescritivo |
Quanto mais prescritivo um método for, mais específico para um determinado tipo de contexto ele será. Porém, quanto mais adaptativo, maior será sua aderência e flexibilidade para que seja otimizado com maior eficácia em situações diferentes.
O que você aprendeu
Este artigo serviu para introduzir o leitor ao conceito de métodos ágeis e mostrar que o método ágil não veio para substituir o método tradicional, mas sim para ser uma alternativa do mesmo. Citamos também os quatro valores e os doze princípios do manifesto. Especificamente, você aprendeu:
- O que é manifesto ágil.
- Porque o manifesto ágil foi criado.
- O que são métodos ágeis.
- Alguns exemplos de métodos ágeis.
- Os quatro valores e os doze princípios do manifesto.
- Métodos ágeis são adaptativos e empíricos.
Continua em
Referência Bibliográfica
GOMES, A. F. Agile - Desenvolvimento de Software com entregas frequentes e foco no valor de negócio. 01. ed. São Paulo: Casa do Código. 208 p.
Para citar esse artigo:
Comentários
Postar um comentário