O que é desenvolvimento de software iterativo?

Saiba o que significa desenvolvimento iterativo e como ele pode lhe ajudar a entregar software com qualidade e dentro dos prazos

Bom dia pessoal, hoje é terça-feira, e vou iniciar uma nova série de posts aqui no blog que tem como tema engenharia de software, assunto que pretendo estudar bastante nos próximos meses e pretendo compartilhar o que aprender aqui nestes espaço.

Basicamente, segundo a definição de Margaret Rouse, desenvolvimento iterativo é uma forma de “quebrar” o desenvolvimento de uma grande aplicação em pequenos pedaços de software.

No desenvolvimento iterativo, cada ciclo de desenvolvimento deve contemplar:

  • Levantamento de requisitos
  • Análise a arquitetura da solução
  • Implementação
  • Testes
  • Distribuição
Abaixo você pode ver uma abordagem visual do conceito proposto pelo RUP:
RUP - Desenvolvimento Iterativo

O produto de cada iteração apesar de incompleto do ponto de vista visual e de integração deve permitir seu uso total e testes pelo usuário final mantendo qualidade de produto final.

Cada nova iteração de incluir novas funcionalidades as iterações anteriores, ampliando desta forma o escopo da solução. Normalmente o desenvolvimento iterativo é usado em conjunto com uma metodologia Agil de desenvolvimento que irá controlar o escopo da implementação daquela iteração.

De forma geral cada iteração ou ciclo tem um período e escopo curtos que giram em torno de duas semanas e ao seu final deve gerar código funcional que dever ser demonstrado e validado pelo cliente.

O desenvolvimento iterativo contrasta com o modelo tradicional de desenvolvimento de software baseado em cascata e que envolve o usuário final apenas nas etapas inicial, durante o levantamento de requisitos e final após a entrega do produto, e tem demonstrado uma melhor capacidade de entrega de projetos de software com sucesso.

Veja abaixo o modelo Waterfall:

O propósito do desenvolvimento iterativo esta em permitir um processo mais flexível a mudanças de escopo durante o processo de desenvolvimento do produto reduzindo desta forma os riscos de falha no projeto de desenvolvimento de software.

Para vinalizar veja o vídeo abaixo uma pequena explicação sobre este conceito:

É isso pessoal, essa é apenas uma pequena introdução ao assunto que pretendo abordar aqui no blog todas as terças-feiras, até a próxima.

Leave a Reply

Your email address will not be published. Required fields are marked *