Diferença entre metodologia de cachoeira e RUP
Metodologia de cachoeira vs RUP
Existem várias metodologias de desenvolvimento de software usadas hoje na indústria de software. O método de desenvolvimento de cachoeira é um dos primeiros métodos de desenvolvimento de software. A metodologia de desenvolvimento de software Waterfall é um modelo seqüencial em que cada fase é completada na íntegra e seguiu em uma ordem fixa. RUP (Rational Unified Process) é uma estrutura de processo adaptável de metodologias de desenvolvimento de software iterativo. O RUP aborda várias críticas ao desenvolvimento da cachoeira, como a rigidez.
O que é Waterfall Methodology?
A metodologia Waterfall é um dos primeiros modelos de desenvolvimento de software. Como o nome sugere, é um processo seqüencial em que o progresso flui através de várias fases de cima para baixo, análogo a uma cachoeira. As fases do modelo Waterfall são análise de requisitos, design, desenvolvimento, teste e implementação. Os analistas de negócios (ou os programadores se são uma organização pequena) conduzem a fase de análise obtendo os requisitos de sistema e negócios do cliente do projeto. Então, os arquitetos de software (ou desenvolvedores de software sênior) apresentam documentos de design que descrevem a estrutura e os componentes do sistema proposto. Em seguida, os desenvolvedores mais novos fazem a codificação usando os documentos de design. Após a conclusão do desenvolvimento, o produto é entregue à equipe de testes para testes e processos de verificação. Finalmente, o produto é implementado (ou integrado) no site do cliente e o projeto está desconectado. É importante notar aqui que cada fase está totalmente concluída antes de passar para a próxima fase. Este modelo foi um resultado direto da simples adaptação do método de desenvolvimento orientado por hardware (encontrado nas indústrias de fabricação e construção), na época não havia um modelo formal para desenvolvimento de software.
O que é RUP?
RUP pertence à família de metodologias de desenvolvimento de software iterativo. Foi desenvolvido pela Rational Software Corporation (da IBM) em 2003. É, na verdade, uma estrutura de processo adaptável (não um único processo concreto), que pode ser personalizado pela organização de desenvolvimento de acordo com suas necessidades. Ligeiramente semelhante à cachoeira, tem fases fixas como o início, elaboração, construção e transição. Mas ao contrário da cachoeira, o RUP é um processo iterativo. As três estratégias capturadas pelo RUP são um processo personalizável que orienta desenvolvimento, ferramentas automatizadas para acelerar o processo e serviços que ajudam a adotar processos e ferramentas de forma mais rápida. Essas estratégias internos capturam as seis melhores práticas de engenharia de software (desenvolvimento iterativo, gerenciamento de requisitos, arquitetura baseada em componentes, modelos de software visual, verificação contínua e gerenciamento de mudanças).
Qual a diferença entre metodologia de cachoeira e RUP?
Embora a metodologia Waterfall e RUP definiram fases fixas, existem diferenças importantes entre esses dois modelos. A principal dúvida é que, enquanto a metodologia Waterfall é claramente um processo seqüencial com etapas prescritas em que a fase atual é completada antes de ir para a próxima fase, o RUP é um processo iterativo. Ao contrário da metodologia de cachoeira, a RUP desenvolve o produto em várias etapas com base nos comentários dos acionistas. Como cada iteração RUP produz uma versão executável, os clientes conseguem realizar benefícios muito antes da Cachoeira. Finalmente, a metodologia Waterfall é um processo concreto prescritivo, enquanto o RUP é uma estrutura adaptável de processos de software.