Sabemos que o Método Waterfall é utilizado nas engenharias para o desenvolvimento de projetos. Ele é composto por elementos sequenciais, ou seja, o fluxo do projeto proposto inicialmente não deve ser alterado conforme as fases avançam.
Quais são os empecilhos que o Waterfall pode trazer ao desenvolver um Software?
Ao longo do Processo de desenvolvimento do Software as coisas mudam através de feedbacks do cliente, promovendo uma alteração no fluxo estabelecido inicialmente, sendo que no Modelo Waterfall isso não seria possível de fazer, já que cada fase está muito bem estabelecida.
Resumindo:
A engenharia de Software surgiu depois das outras engenharias já existentes e, por ser uma engenharia, ela herdou o mindset das que vieram antes.
O método de desenvolvimento de projetos usado, chamado de Waterfall, foi herdado de outras engenharias, nas quais cada projeto era dividido em fases que dependiam da fase anterior ser aprovada, tendo um conjunto de requisitos. As fases só avançam, e isso tornava seus clientes satisfeitos.
Um exemplo que aplica o método Waterfall na engenharia civil é o de construção de imóveis: o processo de construção de um imóvel é dividido em fases, como análise do terreno, fundação e pilares de sustentação. Uma vez que uma fase é aprovada e finalizada ela não pode ser alterada.
Porém, para o desenvolvimento de software, esse método herdado de engenharias não era o ideal, porque a cada tarefa concluída eram validadas novas mudanças a partir de feedbacks, o que fazia com que o fluxo fosse alterado.
Para a engenharia de software o método Waterfall já não dava conta das mudanças que ocorriam no meio do caminho. Então ele teve que passar por uma reestruturação para que, depois dos feedbacks de cada tarefa desenvolvida, o fluxo pudesse ser alterado durante o processo de desenvolvimento do projeto.
Fonte: Alura Cursos Online