Protótipo é realmente necessário?

Olá,

o que vocês acham da criação do protótipo ? Eles devem atender a quêm ? Ele é realmente útil ? E na programação ágil , existe a elaboração do protótipo ?

Surgiu esse questionamento, porque vejo que muitas atividades se prendem a criação de protótipos, sem necessidades, aí queria saber se alguém defende a utilização de protótipos e por quê ?

Olha, nao defendendo nem criticando, mas fizemos o Prototipo da versao 1.0 do [modo propaganda=on]TraceGP[modo propaganda=off] e usavamos para apresentar aos clientes, e tambem para validar a interface com o analista, ver se era realmente isso que ele desejava e se atendia os requisitos de usabilidade definidos. Era engracado que quando alguem ia nos clientes, alguns queriam saber pq nao atualizava os dados… hehe mas era puro HTML O_O e um cliente quis saber qual servidor de aplicacoes rodava o prototipo hahaha.

O bom era que, feito o prototipo podiamos mudar meia duzia de coisas no HTML e jah estava feito o front-end! :-p

Sobre prototipos e programacao agil, a resposta eh: vai trazer algum valor pro cliente? Se sim, entao faz o prototipo, ue :wink:

Aqui na empresa, como os web-designers não sabem JSP, eles fazem o protótipo das telas e os programadores fazem o barato ficar dinâmico, inserindo as tagslibs e EL

Eu acho válido a prototipação de sistemas, pois quando é apresentado ao cliente fica façil mudar alguma coisa caso o cliente não aprove, pois é simplesmente html sem nenhuma inteligência, e o cliente já vai ver a cara do sistema.

Vale a pena sim fazer protótipos quando você tem pessoas especificas para fazer o protótipo (não programadores Java), e quando o código criado na prototipação pode ser utilizado na construção do sistema.

O problema do protótipo é que o cliente olha e diz: “- Ta pronto, agora só falta salvar no banco” :smiley:

Protótipo é especialmente útil quando se está usando linguagens, frameworks ou metodologias com feedback demorado.

Bem lembrado. Tem inumeros casos aqui na empresa onde um ‘prototipo’ em Rails foi direto pra producao, pq o cliente se tocou que nao tinha o menor motivo pra desenvolver em Java a nao ser inercia.

Bem lembrado. Tem inumeros casos aqui na empresa onde um ‘prototipo’ em Rails foi direto pra producao, pq o cliente se tocou que nao tinha o menor motivo pra desenvolver em Java a nao ser inercia.[/quote]

Então nesse caso ou o sistema era simples demais ou o protótipo fazia muita coisa.

Um protótipo tem que focar em apenas um aspecto do sistema, normalmente a UI, e usar stubs para todo resto. No caso de projetos green field, ir do protótipo pro produto final é bem mais simples.

Não sei ao certo qual é o protótipo correto, ou se existem diversos tipos de protótipos, que se adequam a situações diversas…

Um protótipo pode ser bem confeccionado, podendo se tornar já o próprio sistema, ou pode ser feito de forma funcional, sem se preocupar no entanto nos detalhes da aplicação ?

Questões como máscaras, validação, navegação, layout, simulações … devem estar presentes sempre ?

Outra coisa, um protótipo aprovado, vcs acham que um programador estaria mais apto a desenvolver o produto com qualidade ? Ou protótipo seria apenas para mostrar ao cliente ?

É importante o protótipo sim! Ajuda muito a fechar requisitos e dá uma visão para o usuário de campos e navegação que não estão nos requisitos e nem no modelo de casos de uso (como exemplo). Sem o protótipo aprovado seu usuário vai falar: -“Não dá para colocar esse campinho mais para a direita. Não gostei da cor de fundo… Essa tela tem que ter o campo X, ou o Campo Y”. São coisas fáceis de mexer no protótipo e difíceis de mexer na aplicação rodando.

Mas cada projeto é diferente um do outro.

É importante que o protótipo acompanhe o desenvolvimento. Se é web faça em HTML, aí ele é reaproveitado sendo convertido para JSP, não vai fazer em PowerPoint como exemplo…

Rodrigo Yoshima
www.aspercom.com.br - Sua Escola de Análise de Sistemas

Não vejo problema em se alterar um campinho mais pra direita ou mudar a cor de fundo depois que a aplicação estiver pronta, se isso for tão difícil assim, é melhor nem entregar o sistema, porque ninguém vai querer dar manuntenção no seu sistema.

Protótipo com certeza ajuda muito a entender como vai ser mostrado a disposição dos componentes, a navegação também como você falou, mas a quetão é fazer um protótipo muito rebuscado, bem detalhado não pode vir a atrasar o desenvolvimento ? Um programador deve sempre ter um protótipo pra se basear ? Quando o cliente deseja ter um dinamismo maior, realizando algumas modificações nas telas tem que manter sempre o protótipo atualizado ? Esse protótipo geralmente não é produzido com qualidade , e alterar 200 telas só pra manter atualizado, gera um desconforto … é por isso que perguntei se em desenvolvimento ágil ele é usado.

Então nesse caso ou o sistema era simples demais ou o protótipo fazia muita coisa.

Um protótipo tem que focar em apenas um aspecto do sistema, normalmente a UI, e usar stubs para todo resto. No caso de projetos green field, ir do protótipo pro produto final é bem mais simples.[/quote]

Os prototipos eram pra projetos greenfield, e so tinham que falar com banco de dados local (ou seja, prato cheio pra Rails). Dai fica facil. Em outros casos, como no projeto que eu tou trabalhando agora, a gente fez o prototipo em Rails, mas pra falar com a mainframaiada toda teve que usar Java (e ai de quem tentasse comprar a briga pra rodar FastCGI no WebSphere 4…)

[quote=Fabrício Cozer Martins]Não vejo problema em se alterar um campinho mais pra direita ou mudar a cor de fundo depois que a aplicação estiver pronta, se isso for tão difícil assim, é melhor nem entregar o sistema, porque ninguém vai querer dar manuntenção no seu sistema.

Protótipo com certeza ajuda muito a entender como vai ser mostrado a disposição dos componentes, a navegação também como você falou, mas a quetão é fazer um protótipo muito rebuscado, bem detalhado não pode vir a atrasar o desenvolvimento ? Um programador deve sempre ter um protótipo pra se basear ? Quando o cliente deseja ter um dinamismo maior, realizando algumas modificações nas telas tem que manter sempre o protótipo atualizado ? Esse protótipo geralmente não é produzido com qualidade , e alterar 200 telas só pra manter atualizado, gera um desconforto … é por isso que perguntei se em desenvolvimento ágil ele é usado.

[/quote]

Mauricio, quando entrei na empresa comecei fazendo o prototipo, sempre fui um cara ligado ao front-end e tal entao foi um approach que consegui desenvolver tranquilo (nao conhecia Java de verdade) entao estavamos mudando o layout de TODA a aplicacao, ao mesmo tempo que eu aprendia sobre a aplicacao em si, aprendia sobre JSP/Struts e EJB (naquele tempo usavamos EJB) eu dava suporte a um prototipo que era utilizado como esboco para os desenvolvedores aplicarem na aplicacao, na epoca foi uma ideia excelente eu acho e um jeito bem interessante de se utilizar mais de um prototipo :wink:

Acho protótipo excelente, pois o Cliente vê o que está levando e não ocorrerão (Muitos) problemas quanto a mudança de interface.
Além disto, dependendo de como você fizer o protótipo, você pode aproveita-lo em sua implementação facilitando o desenvolvimento.

Abraços

Samuel

Um bom prototipo nao serve pra evitar mudancas, serve pra encoraja-las :wink:

Uma idéia…

Abrir o nvu … e rabiscar a idéia.
Enquanto (o rasbisco não estiver legal ) {
Conversar com a equipe,
Conversar com o cliente e
rabiscar um pouco mais.
}
Pegar o código-fonte e postá-lo no wiki do projeto, ou gravá-lo no diretório doc do projeto e protegê-lo no controle de versões.


Assim, rascunho = protótipo = documento.

Fala rodrigo,
cara eu particularmente não gostei muito do NVU não … achei complicado criar protótipos nele, tinha horas que ele salvava, e outras não, outras ele não apresentava fielmente o layout no modo design , tinha que usar o browser mesmo, enfim, não serviu muito não, principalmente para as pessoas que não conheciam muito bem html, e foi usar.

Aproveitando, existe alguma ferramenta pra design melhor pra usar no linux que não seja o NVU ? Algo que um analista que não programa muito, pudesse usar ?

Fala Fabrício,
Olha … o nvu melhorou bastante (e eu não enfretei esses problemas que você falou). Mas se essa última versão ainda não está Ok, aí você está num mato sem cachorro. Possivelmente a melhor opção seria utilizar o OpenOffice2 (que tem um modúlo para Web: o Writer/Web. O código gerado não é (tão) ruim _ pena que o OO2 não consegue trabalhar com xhtml ainda).

:wink:

[quote=cv]
Um bom prototipo nao serve pra evitar mudancas, serve pra encoraja-las ;)[/quote]

Sim… mudanças no protótipo, não no produto pronto.