Prototipagem

O cliente geralmente comunica ao desenvolvedor quais os objetivos e funções que o software deve ter, mas, não identifica em detalhes os requisitos de entrada, processamento ou saída. Paralelamente, o desenvolvedor pode não estar seguro da eficiência do algoritmo, ou da interação homem/máquina. Nessas ocasiões, um paradigma de prototipagem poderá satisfazer melhor as necessidades do desenvolvedor. 
O paradigma de prototipagem auxilia o desenvolvedor e o cliente a entenderem melhor o que deve ser feito, quando os requisitos definidos pelo cliente e as possibilidades do desenvolvedor estão confusos (o paradigma de prototipagem começa com a comunicação entre cliente e desenvolvedor). O desenvolvedor e o cliente encontram-se, definem os objetivos gerais do software, entram em consenso sobre as necessidades e definem onde se necessita de mais definições. Rapidamente a modelagem ocorre! Uma característica do projeto rápido, é que ele foca naqueles aspectos visíveis para o cliente, como por exemplo, layout da interface humana. 

Com o projeto rápido, é feito primeiramente um protótipo, que é implementado e posteriormente avaliado pelo cliente. Depois desta etapa, é feito o feed back para refinar os requisitos do software. A iteração é ajustada às necessidades do cliente, ocorrendo a medida que são feitos ajustes no protótipo (ajudando também o desenvolvedor a entender melhor o que precisa ser feito!). Quando um protótipo executável é elaborado, o engenheiro de software geralmente tenta aplicar ferramentas ou reutilizar partes existentes de programas que possibilitem os programas serem gerados rapidamente. Mas o que fazer com o protótipo quando ele tiver cumprido a finalidade descrita?
Na maioria dos projetos, o primeiro sistema construído consegue ser apenas utilizável. Ele poderá apresentar várias falhas, como lentidão, interface com o usuário complicada, tamanho exagerado ou tudo isso ao mesmo tempo. Nesses casos, a única solução é desenvolver tudo de novo com uma versão totalmente reprojetada, na qual não existirão esses problemas. 
A questão de gerência, entretanto, não é se o sistema piloto elaborado deve ser descartado, pois ele realmente será. O que deve ser feito é um planejamento antecipado, construindo um sistema descartável ou pelo menos prometer a entrega de um software descartável ao cliente. Tanto os clientes quanto os desenvolvedores gostam do paradigma de prototipagem, pois os usuários se sentem confortados, sentindo que estão usando um sistema real e enquanto isso acontece, os desenvolvedores tem tempo de construir algo mais completo e eficaz ao mesmo tempo.

Clique na imagem para ampliar.


Vantagens:

  • Os clientes conseguem ver os progressos.
  • É útil quando os requisitos mudam rapidamente e o cliente está relutante em aceitar um conjunto de requisitos.

Desvantagens:

  • É impossível determinar com exatidão o tempo que o projeto vai demorar.
  • Não há forma de saber o número de iterações que serão necessárias.