Os protótipos são usados de uma maneira direta para reduzir o risco. Eles podem reduzir a incerteza sobre:
-
A viabilidade de negócio de um produto que está sendo desenvolvido
-
A estabilidade ou o desempenho da tecnologia-chave
-
Compromisso do projeto ou provisão de fundos: construindo um pequeno protótipo de prova de conceito
-
O entendimento de requisitos
-
A aparência do produto, sua usabilidade.
Um protótipo pode ajudar a criar o suporte do produto, mostrando algo concreto e executável aos usuários, clientes e
gerentes.
A natureza e a meta do protótipo devem permanecer claras, entretanto, durante toda a vida útil. Se você não pretende
desenvolver o protótipo até o produto real, não pressuponha repentinamente que, como o protótipo funciona, deve
tornar-se o produto final. Um protótipo exploratório e comportamental, que pretenda experimentar muito rapidamente
alguma interface de usuário, raramente evolui para um produto forte e flexível.
Você pode visualizar protótipos de duas maneiras: o que eles exploram e como são desenvolvidos ou qual é sua saída.
No contexto da primeira visão - o que eles exploram - há dois tipos principais de protótipos:
-
Um protótipo comportamental, que tem o foco na exploração de um comportamento específico do sistema.
-
Um protótipo estrutural, que explora algumas preocupações arquiteturais ou tecnológicas.
No contexto da segunda visão - seu resultado - há também dois tipos de protótipos:
-
Um protótipo exploratório, que é descartado quando concluído, também chamado de protótipo descartado.
-
Um protótipo evolutivo, que é gradualmente desenvolvido para tornar-se o verdadeiro sistema.
Um protótipo exploratório é projetado para ser parecido com um pequeno "experimento" para testar algumas principais
premissas sobre o projeto, funcionalidade, tecnologia ou ambas. Ele pode ser tão pequeno quanto algumas centenas de
linhas de código, criadas para testar o desempenho de um software-chave ou componente de hardware. Ou pode ser uma
maneira de esclarecer os requisitos, um pequeno protótipo desenvolvido para examinar se o desenvolvedor entende um
determinado requisito comportamental ou técnico.
Os protótipos exploratórios tendem a ser intencionalmente "descartados"; e o teste tende a ser informal. O design dos
protótipos exploratórios tende a ser muito informal e também a ser o trabalho de um ou dois desenvolvedores no máximo.
Os protótipos evolutivos, como o nome sugere, evoluem de uma iteração para a próxima. Enquanto não houver qualidade de
produção inicialmente, o código tende a ser retrabalhado conforme o produto é desenvolvido. Para manter o retrabalho
gerenciável, eles tendem a ser projetados mais formalmente e testados com uma certa formalidade mesmo nos estágios
iniciais. Conforme o desenvolvimento do produto, o teste torna-se formalizado, como normalmente é o design.
Os protótipos comportamentais tendem a ser protótipos exploratórios, não tentam reproduzir a arquitetura do sistema a
ser desenvolvido, mas em vez disso, têm o foco em que o sistema fará quando visto pelos usuários (a "skin").
Freqüentemente, esse tipo de protótipo é "rápido e obscuro", não construído para padrões de projeto. Por
exemplo, o Visual Basic pode ser usado como a linguagem de protótipo, enquanto o C++ destina-se ao projeto de
desenvolvimento. Os protótipos exploratórios são temporários, realizados com o mínimo de esforço e descartados depois
de servirem ao seu propósito.
Os protótipos estruturais tendem a ser protótipos evolutivos, são mais suscetíveis à utilização da infra-estrutura do
sistema final (os "ossos") e provavelmente serão desenvolvidos para se tornarem o verdadeiro sistema. Se o protótipo
for feito utilizando a linguagem de "produção" e o conjunto de ferramentas, há a vantagem agregada de ser capaz de
testar o ambiente de desenvolvimento e permitir que algumas se familiarizem com novas ferramentas e procedimentos.
|