Escolar Documentos
Profissional Documentos
Cultura Documentos
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=utf8,%3Cheader%20class%3D%22entryheader%22%20style%3D%22display%3A%20block%3B%20float%3A%20none%3B%20maxwidth%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 viceversa, 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 postit da funcionalidade de enviar email de confirmação do
cadastro. Joãozinho implementou essa funcionalidade realizando os seguintes passos:
1. Implementou o envio de email;
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 email no cadastro do usuário;
4. Adicionou o corpo do email com as informações de bemvindo e ativação da
conta.
5. Joãozinho percebeu que o envio de email estava demorando, e deixou ele de
forma assíncrona;
6. Houve uma melhora no corpo do email, 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 email de forma assíncrona e a melhora do layout.
data:text/html;charset=utf8,%3Cheader%20class%3D%22entryheader%22%20style%3D%22display%3A%20block%3B%20float%3A%20none%3B%20maxwidth%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=utf8,%3Cheader%20class%3D%22entryheader%22%20style%3D%22display%3A%20block%3B%20float%3A%20none%3B%20maxwidth%3A%20620px%3B%20width%3A%20580px%3B%20color%3… 3/3