Conceitos: Protótipos
Tópicos
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 enfatiza a 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 suposições importantes 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, enfatizam o que o sistema fará conforme consultado pelos usuários (a "pele"). Freqüentemente, esse tipo de protótipo é "rápido e obscuro," não foi 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 é 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
pessoas se familiarizem com novas ferramentas e procedimentos.
|