Agile e Waterfall
3
0

Agile e Waterfall

A metodologia de gerenciamento escolhida para o projeto é ponto chave para o desenvolvimento de uma solução. Reconhecer a metodologia que melhor se encaixa com o projeto a ser desenvolvido ajuda a reduzir problemas de comunicação, atrasos, re...

Lucas
4 min
3
0

A metodologia de gerenciamento escolhida para o projeto é ponto chave para o desenvolvimento de uma solução. Reconhecer a metodologia que melhor se encaixa com o projeto a ser desenvolvido ajuda a reduzir problemas de comunicação, atrasos, redução de custos e tornar o projeto mais fluido.

Os métodos mais utilizados são a metodologia Waterfall e a metodologia Agile. Por mais que as duas busquem simplificar e ajudar no processo de gerenciamento de projeto, elas atuam de formas diferentes.

Na metodologia Waterfall, ou cascata, os processos seguem uma linha sequencial e com várias etapas pré-definidas. Só é possível avançar para a próxima etapa quando a atual for concluída, e uma vez que a etapa for concluída, não é possível voltar a uma etapa anterior. Querer voltar ou avançar etapas compromete parcialmente ou o projeto como um todo.

Cada empresa possui o seu conjunto de estágios para a implementação em cascata, mas normalmente é composto por oito: Concepção, Iniciação, Análise, Design, Codificação, Teste, Implementação e Manutenção.

Concepção: Etapa em que a equipe define a ideia e o que desejam construir. É feita a análise de custo-benefício e a estimativa de todo o projeto.

Análise: São feitos os testes de viabilidade dos requisitos levantados até o momento para tornar a documentação mais detalhada.

Design: Os designers começam a desenvolver o storyboard e modelos para obter uma representação visual do produto. Os requisitos são revisados e avaliados para obter uma arquitetura de software mais claro.

Codificação: Fase em que se inicia a construção do software. A criação começa com base nos designs e processos estabelecidos anteriormente.

Teste: Etapa em que o software é testado para garantir que não possui erros. Geralmente envolve alguns retrabalhos para corrigir problemas que surgiram.

Implementação: O produto finalizado é entregue aos consumidores e lançado no mercado.

Iniciação: É feita a documentação das necessidades do projeto, com todos os requisitos do software e sistema.

Manutenção: É necessário criar uma estrutura de suporte para corrigir possíveis problemas e erros que podem ocorrer com o contato com o mercado.

Já a metodologia Agile, surgiu como uma alternativa para o modelo cascata. No lugar de um modelo mais rígido e sequencial, possui uma abordagem mais incremental e flexível. O foco está principalmente em um desenvolvimento mais enxuto e na criação de produtos mínimos viáveis com durações específicas, oferecendo melhorias a cada interação.

Ao utilizar a metodologia Agile, o gerente do projeto consegue fazer mudanças ou correções durante o processo. A cada etapa os resultados são apresentados e, se for necessário correções, elas são feitas de forma mais dinâmica.

Todas as metodologias de desenvolvimento Agile, as mais conhecidas são o Scrun e Kanban, possuem princípios básicos que ajudam a refinar o projeto:

  • Desenvolvimento enxuto: busca tornar o produto o mais direto possível, seguindo as etapas mais fáceis e diretas tirando o máximo de valor possível.
  • Trabalho em equipe: os times estão sempre trabalhando em conjunto e em busca de melhorias para o produto e para a eficiência do grupo.
  • Foco no cliente: devido a natureza de ser dinâmico e fazer alterações, é necessário uma comunicação efetiva entre a equipe e os clientes. Buscando sempre feedbacks de forma contínua e com muita atenção aos pontos levantados.
  • Testes: são realizados em todas as etapas do projeto, diferente do modelo cascata.
  • Adaptabilidade: é possível alterar pontos no meio do desenvolvimento conforme a necessidade, desde requisitos, arquiteturas a entregas e design.

Os dois métodos apresentam vantagens e desvantagens, então o contexto do produto deve ser avaliado para escolher qual deve ser aplicado.

Enquanto o método Waterfall recebe críticas por ser rígido, a execução bem desenhada torna as datas e custos previsíveis para o cliente saber o que esperar das entregas. Com as etapas bem definidas e documentadas, os registros podem ser consultados para futuras melhorias e conferir o que já foi testado. A realidade é que, em muitos casos, os clientes e stakeholders não sabem o que é necessário ser desenvolvido até que consigam interagir com um protótipo por um tempo.

Já a metodologia Agile permite que mudanças sejam feitas depois do começo do projeto conforme a necessidade. Por ser baseada em ciclos pequenos de desenvolvimento e entregas, o cliente consegue visualizar e interagir com o produto. O principal problema encontrado é manter a equipe motivada e engajada para evitar procrastinação e realizar todos os rituais conforme a necessidade.