Você está na página 1de 3

13/09/2015 Processo Incremental x Iterativo | QualidadeBR

Processo Incremental x Iterativo

Monalisa e o Desenvolvimento de Software

A figura abaixo é bem famosa atualmente, provavelmente você já viu várias vezes.

A sua empresa deve (ou deveria) usar um processo incremental e iterativo para
desenvolver os softwares.

Trabalhar de forma incremental e iterativa é bem comum em tarefas criativas, por
exemplo: escrever esse post.

Estou no tópico Monalisa e o Desenvolvimento de Software, e este é o tópico onde irei
falar sobre o processo incremental e iterativo, no final pretendo juntar esse assunto com
o de qualidade interna, focando em refatoração. Também pretendo falar sobre o papel
dos testes num processo incremental e iterativo. E quando comecei o post eu não tinha
definida a estrutura dele, só sabia que ia escrever sobre qualidade externa e interna, por

data:text/html;charset=utf­8,%3Cheader%20class%3D%22entry­header%22%20style%3D%22display%3A%20block%3B%20float%3A%20none%3B%20max­width%3A%20620px%3B%20width%3A%20580px%3B%20color%3… 1/3
13/09/2015 Processo Incremental x Iterativo | QualidadeBR

isso já tive que retirar várias partes e refatorar outras.

A figura apresentada mostra de uma forma bem clara a diferença entre um processo
incremental para um iterativo. No primeiro já temos melhor definido o que queremos, já no
segundo temos apenas uma ideia genérica do que queremos.

Na prática o processo iterativo acaba sendo também incremental, e vice­versa, pois ao
desenvolver as partes no processo incremental, iremos fazer uma iteração. Meio
confuso neh? Vamos para um exemplo:

O Joãozinho pegou o post­it da funcionalidade de enviar e­mail de confirmação do
cadastro. Joãozinho implementou essa funcionalidade realizando os seguintes passos:

1.  Implementou o envio de e­mail;
2.  Implementou a ativação do usuário, apenas quando ele tiver acessado o link de
confirmação da conta;
3.  Adicionou a implementação do envio de e­mail no cadastro do usuário;
4.  Adicionou o corpo do e­mail com as informações de bem­vindo e ativação da
conta.
5.  Joãozinho percebeu que o envio de e­mail estava demorando, e deixou ele de
forma assíncrona;
6.  Houve uma melhora no corpo do e­mail, pois o Joãozinho não gostou muito do
primeiro layout.

Podemos observar que o Joãozinho já sabia como seria essa funcionalidade, e foi
desenvolvendo ela de forma incremental. Porém, ao finalizar a implementação ele teve
que ainda realizar algumas iterações, de acordo com o comportamento que a
funcionalidade teve. Se o Joãozinho não tivesse percebido tais comportamentos, ele teria
apresentado essa funcionalidade para o cliente, e esse poderia ter pedido a alteração do
envio de e­mail de forma assíncrona e a melhora do layout.

data:text/html;charset=utf­8,%3Cheader%20class%3D%22entry­header%22%20style%3D%22display%3A%20block%3B%20float%3A%20none%3B%20max­width%3A%20620px%3B%20width%3A%20580px%3B%20color%3… 2/3
13/09/2015 Processo Incremental x Iterativo | QualidadeBR

Ou seja, no processo incremental já sabemos bem o que queremos (ex.: um bolo de
chocolate), já no processo iterativo temos apenas uma vaga ideia, e iremos descobrir
mais detalhes do que queremos, ao longo do desenvolvimento (ex.: um portal de
Internet).

P.S.: Como notaram, retirei a parte sobre qualidade externa e interna, fica para o próximo
post. Acabei me alongando muito no assunto do processo incremental X iterativo, e então
optei por deixar apenas essa parte no post. Essa é uma das vantagens de usar um
processo incremental e iterativo, com a mentalidade ágil. 

data:text/html;charset=utf­8,%3Cheader%20class%3D%22entry­header%22%20style%3D%22display%3A%20block%3B%20float%3A%20none%3B%20max­width%3A%20620px%3B%20width%3A%20580px%3B%20color%3… 3/3

Você também pode gostar