A definição de Produto na área de software hoje é muito relativa, um serviço pode ser um produto, uma manutenção pode ser um produto, um aplicativo versão X.X pode ser um produto, enfim em todo o caso quando se define o protótipo de algum produto, está dizendo o seguinte: "Agora vamos unir forças para construir um produto que deve estar de acordo com este protótipo "
Hoje em dia, na área de arquitetura tem aquelas maquetes, na de engenharia um protótipo de um avião, um carro, um edifício, agora na área de software, principalmente na área de desenvolvimento, e principalmente ainda mais na área de desenvolvimento ágil, seria realmente útil construir esse protótipo ?
O cliente por exemplo depois pode querer mudar os requisitos e acaba mudando o protótipo , e nesse caso seria mais um artefato a ser atualizado, no entanto eu particularmente não sei ainda se a construção de um layout bem elaborado seria interessante, isso também pode depender do tipo de projeto, se o cliente quer um sistema totalmente engessado, que ele acha que vai durar 100 anos como um edifício, tudo bem … aí acho completamente válido.
Sabe aquela história de XP de manter um quadro negro no local de desenvolvimento para auxiliar na comunicação do grupo!? Então… inventaram o tal de wiki para servir como um quadro negro virtual.
Pensando nisso, eu acho que da mesma forma que você poderia desenhar no quadro negro o layout do cliente (na tranqüilidade, apenas um diagrama de vaga idéia) … você também poderia desenhá-lo num wiki ou mesmo num arquivo eletrônico e guardá-lo num controle de versões. A idéia é fazer telas espartanas, como você desenharia num quadro negro… sem emperrar o desenvolvimento, e guardando a serventia do artefato, que aliás pode ser reutlizado como código fonte do desenvolvimento.
Ideal mesmo é, ao testar o programa, automagicamente atualizar alguns arquivos (digamos html) que seria uns screenshots do programa. Desse jeito a documentação (do visual) e o projeto passam a ser um só e você não vai precisar mais ter que se preocupar em atulizar esse documento.
[quote=rodrigousp]Sabe aquela história de XP de manter um quadro negro no local de desenvolvimento para auxiliar na comunicação do grupo!? Então… inventaram o tal de wiki para servir como um quadro negro virtual.
[/quote]
ps. O pessoal prefere o whiteboard :twisted: eh mais bonitinho e nao da alergia. hehehehehe
Um protótipo é de extrema importância…faz com que o seu cliente possa visualizar de uma forma ‘palpável’ aquilo que ele quer que você faça, apontando os erros e acertos, o que deve ser incluido ou retirado do software. Assim passa a existir um feedback entre o desenvolvedor e o usuário. Até por experiência própria, aconselho o uso de protótipos.
Os problemas que eu vejo com relação a prototipação são:
O cliente quando ve o prototipo acha que já tá pronto o sistema, ou que só falta “ligar” no BD.
Ou vc destrincha o prototipo totalmente com o cliente (antes de começar a “codar”) isso significa que vc esta usando um processo não ágil.
Usando um processo ágil cada iteração deve ser “entregue” ao cliente, então isso serve como uma “prototipação”
Vc gastar muito esforço com o prototipo, e depois não ter tempo para o desenvolvimento em si. De duas uma, ou vc atrasa ou alguem com tem a brilhante ideia de pegar o prototipo e colocar o codigo por trás.
Com certeza. Pelo menos no RUP, a utilização de ‘pequenos protótipos’ é recomendada porque a cada iteração realizada você pode mostrar ao cliente. Ocorre uma evolução do protótipo até chegar ao ‘produto final’ (apesar que não existe produto final porque o software nunca é finalizado completamente… :D…sempre existem modificações a fazer )
Usando um processo ágil cada iteração deve ser “entregue” ao cliente, então isso serve como uma “prototipação”
[/quote]
Com certeza. Pelo menos no RUP, a utilização de ‘pequenos protótipos’ é recomendada porque a cada iteração realizada você pode mostrar ao cliente. Ocorre uma evolução do protótipo até chegar ao ‘produto final’ (apesar que não existe produto final porque o software nunca é finalizado completamente… :D…sempre existem modificações a fazer )
[quote=flaleite][quote=nefertiti]
Com certeza. Pelo menos no RUP, a utilização de ‘pequenos protótipos’ é recomendada porque a cada iteração realizada você pode mostrar ao cliente. [/quote]
Você considera RUP um processo ágil?[/quote]
Acho que essa pergunta (alfinetada) não cabe nesta discussão. O que a Paty falou é que no RUP, recomenda-se a utlização de protótipo para que se tenha algo ostensivo no final de cada interação. Processos ágeis, que também são interativos podem compartilhar dessa mesma recomendação.
[quote=nefertiti]Concordo com o que o rodrigousp falou. Em nenhum momento eu disse que o RUP é um processo ágil. Você interpretou erroneamente o que eu disse.
Até mais
Patty[/quote]
Desculpa não quis dar uma alfinetada…
Só queria entender sua resposta… Não liguei o meu comentario “quotado” com o seu comentario…
Eu quis dizer naquele item: Nos processos ageis vc já deve “entregar” o “produto” no final de cada iteração ao seu cliente, por isso não faz sentido criar um prototipo nesse caso…
Tudo bem…discussão é bom por causa disso…várias opiniões e pontos de vista. O ruim de se escrever é que as vezes os que dizemos não condiz com o que pensamos…ai já viu…acho que também acabei não me expressando muito bem. Não se preocupe…
estou precisando fazer um protótipo para um sistema que será feito com JSF, estou começando a pesquisar sobre o assunto, a minha dúvida é que ferramenta usar, há um tempo atrás eu usava o Fireworks para protótipos de sistemas em PHP, mas no caso de Java com Jsf, como normalmente pe feito o protótipo?
estou precisando fazer um protótipo para um sistema que será feito com JSF, estou começando a pesquisar sobre o assunto, a minha dúvida é que ferramenta usar, há um tempo atrás eu usava o Fireworks para protótipos de sistemas em PHP, mas no caso de Java com Jsf, como normalmente pe feito o protótipo?[/quote]
se para vc for mais produtivo, talvez sim, mas seria mais interessante você procurar saber como a equipe de desenvolvimento espera receber este protótipo, pois você já parou para ver o código final que ele gera?
procure tentar equilibrar o que facilita para você e equipe de desenvolvimento.
Hum…
onde voce trabalha o que voces usam??
no caso do Fireworks ele gera html e css puro,
eu teria que adaptar tudo pra jsp para a camada de visao do jsf?
[quote=ciciliaartista]Hum…
onde voce trabalha o que voces usam??[/quote]
no projeto que me encontro o próprio cliente o especifica. ainda não sabemos qual ferramenta é utilizada, mas para nós tanto faz, o importante é que esteja válido e possa representar a navegação do sistema.
[quote=ciciliaartista]no caso do Fireworks ele gera html e css puro,
eu teria que adaptar tudo pra jsp para a camada de visao do jsf?[/quote]
se você for efetuar apenas o papel do webdesigner não é necessário adaptar, pois isto é de responsabilidade do desenvolvedor, mas caso você queira desenvolver aprendizado e entender como as coisas funcionam, acho válido.
Lembre-se de acertar com a equipe de desenvolvimento ou arquiteto do projeto como deve ser esperado este repasse de artefato, ou seja, o protótipo! É interessante que alguém esteja validando isto com você, como analista de negócios.
Hm, fiquei com uma dúvida, o rodrigousp falou a respeito do wiki e de jogar o layout do protótipo nele. Então seria por exemplo uma área do wiki pra navegação de protótipos apenas?
E falando de wiki´s, num momento atoa dei uma fuçada para ver se existia coisa pronta e achei algums opções dentre elas a wetpaint . Costumam usar algo semelhante ou é algo mais simples e direto mesmo?