SDLC - Modelo de Cachoeira
O modelo em cascata é um modelo SDLC clássico amplamente conhecido, compreendido e comumente usado. Foi introduzido por Royce em 1970 e ainda está sendo seguido como uma abordagem comum para o desenvolvimento de software em várias organizações em todo o setor.
No modelo em cascata, cada fase do ciclo de vida pode começar somente após a conclusão da fase anterior do ciclo de vida. Portanto, é um modelo linear sem ciclos de feedback.
Modelo em cascata - pontos fortes
Os pontos fortes do modelo em cascata são -
- Fácil de entender, fácil de usar.
- Fornece estrutura para equipe de desenvolvimento inexperiente.
- Marcos são bem compreendidos.
- Define a estabilidade dos requisitos.
- Ideal para controle de gestão (planejamento, monitoramento, relatórios).
- Funciona bem quando a qualidade é mais importante do que custo ou cronograma.
Modelo em cascata - Fraquezas
As fraquezas ou desvantagens do modelo em cascata são -
Idealizado - Não condiz bem com a realidade.
Irrealista - não pode esperar requisitos precisos no início do projeto.
Não reflete a natureza iterativa do desenvolvimento exploratório que é mais comum.
Difícil e caro de fazer alterações.
O software é entregue somente no final do projeto. Devido a isso -
Atrasa a descoberta de defeitos graves.
Possibilidade de entrega de requisitos obsoletos.
Sobrecarga de gerenciamento significativa, que pode ser cara para pequenas equipes e projetos.
Requer recursos experientes em todas as fases - analistas, designers, desenvolvedores, testadores.
O teste começa somente depois que o desenvolvimento é concluído e os testadores não estão envolvidos em nenhuma das fases anteriores.
A expertise das equipes multifuncionais não é compartilhada, pois cada fase é executada em silos.
Quando usar o modelo de cachoeira?
Você pode usar o modelo em cascata se -
Os requisitos são muito conhecidos.
A definição do produto é estável.
A tecnologia é bem compreendida.
Nova versão de um produto existente.
Portando um produto existente para uma nova plataforma.
Grande organização com equipes multifuncionais estruturadas.
Os canais de comunicação estão bem estabelecidos dentro da organização e também com o cliente.
Modelo de Prototipagem Evolutiva
No desenvolvimento de software usando o modelo de Prototipagem Evolutiva, os desenvolvedores constroem um protótipo durante a fase de requisitos. Os usuários finais avaliam o protótipo e fornecem feedback. O feedback pode ser correções para o protótipo ou funcionalidade adicional. Com base no feedback, os desenvolvedores refinam ainda mais o protótipo.
Assim, o produto evolui através do Protótipo → Feedback → Ciclos de Protótipo Refinado e daí o nome Prototipagem Evolutiva. Quando o usuário está satisfeito com a funcionalidade e funcionamento do produto, o código do protótipo é trazido aos padrões exigidos para a entrega do produto final.
Modelo de Prototipagem Evolutiva - Pontos Fortes
Os pontos fortes ou as vantagens de um modelo de Prototipagem Evolutiva são -
Os clientes / usuários finais podem visualizar os requisitos do sistema à medida que são reunidos olhando para o protótipo.
Os desenvolvedores aprendem com os clientes e, portanto, sem ambigüidades em relação ao domínio ou ambiente de produção.
Permite design e desenvolvimento flexíveis.
A interação com o protótipo estimula a consciência da funcionalidade adicionalmente necessária.
Requisitos inesperados e mudanças de requisitos são facilmente acomodados.
Sinais constantes e visíveis de progresso são produzidos.
Entrega de um produto final preciso e sustentável.
Modelo de Prototipagem Evolutiva - Pontos Fracos
As fraquezas ou desvantagens do modelo de Prototipagem Evolutiva são as seguintes -
Tendência de abandonar o desenvolvimento estruturado no desenvolvimento de código e correção, embora não seja o que é prescrito pelo modelo.
Este modelo recebeu má reputação pelos métodos rápidos e sujos.
A manutenção geral pode possivelmente ser negligenciada.
O cliente pode eventualmente solicitar a entrega do protótipo como final, não dando aos desenvolvedores a oportunidade de executar a etapa final, ou seja, a padronização do produto final.
O projeto pode continuar para sempre (com aumento contínuo do escopo) e a gerência pode não apreciar isso.
Quando usar o modelo de prototipagem evolucionária?
Você pode usar o modelo de Prototipagem Evolutiva -
- Quando os requisitos são instáveis ou precisam ser esclarecidos
- Como o estágio de esclarecimento de requisitos de um modelo em cascata
- Para desenvolver interfaces de usuário
- Para demonstrações de curta duração
- Para desenvolvimento novo ou original
- Para implementar uma nova tecnologia