Modelo de ciclo de vida em cascata: vantagens e desvantagens
Modelo de ciclo de vida em cascata: vantagens e desvantagens

Vídeo: Modelo de ciclo de vida em cascata: vantagens e desvantagens

Vídeo: Modelo de ciclo de vida em cascata: vantagens e desvantagens
Vídeo: O empregado pode recusar fazer uma função que não está no contrato de trabalho? 2024, Novembro
Anonim

O desenvolvimento de software não é como a engenharia tradicional. Uma metodologia é o que é usado pelos desenvolvedores para dividir o trabalho em etapas progressivas gerenciáveis, onde cada uma pode ser revisada para garantir a qualidade. As equipes trabalham em conjunto com o cliente para criar um produto de software finalizado usando uma das metodologias de desenvolvimento de software. Os mais populares são o modelo espiral, cascata ou cascata (Waterfall); RAD, ou Desenvolvimento Rápido de Aplicativos; Modelo Ágil, ou flexível e iterativo, ou modelo iterativo. Existem outras opções, mas neste artigo consideraremos apenas o modelo de ciclo de vida do projeto em cascata, ou cascata, e também exploraremos suas vantagens e desvantagens. Expliquemos imediatamente que é uma sequência de certas etapas, e sua peculiaridade é que a nova etapanão é possível até que o anterior seja concluído.

A história do modelo cascata

Metodologia em sua forma tradicional deixa pouco espaço para mudanças inesperadas. Se a equipe de desenvolvimento não for muito grande e os projetos forem previsíveis, o Waterfall pode garantir que eles sejam concluídos no prazo.

as pessoas discutem
as pessoas discutem

O modelo de desenvolvimento em cascata existe há mais de quarenta anos. Foi descrito pela primeira vez em um artigo de 1970 por W. Royce como um dos primeiros modelos oficiais para o processo de desenvolvimento. Foi descrito como ineficaz para grandes projetos de desenvolvimento de software, mas ninguém proibiu seu uso para pequenos. Quase meio século depois de descoberta, essa técnica ainda é relevante no mundo dos negócios de hoje. Tem sido chamado de modelo obsoleto e é tratado com algum desdém devido à obsolescência da abordagem tradicional de gerenciamento de projetos. Mas Waterfall é uma abordagem útil e previsível se os requisitos forem fixos, bem documentados e claros, se a tecnologia for compreensível e quando o projeto não demorar muito para ser concluído. Nesse caso, o modelo em cascata do ciclo de vida do software pode fornecer um resultado final mais previsível para um determinado orçamento, prazo e escopo de trabalho.

Qual é o modelo de desenvolvimento em cascata?

O modelo Waterfall pode ser descrito como um desenvolvimento linear e sequencial de um projeto, onde os processos se movem constantemente dos requisitos para o design, depois para a implementação, verificação e implantação commanutenção contínua subsequente. Acredita-se que o modelo de ciclo de vida em cascata foi criado graças a W. Royce, embora ele próprio tenha usado um modelo de desenvolvimento iterativo.

Benefícios do Modelo de Ciclo de Vida em Cascata
Benefícios do Modelo de Ciclo de Vida em Cascata

A ênfase principal no desenvolvimento de Waterfall está no planejamento, tempo, metas, orçamentos e, finalmente, na implementação de todo o sistema como uma entidade única. Os principais benefícios aqui são planejamento e implementação simples para frente e para trás.

Descrição do modelo em cascata

Em comparação com outras metodologias, o Waterfall se concentra mais do que outros em um conjunto claro e definido de etapas. O modelo original consistia em cinco etapas. É frequentemente descrito como um modelo de ciclo de vida sequencial linear. Isso significa que segue uma estrutura de fases simples, onde os resultados de cada fase progridem para o próximo nível de desenvolvimento. Os passos principais são:

  1. Colete os requisitos e crie a documentação.
  2. Design e engenharia de sistemas.
  3. Implementação.
  4. Teste e implantação.
  5. Suporte.
Benefícios do Modelo de Ciclo de Vida em Cascata
Benefícios do Modelo de Ciclo de Vida em Cascata

As equipes devem concluir toda a etapa antes de passar para a próxima, portanto, se algo não estiver pronto em um determinado prazo, isso se tornará imediatamente perceptível. Além disso, ao contrário do Six Sigma ou Scrum, o Waterfall não exige certificação ou treinamento especial para gerentes de projeto ou funcionários.

Crítica ao modelo cascata

Modelo em cascata do ciclo de vida do sistema de informaçãofoi criticado por sua inflexibilidade após a conclusão de cada etapa e por atrasar a capacidade do cliente de fornecer feedback. No entanto, essa metodologia pode funcionar bem para projetos menores com orçamentos limitados. É frequentemente comparado a uma metodologia de ciclo de vida de projeto bem conhecida, PRINCE2, que foi criada pelo governo do Reino Unido. Essa metodologia ainda é utilizada no setor público. Uma das principais diferenças entre o PRINCE2 e o Waterfall Life Cycle Model é que o último requer uma descrição escrita de todos os requisitos desde o início, pois pode ser difícil revisar posteriormente. Antes de começar a criação de qualquer código, eles devem ser definidos e corrigidos com precisão. Esta é uma vantagem importante do modelo de ciclo de vida em cascata.

Prós e contras do modelo cascata

Como a documentação técnica é uma parte necessária da fase inicial de desenvolvimento de requisitos, isso significa que todos os membros da equipe entendem claramente os objetivos do projeto. Novos desenvolvedores podem entender rapidamente as regras de criação de código e ingressar no fluxo de trabalho sem problemas. Ao usar um modelo em cascata do ciclo de vida de um sistema de informação ou projeto, a execução em fases garante a disciplina.

desvantagens do modelo de ciclo de vida em cascata
desvantagens do modelo de ciclo de vida em cascata

Cada etapa tem um ponto de partida e conclusão bem definidos, facilitando o acompanhamento do progresso. Isso ajuda a reduzir qualquer desvio da execução do projeto em relação aos prazos acordados.estrutura. Neste modelo, ao contrário da espiral, o software é considerado como um todo. Portanto, desde que todos os requisitos sejam atendidos, ele funciona com mais eficiência. Se continuarmos comparando os modelos de ciclo de vida em cascata e espiral, podemos concluir que o primeiro é mais universal e pode ser aplicado em diversas áreas.

Fase de negociação de requisitos

Outra vantagem do modelo de ciclo de vida em cascata é que os custos podem ser estimados com um grau bastante alto de precisão, uma vez que todos os requisitos tenham sido identificados. Se for aplicado, significa que na primeira etapa todos os cenários de teste já estão descritos detalhadamente na especificação funcional, o que torna o processo de teste mais simples e transparente. E antes mesmo do desenvolvimento do software, o projeto é trabalhado minuciosamente, o que deixa as necessidades e o resultado claros para todos.

modelo de ciclo de vida em cascata
modelo de ciclo de vida em cascata

Uma das grandes vantagens de usar o Waterfall é buscar o produto final, ou resultado final, desde o início. Portanto, as equipes devem evitar se desviar do alvo. Para projetos menores em que a intenção é bastante clara, essa etapa torna a equipe ciente do objetivo geral desde o início, reduzindo a chance de se perder nos detalhes à medida que o projeto avança. A abordagem da Waterfall é muito metódica, por isso enfatiza a importância de uma comunicação clara em todas as etapas. No processo de desenvolvimento de software, novas pessoas aparecem a cada nova etapa. Portanto, é importante se esforçar paradocumentar informações ao longo do ciclo de vida do projeto.

Desvantagens do modelo de ciclo de vida em cascata

Potenciais problemas de desenvolvimento podem ser investigados e resolvidos durante a fase de projeto. Soluções alternativas também estão sendo elaboradas e as ótimas são selecionadas. Tudo isso acontece antes do início do projeto. Muitas organizações apreciam a atenção à documentação desde o início, pois isso também significa que não deve haver surpresas com o produto final. Mas, na prática, raramente é possível fazer sem fazer alterações. Muitas vezes é difícil para os clientes entenderem suas próprias necessidades em termos de especificação funcional apenas no estágio de requisitos. Isso significa que eles podem mudar de ideia quando veem o produto final. Tal problema é difícil de resolver. Às vezes, um aplicativo precisa ser redesenhado quase completamente.

F alta de flexibilidade no modelo cascata

Outra desvantagem do modelo de ciclo de vida de IP (ou projeto) em cascata é a potencial f alta de flexibilidade. Podem surgir dúvidas para acomodar novas mudanças ou mudanças nos requisitos que ocorreram desde as consultas iniciais.

o modelo de ciclo de vida em cascata é usado
o modelo de ciclo de vida em cascata é usado

Ajustes devido a planos de negócios ou influências de mercado podem não ter sido levados em consideração no planejamento. Além disso, os projetos podem levar mais tempo para serem concluídos em comparação ao uso de uma metodologia iterativa, como Agile.

Pontos importantes ao usar a metodologia cascata

Quando se trata de desenvolver o Waterfall, é muito importante que os desenvolvedores de software possam orientar e aconselhar efetivamente os clientes para contornar todos esses problemas posteriormente. Muitas vezes, o aspecto mais crítico da aplicação do modelo de ciclo de vida em cascata é que os clientes não sabem realmente o que querem. Em muitos casos, a verdadeira interação bidirecional entre desenvolvedores e clientes não ocorre até que o cliente tenha visto o modelo em ação.

modelo em cascata do ciclo de vida do sistema de informação
modelo em cascata do ciclo de vida do sistema de informação

Para comparação, no desenvolvimento Agile, o cliente pode ver fragmentos do código de trabalho que foram criados durante o trabalho no projeto. Ao contrário do Scrum, que divide os projetos em sprints separados, o Waterfall sempre foca no objetivo final. Se sua equipe tem um objetivo específico com uma data de término clara, o Waterfall elimina o risco de perder um prazo quando você está trabalhando nele. Com base nesses prós e contras, o desenvolvimento em cascata geralmente é recomendado para projetos que provavelmente não serão alterados ou que precisam de novo desenvolvimento durante a vida do projeto.

Recomendado: