Os projectos de desenvolvimento de software são normalmente abordados com a utilização alternativa de dois métodos, o Waterfall ou o Agile. Ambos têm prós e contras e cada um tem defensores que salientam o valor da sua abordagem preferida. \
Vamos analisar ambos os métodos e tentar compreender qual é o melhor e sob que circunstâncias respondem à questão: Como escolher a abordagem do meu desenvolvimento de Software?
O método de Waterfall (ou de Cascata)
O método de Waterfall já é usado desde 1970 e continua a ser o mais comum. Afirma que deve ser seguido um conjunto distinto de passos através do ciclo de vida do projecto. Os passos são usualmente similares a estes:
- · Análise de Requisitos
- · Desenho
- · Implementação
- · Teste
- · Instalação
- · Manutenção
A razão pela qual é denominado o método de Waterfall (cascata) é por que cada etapa decorre a partir da prévia quando esta se conclui, descendo como uma cascata. Como uma casta flui para baixo e nunca para cima. Este método é muitas vezes considerado como «mais seguro».
O método funciona bem em ambientes comerciais em que os contratos são assinados e o dinheiro é pago. Contudo. Quando se trabalha para clientes internos, é mais difícil fazer má cara a mudanças de última hora quando são as pessoas da organização que as pedem e muitas vezes com o apoio da gestão de topo.
Prós | Contras |
Documentação detalhada | Início lento. |
Requisitos acordados e assinados. | Requisitos fixos difíceis de mudar. |
Pode ser desenvolvido com programadores com conjunto de competências mais baixo. | Não há visibilidade do software para o cliente até que o desenvolvimento esteja concluído. |
Número reduzido de defeitos através de um planeamento do desenho. | Falta de flexibilidade tornando difícil mudar de direcção. |
Pontos de início e de fim definidos para cada fase, permitindo que o progresso possa ser facilmente medido | Os Clientes não estão inicialmente conscientes dos requisitos. |
Método Agile
O método Agile refere-se a uma abordagem iterativa a projectos, em que os requisitos e soluções evoluem através da colaboração entre clientes e equipas de desenvolvimento. O termo está ligado a 2001 quando foi lançado o «Agile Manifesto».
Se o gestor do projecto está receoso de cometer erros frente ao cliente este não é o melhor método a adoptar. O método Agile significa que criamos resultados o mais cedo possível e vamos refinando-os através diversas iterações com o cliente. Contudo, verifica-se que alguns stakeholders encaram negativamente esta abordagem.
Assim, será que o método Agile conduz a uma mais rápida entrega de resultados? Só porque conseguimos começar a programar mais cedo não significa necessariamente que iremos terminar mais cedo. Mas, garante que o resultado final vai de encontro às expectativas e necessidades do cliente, por que , principalmente, ele consegue oferecer válidos inputs durante toda a fase desenvolvimento.
Prós | Contras |
Início rápido, releases incrementais e revisões regulares e feedback do cliente. | Pode ser mal interpretado como não planeado ou indisciplinado. |
Evolução dos requisitos ao longo do tempo. | Exige uma equipa de alta qualidade que possa enfrentar o cliente. |
Capacidade de resposta rápida à mudança. | Necessita de um envolvimento de alto nível por parte do cliente. |
Menor trabalho repetido alcançado através de teste continue envolvimento do cliente. | Falta de planos detalhados de longo prazo. |
Comunicação em tempo real entre o desenvolvimento e o cliente. | Produz documentação de baixo nível. |
Conclusão
Então qual é o melhor método, Waterfall ou Agile?
Nenhum…
O método que usamos depende de vários factores, tais como:
Tipo de trabalho: há um resultado claramente definido? O desenvolvimento de sites da web é criativo e adere com facilidade ao método Agile. Já o desenvolvimento de sistemas de transacções, onde existe um resultado claramente definido adapta-se melhor ao método Waterfall.
Tipo de cliente: será que o cliente está disposto a trabalhar de forma iterativa, terão tempo suficiente para rever e comentar as iterações regulares?
Ponto de vista do gestor: Será que ele favorece um método relativamente ao outro. Até que ponto é ele adaptável?
Apreciação das TI na organização: as TI são vistas como um parceiro valioso ou um mal necessário? Se o ponto de vista é o último, então utilize o método de Waterfall.
Cliente externo ou interno: o seu cliente é externo ou interno? O método Waterfall funciona bem com clientes externos para os quais é normal existir um contrato assinado, pelo contrário com os clientes internos podem forçar mudanças com base no suporte da gestão de topo.
O gestor de projecto deve seleccionar o método que melhor satisfaça as necessidades dos utilizadores. O problema surge quando existem diferenças de opinião. Neste caso, escolha o método que irá realizar o melhor resultado e faça a gestão dos desacordos.
No fim ambos os métodos podem realizar o projecto. O segredo está na gestão das expectativas do cliente e na realização de um produto de qualidade. A realidade é que quando se chega ao fim da viagem, já ninguém se importa como é que lá se chegou.
LQ