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.

building blocks

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?

Iterative Development

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

Uma diferença importante é se você especifica os requisitos de forma antecipada (incremental) ou os descobre ao construir seu produto (iterativo).

Outra diferença importante é o foco na separação de partes do produto. O design modular é uma característica central do desenvolvimento incremental, mas não do desenvolvimento iterativo.

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.

O resumo do processo combinado é simples. Comece pequeno, divida em módulos funcionais, descubra os requisitos por módulo, faça testes, revisões e itere.

Funciona bem em praticamente qualquer processo criativo.

Portanto, não hesite em obter o melhor dos dois mundos para qualquer um de seus projetos, no trabalho ou em casa.

Desenvolvimento Iterativo e Incremental

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.

Solicitar Demonstração