No modelo Iterativo, o processo iterativo começa com uma simples implementação de um pequeno conjunto de requisitos do software e melhora iterativamente as versões em evolução até que o sistema completo esteja implementado e pronto para ser implantado.
Um modelo iterativo de ciclo de vida não tenta começar com uma especificação completa dos requisitos. Ao invés disso, o desenvolvimento começa especificando e implementando apenas parte do software, que é então revisto para identificar outros requisitos. Este processo é então repetido, produzindo uma nova versão do software no final de cada iteração do modelo.
Modelo iterativo – Design
Processo iterativo começa com uma simples implementação de um subconjunto dos requisitos do software e melhora iterativamente as versões em evolução até que o sistema completo seja implementado. A cada iteração, são feitas modificações no projeto e novas capacidades funcionais são adicionadas. A idéia básica por trás deste método é desenvolver um sistema através de ciclos repetidos (iterativo) e em porções menores de cada vez (incremental).
A ilustração seguinte é uma representação do modelo Iterativo e Incremental –
Desenvolvimento iterativo e Incremental é uma combinação de projeto iterativo ou método iterativo e modelo de construção incremental para desenvolvimento. “Durante o desenvolvimento de software, mais de uma iteração do ciclo de desenvolvimento do software pode estar em curso ao mesmo tempo”. Este processo pode ser descrito como uma abordagem de “aquisição evolutiva” ou “construção incremental”.”
Neste modelo incremental, todo o requisito é dividido em vários builds. Durante cada iteração, o módulo de desenvolvimento passa pelas fases de requisitos, projeto, implementação e teste. Cada liberação subsequente do módulo adiciona função à liberação anterior. O processo continua até que o sistema completo esteja pronto conforme o requisito.
A chave para um uso bem sucedido de um ciclo de vida de desenvolvimento de software iterativo é a validação rigorosa dos requisitos, e verificação &teste de cada versão do software em relação a esses requisitos dentro de cada ciclo do modelo. Conforme o software evolui através de ciclos sucessivos, testes devem ser repetidos e estendidos para verificar cada versão do software.
Modelo iterativo – Aplicação
Como outros modelos SDLC, o desenvolvimento iterativo e incremental tem algumas aplicações específicas na indústria de software. Este modelo é mais frequentemente utilizado nos seguintes cenários –
-
Requisitos do sistema completo são claramente definidos e compreendidos.
-
Requisitos maiores devem ser definidos; no entanto, algumas funcionalidades ou melhorias solicitadas podem evoluir com o tempo.
-
Há um tempo para a restrição do mercado.
-
Uma nova tecnologia está sendo utilizada e está sendo aprendida pela equipe de desenvolvimento enquanto trabalha no projeto.
-
Recursos com as habilidades necessárias não estão disponíveis e estão planejados para serem utilizados com base em contratos para iterações específicas.
-
Existem algumas características e objetivos de alto risco que podem mudar no futuro.
Modelo iterativo – prós e contras
A vantagem deste modelo é que existe um modelo de funcionamento do sistema numa fase muito precoce de desenvolvimento, o que facilita a procura de falhas funcionais ou de design. Encontrar problemas numa fase inicial de desenvolvimento permite tomar medidas correctivas num orçamento limitado.
A desvantagem deste modelo SDLC é que se aplica apenas a projectos de desenvolvimento de software grandes e volumosos. Isto porque é difícil quebrar um pequeno sistema de software em mais pequenos incrementos/módulos úteis.
As vantagens do modelo SDLC Iterativo e Incremental são as seguintes –
-
Algumas funcionalidades de trabalho podem ser desenvolvidas rapidamente e no início do ciclo de vida.
-
Resultados são obtidos cedo e periodicamente.
-
Desenvolvimento paralelo pode ser planejado.
-
Progresso pode ser medido.
-
Menos dispendioso alterar o escopo/requisitos.
-
Teste e depuração durante a iteração menor é fácil.
-
Riscos são identificados e resolvidos durante a iteração; e cada iteração é um marco facilmente gerenciado.
-
Mais fácil de gerenciar riscos – A parte de alto risco é feita primeiro.
-
Com cada incremento, o produto operacional é entregue.
-
Os desafios e riscos identificados a partir de cada incremento podem ser utilizados/aplicados ao próximo incremento.
-
Análise de risco é melhor.
-
Apoia a mudança de requisitos.
-
O tempo de operação inicial é menor.
-
Melhor adequado para projetos grandes e de missão crítica.
-
Durante o ciclo de vida, o software é produzido mais cedo, o que facilita a avaliação e o feedback do cliente.
As desvantagens do Modelo SDLC Iterativo e Incremental são as seguintes –
-
Mais recursos podem ser necessários.
-
Embora o custo de mudança seja menor, mas não é muito adequado para mudar os requisitos.
-
Mais atenção gerencial é necessária.
-
Sistema arquitetura ou questões de design podem surgir porque nem todos os requisitos são reunidos no início de todo o ciclo de vida.
-
Definir incrementos pode exigir a definição do sistema completo.
-
Não é adequado para projetos menores.
-
Complexidade de gerenciamento é mais.
-
Final do projeto pode não ser conhecido o que é um risco.
-
Requisitos de recursos altamente qualificados para análise de risco.
- >
Progresso dos projetos é altamente dependente da fase de análise de risco.