Qual caminho para progredir? Modelos iterativos e incrementais

Publicados: 2023-10-09

Os modelos iterativos e incrementais estão intimamente relacionados ao Agile, mas às vezes são usados ​​incorretamente de forma intercambiável. Talvez seja porque é difícil encontrar uma definição precisa de qualquer uma das abordagens e também porque ambas tratam de assuntos semelhantes. Neste caso, porém, o diabo está nos detalhes e, embora ambos os modelos abordem a mesma questão, têm significados diferentes. Continue a ler para saber mais.

Modelos iterativos e incrementais – índice:

  1. Modelos iterativos vs. modelos incrementais
  2. As principais diferenças entre modelos iterativos e incrementais
  3. Modelos iterativos e incrementais de desenvolvimento. Qual é melhor?
  4. Resumo

Modelos iterativos e incrementais

Comecemos pelo fato de que ambos os conceitos se referem a um processo que visa a melhoria, mas operam com princípios ligeiramente diferentes. No caso de uma abordagem iterativa, envolve a repetição da mesma atividade, conduzindo em última análise ao seu aprimoramento ou diversificação. Por outro lado, uma abordagem incremental visa aumentar continuamente a quantidade ou valor de algo, com cada elemento sendo minuciosamente refinado desde o início.

Embora neste ponto pudéssemos fornecer um exemplo de equipe de TI ou qualquer outra, a analogia apresentada por Mike Cohn parece ser a mais próxima. Ele comparou o processo iterativo à escultura. Na fase inicial, o escultor tem diferentes pedras para escolher e seleciona aquela cujo formato mais se assemelha ao que deseja criar.

Na etapa seguinte, a tarefa do escultor é dar um contorno geral à pedra, e somente nas etapas seguintes é que começa a surgir uma forma final. Assim, cada etapa leva à finalização do processo, ou seja, à criação da escultura, e cada uma é importante e necessária. No entanto, nenhum deles será considerado completo pelo escultor até que a visão final, ou seja, a escultura acabada, seja criada.

Vamos trazer esta analogia colorida para um processo mais prático – pense em um projeto onde os programadores estão construindo um novo site. Ao trabalhar em um site, os programadores estão imediatamente criando um produto e colocando-o nas mãos dos usuários para que possam testá-lo. No entanto, isso não significa que este seja um produto completo e acabado. Enquanto os usuários o testam, a equipe identifica problemas, procura maneiras de melhorá-lo e planeja a próxima versão. Este processo de fazer melhorias repetidas é chamado de iteração.

O escultor que adotasse o modelo incremental trabalharia de maneira bem diferente. Eles não tratariam cada etapa como um elemento a ser refinado posteriormente, mas criariam a forma final de cada elemento desde o início. O que isto significa? Suponhamos que tal escultor quisesse criar a estátua de um homem. Neste caso, não lhe dariam um contorno ou forma geral, mas concentrar-se-iam imediatamente em criar detalhes perfeitos que não precisariam de ser refinados posteriormente e alcançariam imediatamente a sua aparência final.

Como isso se traduz no trabalho da equipe do projeto? Cada seção ou subgrupo concentra-se em sua tarefa e cria um componente completo do site que possui funcionalidade limitada, mas é finalizado e refinado. Somente quando o trabalho de todos os grupos é combinado é que surge o produto final, composto por todos esses componentes.

As principais diferenças entre modelos iterativos e incrementais

A chave para escolher o modelo que funciona melhor para você é compreender as diferenças entre essas abordagens.

  1. Risco de erro
  2. A abordagem incremental acarreta muitos riscos, pois quaisquer erros ou defeitos potenciais só podem ser descobertos no final do processo, ou seja, quando os componentes individuais são combinados no produto final. Antes disso, cada parte é completa em si mesma, portanto é uma grande incógnita. Quando se trata de detectar erros e fazer alterações, isso é mais fácil de fazer quando se adota a abordagem iterativa.

  3. Duração do projeto
  4. Com a abordagem iterativa, você pode criar um design pronto para teste mais rapidamente. Isso decorre do fato de que todas as melhorias possíveis são feitas nas etapas subsequentes, mas isso acontece em segundo plano e não interfere na versão original. Em contraste, a abordagem incremental envolve desenvolver e melhorar cada elemento separadamente, o que leva mais tempo.

  5. Envolvimento do usuário
  6. No caso da abordagem iterativa, os usuários ficam mais envolvidos no processo e podem testar o produto mais rapidamente. Isso é um valor por si só, mas também permite obter informações valiosas sobre a usabilidade do produto para fazer possíveis melhorias e desenvolvimentos. Com a abordagem incremental, os usuários devem esperar mais pelo produto final e sua participação em todo o processo não é tão importante.

  7. Custos do projeto
  8. É impossível dizer inequivocamente qual abordagem é mais cara. Tudo depende de quanto tempo um projeto levará e de quantas revisões serão necessárias. O método iterativo torna-se caro quando são necessárias muitas iterações, pois cada iteração envolve outro aumento no orçamento. A abordagem incremental parece facilitar a estimativa do orçamento e a determinação do custo final. Isso é verdade, entretanto, supondo que a versão final esteja livre de bugs e não exija nenhuma correção.

Modelos iterativos e incrementais de desenvolvimento. Qual é melhor?

É impossível responder a esta pergunta senão “depende”. A abordagem iterativa é melhor no caso de grandes projetos, onde se assume desde o início que a primeira versão do produto não será a final e que o próprio produto tem chance de crescer. É uma ótima solução se você precisa chegar ao mercado rapidamente. A abordagem incremental, por outro lado, será melhor quando você tiver uma ideia clara de como será o produto final e souber que não haverá espaço para melhorias ou aprimoramentos.

Isso significa que ao fazer sua escolha final, você precisa levar em consideração o objetivo do seu projeto, bem como suas circunstâncias e exigências. Se você espera resultados rápidos e deseja envolver os clientes no processo, escolha a abordagem iterativa. No entanto, se você sabe exatamente qual produto deseja desenvolver e deseja obter a mais alta qualidade imediatamente, a abordagem incremental será melhor.

Tirando situações específicas, quando a resposta à questão acima mencionada é clara, ainda existe um espaço onde não é tão óbvio. Então a questão é: podemos combinar os benefícios de ambos os modelos e utilizar apenas os aspectos que se enquadram em um determinado projeto?

Iterative and incremental models

Resumo

Ambas as abordagens têm o mesmo objetivo, ambas têm vantagens e desvantagens e ambas acarretam certos riscos. Qual será o melhor depende do processo que você deseja conduzir. Porém, é realmente necessário escolher uma solução? Talvez a melhor opção seja combinar os dois e encontrar um meio-termo?

Nada impede a utilização de ambos os modelos, pois não é necessário aderir a uma estrutura específica. É melhor usá-los como inspiração e um bom ponto de partida. Selecione elementos relevantes para o seu projeto e crie seu próprio processo customizado.

Se você gosta do nosso conteúdo, junte-se à nossa comunidade de abelhas ocupadas no Facebook, Twitter, LinkedIn, Instagram, YouTube, Pinterest, TikTok.

Which path to progress? Iterative and incremental models andy nichols avatar 1background

Autor: Andy Nichols

Um solucionador de problemas com 5 graus diferentes e reservas infinitas de motivação. Isso o torna um empresário e gerente perfeito. Na busca por colaboradores e parceiros, a abertura e a curiosidade pelo mundo são as qualidades que ele mais valoriza.