Agile - Introdução

Metodologias Ageis
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.

Modelo Tradicional (Cascatas)
Modelo Tradicional (Cascatas)
Fonte: Gomes

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):
  1. Indivíduos e a interação entre eles mais que processos e ferramentas;
  2. Software em funcionamento mais que documentação abrangente;
  3. Colaboração com o cliente mais que negociação contratual;
  4. 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.

Scrum, XP, Kanban
Métodos Ágeis

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 e adaptativo
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