Desenvolvimento Iterativo e Incremental
Agile 101
Desenvolvimento Iterativo e Incremental: Recuse Escolher
Desde que você se juntou a uma equipe Agile, sua cabeça tem girado com todo o jargão que todos continuam lançando em você.
Você tem pesquisado até os dedos e agora já sabe muito mais do que antes, mas é difícil decorar todas elas.
Então, vamos endireitar duas delas neste artigo: desenvolvimento iterativo e incremental.
Continue lendo, e você aprenderá o que eles são, suas vantagens e desvantagens, suas diferenças, e como eles se encaixam na metodologia Agile.
O que é Desenvolvimento Incremental?
No desenvolvimento incremental, você projeta primeiro o produto completo. Você só deixa de fora detalhes que você pode decidir com segurança mais tarde. Em seguida, você o corta em pedaços e constrói cada um separadamente. Quando você termina um pedaço, também conhecido como módulo, você o integra com partes previamente concluídas para que elas funcionem como um todo.
O desenvolvimento incremental puro significa a substituição de um único projeto de cascata por muitos, um para cada módulo. Para ter um software funcionando mais cedo, você pode dividir ainda mais o trabalho de um módulo em iterações. Isso também ajudará a manter a acumulação de defeitos sob controle.
Note que o projeto durante a implementação está limitado aos detalhes que o projeto geral completo deixou de fora.
Quais São os Benefícios do Desenvolvimento Incremental (E Suas Desvantagens)?
Os benefícios do desenvolvimento incremental incluem:
-
Entregar o software funcionando antecipadamente: com o primeiro módulo completo (iteração).
-
Desenvolvimento paralelo. Múltiplos módulos podem ser trabalhados por diferentes equipes.
-
Os módulos podem ser completados em momentos diferentes.
-
Separação de preocupações. Cada módulo é um pedaço autônomo do produto.
-
Adaptável a mudanças no escopo. Os módulos podem ser adicionados ou descartados do produto.
-
Os riscos podem ser identificados e tratados por módulo.
As desvantagens do desenvolvimento incremental incluem:
-
Todos os requisitos precisam ser conhecidos para decompor o produto em módulos.
-
Não são tão adaptáveis a mudanças nas exigências, a menos que combinadas com o trabalho em iterações.
-
O produto não estará completo até que cada peça esteja no lugar.
-
Fazer com que as peças trabalhem juntas requer esforço extra e pode ser um desafio.
O que é Desenvolvimento Iterativo?
O desenvolvimento iterativo é muito parecido com inventar: descobrir o que e como você precisa à medida que você avança.
Você começa com uma ideia justa do que você quer que o produto realize e usa um processo de aproximação sucessiva para projetá-lo e construí-lo.
Você começa projetando, construindo e testando a menor versão do que você tem em mente. Quando você está feliz, você o mostra e coleta feedback de todos que têm interesse no produto.
Essa é uma aproximação. E uma iteração.
Se o que você criou foi bem recebido, você o mantém e o expande na próxima iteração. Se o que você criou foi mal recebido, você o descarta e volta para o projeto.
Quais São os Benefícios do Desenvolvimento Iterativo (E Seus Desvantagens)?
Os benefícios do desenvolvimento iterativo incluem:
-
Software funcional desde o início.
-
Fornece valor comercial com cada iteração.
-
Adaptável a mudanças nos requisitos durante todo o desenvolvimento.
-
O esforço de design é gasto apenas para o que será construído em seguida.
-
Capacidade de corrigir com cada iteração.
-
Funciona bem com clientes que precisam de alguma coisa para descobrir o que precisam.
-
Gerenciamento de risco mais fácil e simples. Os riscos podem ser identificados e tratados a cada iteração.
Os inconvenientes do desenvolvimento iterativo incluem:
-
A arquitetura do sistema precisa de uma atenção proativa e pode exigir mudanças fundamentais ao longo do caminho.
Qual é a Diferença Entre Desenvolvimento Iterativo e Incremental
Como o Desenvolvimento Iterativo e Incremental se encaixa na Metodologia Agile
É bastante claro como o desenvolvimento iterativo se encaixa com os valores do Manifesto Ágil. E seria insensato não envolver seus clientes em cada iteração.
O desenvolvimento incremental não se encaixa tão bem com os valores. Mas é difícil imaginar ser responsivo a mudanças quando seu software não é modular. A modularidade, a separação das questões e a limitação das dependências são fatores centrais para o desenvolvimento incremental. Eles permitem que você faça as correções de curso que saem do processo iterativo.
Em resumo, em um cenário Agile, você encontrará um processo que combina o melhor dos dois mundos.
Obtenha o Melhor de Ambos os Mundos
Agora você sabe o que é o desenvolvimento iterativo e o incremental. E você sabe porque a Metodologia Agile os combina. Portanto, não se preocupe muito com a terminologia. É provável que você esteja praticando os dois.
A vida é boa quando suas equipes Agile estão sincronizadas!
Contate-Nos hoje para uma demonstração personalizada do SwiftEnterprise! Ou inscreva-se para atualizações abaixo.
