2. O que é?
• O desenvolvimento iterativo e incremental é um
processo de desenvolvimento cíclico
!
• Os 2 padrões mais conhecidos de sistemas
iterativos de desenvolvimento são o RUP
(Processo Unificado da Rational) e o
Desenvolvimento ágil de software.
3. Por que foi criado?
• Foi criado em resposta às fraquezas do modelo
em cascata, o mais tradicional.
4. Linhas básicas para direcionar a implementação e
análise incluem:
• Qualquer dificuldade no projeto, codificação e teste de uma modificação deve ser sinalizada
para que possa ser re-projetada ou recodificada.
• Modificações devem ser ajustadas facilmente em módulos isolados e fáceis de encontrar. Se
não atendem a isso, algum re-projeto deverá ser necessário.
• Modificações de tabelas devem ser especialmente fáceis de fazer. Se qualquer modificação
não é rápida e fácil de ser feita, indica-se a realização de um re-projeto.
• Modificações devem ser fáceis para serem feitas na forma de iterações. Se elas não são,
haverá um problema básico tal como um projeto falho ou uma proliferação de correções.
• Correções devem normalmente ser permitidas por somente uma ou duas iterações. Correções
devem ser necessariamente para evitar re-projeto durante uma fase de implementação.
• A implementação existente deve ser analisada freqüentemente para determinar quão bem
estão sendo atingidos os objetivos do projeto.
• As ferramentas de análise de programa devem ser usadas sempre que necessário para ajudar
na análise de implementações parciais.
• Reclamações do usuário devem ser solicitadas e analisadas para registrar as deficiências da
implementação atual.
5. Base para algumas
metodologias
• Extreme Programming
• Scrum
• Kanban
• Lean
• E outras
6. Quais as principais
vantagens?
• Desenvolver software incrementalmente, permitindo aprender e
corrigir as versões entregues anteriormente.
• Análise antecipada de riscos com a integração progressiva do
sistema
• Melhor acomodação de solicitações de mudanças
• Melhor qualidade devido ao refinamento contínuo do produto
• Maior facilidade de aprendizagem e amadurecimento do
processo
• Aumento da reusabilidade
7. Desvantagens
• Durante o processo de desenvolvimento necessita-se adaptar
e refinar o sistema, com isso pode ser que no final saia
totalmente diferente da ideia original;
• Pode acontecer a continuação do sistema e aparacição de
muitos requisitos novos, esse sistema nunca irá terminar. Isso é
chamado de aumento de escopo;
• Gerentes que estão acostumados com a forma linear do
desenvolvimento de um software pode ter alguns problemas na
hora de ir para uma forma mais flexível;
• Inexperiência com a forma de trabalhar do modelo Iterativo
pode levar a problemas posteriores, por isso é necessário certo
conhecimento para começar a usar esse modelo;