| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/08/2006 20:50:03
|
Luca
Moderador
![[Avatar]](/images/avatar/17e62166fc8586dfa4d1bc0e1742c08b.jpg)
Membro desde: 06/09/2002 14:30:10
Mensagens: 5793
Localização: São Paulo/SP ou Paraty/RJ
Offline
|
Olá
Nós programadores temos a mania de adicionar "facilidades" imaginando que software que faz mais coisas só pode ser melhor. Uma coisinha aqui, outra ali e já temos um monte de desculpas para não cumprir os prazos.
Mas será que estes badulaques serão bons para o cliente? Já pensaram que colocando mais coisas o cliente demorará mais para aprender a usar nosso maravilhoso software?
Pois é, sobre este modo pouco ágil de desenvolver vale a pena ler o pequeno texto Foco no cliente do Peter Abilla onde aparece o seguinte gráfico feito pela nossa amiga Katty Sierra:
[]s
Luca
|
Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."
CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/ |
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 10/08/2006 23:20:02
|
Rubem Azenha
GUJ Master
![[Avatar]](/images/avatar/cb953f6ca5923f7517125db46ed1293d.jpg)
Membro desde: 28/06/2004 00:10:43
Mensagens: 1933
Localização: São Paulo, SP
Offline
|
No Rio Java Summit 2006 o Scott Ambler falou que cerca de 60% das features dum software em média não são utilizadas pelo cliente. Incrível mesmo!
|
Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2006 09:42:03
|
marcelomartins
Moderador
![[Avatar]](/images/avatar/777669af68dbccabc30c3b6bcaa81825.jpg)
Membro desde: 07/01/2004 10:53:19
Mensagens: 1477
Localização: Porto Alegre - RS
Offline
|
Legal
|
Marcelo Martins
http://twitter.com/marcelomartins
Tudo que hoje eu realmente preciso saber, aprendi no jardim da infância.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2006 14:57:03
|
urubatan
Moderador
![[Avatar]](/images/avatar/fe9fc289c3ff0af142b6d3bead98a923.jpg)
Membro desde: 21/09/2002 10:31:26
Mensagens: 2478
Localização: Porto Alegre/RS
Offline
|
yeap, mas a grande pergunta é: quais são as features utilizadas?
como saber quais serão utilizadas antes de desenvolve-las e disponibiliza-las para o cliente?
|
[]'s
Rodrigo Urubatan
http://www.urubatan.com.br - pt_BR
http://www.urubatan.info - en_US
Arquiteto J2EE
Melhor livro de RoR do brasil: http://livro.urubatan.com.br
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2006 14:59:28
|
louds
Moderador
![[Avatar]](/images/avatar/1e48c4420b7073bc11916c6c1de226bb.jpg)
Membro desde: 29/04/2003 23:09:15
Mensagens: 4061
Localização: São Paulo
Offline
|
urubatan wrote:yeap, mas a grande pergunta é: quais são as features utilizadas?
como saber quais serão utilizadas antes de desenvolve-las e disponibiliza-las para o cliente?
Diga não a todas features, repita não mais 10x para cada feature. Depois disso sobram realmente as que são necessárias.
|
http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2006 15:17:41
|
fabio.patricio
GUJ Master
Membro desde: 04/01/2004 02:51:33
Mensagens: 1512
Localização: Porto Alegre - RS
Offline
|
louds wrote:
urubatan wrote:yeap, mas a grande pergunta é: quais são as features utilizadas?
como saber quais serão utilizadas antes de desenvolve-las e disponibiliza-las para o cliente?
Diga não a todas features, repita não mais 10x para cada feature. Depois disso sobram realmente as que são necessárias.
Se eu dizer nao para todas nao vai sobrar nada.
]['s
|
Fabio Patricio
http://blog.wansoft.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2006 15:59:01
|
ZehOliveira
GUJ Ranger
Membro desde: 12/12/2003 22:13:49
Mensagens: 964
Localização: Maceio-AL
Offline
|
E são nessas que o usuário não usa que nós gastamos mais tempo desenvolvendo.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2006 16:01:22
|
Luca
Moderador
![[Avatar]](/images/avatar/17e62166fc8586dfa4d1bc0e1742c08b.jpg)
Membro desde: 06/09/2002 14:30:10
Mensagens: 5793
Localização: São Paulo/SP ou Paraty/RJ
Offline
|
Olá
fabgp2001 wrote: Se eu dizer nao para todas nao vai sobrar nada.
Ou melhor, sobrará somente o que o cliente acha mais importante.
Há uma regra para desenvolver sistemas cumprindo prazos e ainda sobrar uns trocos:
Nunca fazer TUDO o que o cliente pediu ou sonhou
Geralmente o cliente não sabe exatamente o que quer e aproveita a ocasião para pedir um monte de coisas que ele viu não sei aonde e que acharia bom ter também. É preciso filtrar bem e separar o que é realmente essencial. O ideal é que a gente vá soltando o software e nas próximas reuniões explique ao cliente porque tal e tal firula não acrescenta nada ao software.
Mesmo sendo bem rigoroso no que vai para a lista de facilidades do software, é dificl lucrar muito com desenvolvimento de software. Geralmente a gente chuta um prazo curto e um preço baixo para poder ganhar o serviço. Precisa ser muito objetivo para não perder dinheiro.
[]s
Luca
|
Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."
CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2006 16:22:06
|
flaleite
JavaEvangelist
Membro desde: 31/03/2006 15:28:55
Mensagens: 472
Localização: Ribeirão Preto - SP
Offline
|
O usuário tende a criar um fluxo de trabalho dentro do sistema (ou módulo) usando as funções principais do sistema. Se vc quiser adicionar mais features ao sistema tente primeiro entender onde isso vai se encaixar nesse fluxo...
O usuário nunca irá se desviar desse fluxo e dessa rotina, então nem adianta colocar uma feature num item de menu ou que tenha que desvia-lo da rotina de uso.
Outro porém interessante é que muitos desenvolvedores desenvolvem para massagear o seu ego. Ou seja, para ele não importa que ele pode fazer, resolver e nunca mais ter problemas fazendo um sisteminha em VB. Ele vai querer enfiar goela baixo do usuário a ultima tecnologia. Então esse desenvolvedor tende a valorizar mais a feature que vai usar as tecnologias X, Y e Z e não aquela que o usuário mais vai utilizar.
Tem também aquela questão do desenvolvedor que desenvolve para ficar mais fácil de desenvolver, mais simples de manter sem ao menos analisar o que isso vai impactar na usabilidade do sistema. Ao invés de criar um sistema mais "fluido" ele cria uma caralhada de CRUDs meio desconexos.
|
Flávio Suguimoto
flaleite.blogspot.com
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2006 17:05:19
|
dreamspeaker
GUJ Ranger
![[Avatar]](/images/avatar/c862890c3fd3e3d203580.jpg)
Membro desde: 22/04/2003 10:09:58
Mensagens: 752
Localização: SP - Capitar
Offline
|
Luca wrote:Há uma regra para desenvolver sistemas cumprindo prazos e ainda sobrar uns trocos:
Nunca fazer TUDO o que o cliente pediu ou sonhou
O engraçado dessa regra é que ela vai meio "contra" o gráfico, porque o "pico de felicidade" do usuário é justamente menos da metade de tudo que ele pediu.
E tem outra regrinha que diz que o primeiro prazo que você não deve dizer é exatamente o prazo que você está acha que vai fazer.
|
André Barbosa
Para de encher o saco e vai doar sangue!
twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2006 19:27:50
|
ZehOliveira
GUJ Ranger
Membro desde: 12/12/2003 22:13:49
Mensagens: 964
Localização: Maceio-AL
Offline
|
dreamspeaker wrote:O engraçado dessa regra é que ela vai meio "contra" o gráfico, porque o "pico de felicidade" do usuário é justamente menos da metade de tudo que ele pediu.
Acho que houve um problema de interpretação aqui.
A mensagem do gráfico é que o pico é na metade, e o Luca disse pra "nunca fazer TUDO...". Pelo meu entendimento, o Luca não tá dizendo que não é pra fazer nenhuma, mas sim pra não fazer todas. E não fazer todas se encaixa com fazer somente a metade.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 11/08/2006 22:38:53
|
Luca
Moderador
![[Avatar]](/images/avatar/17e62166fc8586dfa4d1bc0e1742c08b.jpg)
Membro desde: 06/09/2002 14:30:10
Mensagens: 5793
Localização: São Paulo/SP ou Paraty/RJ
Offline
|
Olá
Vou explicar mais a tal da regra. A gente se reune com o cliente e ele pede um software que faça "alguma coisa". Mas geralmente quer esta "alguma coisa" com mais um monte de "exigências".
No tempo em que eu aprendi a desenvolver sistemas, havia uma outra regra de todo software PRECISA ser descrito com uma única frase. Então, nas primeiras reuniões com o cliente a gente precisa entender bem quais as principais funções do software e começar a elaborar a tal frase. Esta frase precisa ser bem entendida tanto por nós como pelo cliente pois o que está nela nosso software TEM que fazer.
Esta frase começa a documentação do software e com mudanças cosméticas trocando linguagem técnica por marketing ou linguagem humana, esta mesma frase vai para nosso site, folders promocionais e até mesmo contrato entre as partes.
O resto das facilidades a gente deve filtrar e só incluir se for um desejo MUITO forte do cliente manifestado em diversas reuniões, principalmente se ele pagar para fazer. Neste item que chamo de resto incluo relatórios. A gente deve vender relatório por unidade para o cliente sentir no bolso que não deve pedir aqueles relatórios que nunca ninguém lerá.
Requisitos de desempenho precisam ser encarados com cuidado pois às vezes são irreais. Já participei de um projeto onde se pedia throughput de 200 transações por segundo. Mesmo com mais facilidade de máquina que existe hoje, isto é muito difícil quando a transação precisa atravessar por vários servidores e vários firewalls. Provavelmente o cara que escreveu a especificação não tinha a menor idéia disto. Nosso projeto tinha largura de banda de 8 giga, load balancing com 2 + 2 servidores RISC cada um com 12 processadores e 16 Gb de memória + Oracle paralelo em rede gigabit e mesmo assim foi preciso gamb para atender.
PORËM, há algumas facilidades administrativas que a gente deve incluir em TODOS os softwares e que para o cliente não agrega valor a menos em caso de desastre. São coisas como logs, facilidades de localizar erros, facilidades para modificar configurações remotamente sem recompilar, etc. Isto a gente inclui no nosso marketing para provar ao cliente que nosso software vale mais do que o concorrente. Na verdade a gente precisa ter isto pronto como se fosse o framework da nossa empresa. Faz parta da nossa "expertise".
Escrevi paca mas acho que agora ficou mais claro. Geralmente o cliente não sabe exatamente o que é essencial e pede tudo. Nossa função, com ajuda de alguém que conheça bem o business, é filtrar para fazer um sistema que sirva para a tal "alguma coisa".
[]s
Luca
|
Dare Obasanjo (Program Manager at Microsoft)
"The folks I know from across the industry who have to build large scale Web services on the Web today at Google, Yahoo!, Facebook, Windows Live, Amazon, etc are using RESTful Web services. The only times I encounter someone with good things to say about WS-* is if it is their job to pimp these technologies or they have already "invested" in WS-* and want to defend that investment."
CEP, JMS, JMX e coisas afins (ou não)
http://lucabastos.blogspot.com/ |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/08/2006 01:59:11
|
dreamspeaker
GUJ Ranger
![[Avatar]](/images/avatar/c862890c3fd3e3d203580.jpg)
Membro desde: 22/04/2003 10:09:58
Mensagens: 752
Localização: SP - Capitar
Offline
|
ZehOliveira wrote:
dreamspeaker wrote:O engraçado dessa regra é que ela vai meio "contra" o gráfico, porque o "pico de felicidade" do usuário é justamente menos da metade de tudo que ele pediu.
Acho que houve um problema de interpretação aqui.
A mensagem do gráfico é que o pico é na metade, e o Luca disse pra "nunca fazer TUDO...".
Se é metade, um pouco menos que a metade, é uma questão geométrica!
O que eu quis dizer foi que, para o cliente se sentir feliz, ele precisa de só metade daquilo que ele achava que ele precisaria pra ser feliz!
Vixe, confuso... também, quase 2 da manhã...
Gostei da tática da frase, Luca!
|
André Barbosa
Para de encher o saco e vai doar sangue!
twitter |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/08/2006 06:20:18
|
ZehOliveira
GUJ Ranger
Membro desde: 12/12/2003 22:13:49
Mensagens: 964
Localização: Maceio-AL
Offline
|
Pootz. Essa de cliente pedir 3487 tipos de relatórios diferentes, quando vai lê apenas 5 é de deixar qualquer programador/analista p da vida.
Chato é quando a gente gasta aquele tempão fazendo uma feature, coloca o software em produção e depois de um tempo percebe que aquela feature não tava funcionando, não deu erro e ninguém reclamou de nada. Em outras palavras, ninguém usou.
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 12/08/2006 13:49:14
|
MarcioTavares
Virtual Machine Man
![[Avatar]](/images/avatar/9dfcd5e558dfa04aaf37f137a1d9d3e5.png)
Membro desde: 09/11/2002 19:33:28
Mensagens: 738
Localização: Rio de Janeiro
Offline
|
ZehOliveira wrote:Essa de cliente pedir 3487 tipos de relatórios diferentes, quando vai lê apenas 5 é de deixar qualquer programador/analista p da vida.
É verdade, mas o problema é que às vezes o programador aceita isso só pra agradar o cliente (mais ou menos como o Flávio falou acima). Eu mesmo passei por uma situação dessa alguns meses atrás. Eu assumi um projeto que já estava iniciando a fase de implementação, e o cara que tinha feito todo o planejamento, reuniões com cliente, tinha saído fora da empresa. Ele tinha prometido mundos e fundos pra cliente, que já era chata por natureza, e não se importou em saber se era possível ou não, se seria muito trabalhoso ou não... enfim. Durante o andamento e as entregas ela ficava cobrando tudo o que havia sido prometido antes. E pra explicar que determinada funcionalidade não agregaria nada? E pra explicar que outra funcionalidade demandaria muito tempo pra ser feita? "Ahhh não!! Vocês prometeram isso antes!!!". Era assim mesmo. O próprio contato do cliente, que era meio que um intermediador, falava que ela era chata pra caramba.
|
- Galera do RJ precisa prestigiar os eventos de Java!!
- Sou a favor da extinção do Cobol da face da Terra! |
|
|
 |
|
|