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