O usuário que se foda!
Minha filosofia: mais importante do que saber o que implementar é saber o que não implementar para não perder tempo. Se eu entendo que têm coisas que raramente acontecem eu deixo pra lá. Quando acontecer? O usuário que se foda!
Não que eu não me importe com o usuário. Muito pelo contrário. Eu só deixo de fazer estas coisas que acontecem raramente para focar em coisas que acontecem com freqüência. No fundo, estou pensando em atender o usuário na maioria dos casos – o que realmente vai fazer diferença para ele no seu dia-a-dia. Não existe o Software perfeito e o usuário vai me xingar de qualquer forma. Mas não vai xingar a maior parte do tempo (porque a app ficou ruim pois perdi tempo desenvolvendo para a exceção). Ela vai me xingar só na hora da exceção.
O problema? O pessoal de TI vive desenvolvendo software para a exceção sem ao menos questionar a importância da exceção. Mas a exceção adiciona complexidade ao Software em todos os sentidos. Você vai levar mais tempo para fazer e muitas vezes vai ter uma usabilidade ruim para os casos que não são exceção… ou seja, para a maioria dos casos, justamente onde a usabilidade deveria ser boa. Neste caso, se você tiver mesmo que tratar a exceção faça isto a parte. Não prejudique 99% da usabilidade do seu software por causa do 1%. Se a usabilidade tiver que ficar ruim que fique no caso do 1%. Enfim, trate exceção como exceção, ou melhor, não trate… acredide, muitas vezes você não precisava lê-lo feito.
Pense nos Softwares que vocês usam. Quantas vezes não conseguimos fazer determinadas coisas? Isto é a Apple e a Microsoft falando “foda-se!” para nós usuários. Eles também não tratam todas as exceções. Por que nós, pobres mortais, temos esta ficção nisto? A minha dica é: Mesmo que o usuário bata o pé, se você estiver confiante que não precisa tente postergar. Deixe para fazer por ultimo. No meio do caminho faça coisas bem melhores, coisas que vão desviar a atenção dele. Acredite, lá no final o usuário não vai nem lembrar daquelas besteiras que ele pensava que eram importantes.


KISS – Keep It Simple, Stupid! Muito bom, Beck!
Perfect. Beck Win.
Getting Real.
Realmente a mentalidade é correta, aliás, corretíssima, porém levemente utópica. Na prática, enfiar isto na cabeça do cliente (que está lhe pagando para desenvolver SUA ferramenta)é mais difícil que acertar uma interface complexa prá IE6. Rsrs… Cliente é tudo igual, sempre metem o bedelho onde não devem, e são fanáticos por tratar as excessões como o foco do desenvolvimento.
Concordo com não perder a usabilidade de 99% do projeto por causa de 1%.
Mas como Moisés comentou infelizmente o cliente as vezes não consegue visualizar a situação e quer que este 1% seja feito. As vezes ele só conseguirá visualizar a situação da perda quando estiver usando mesmo o sistema.
O que ocorre também muito hoje em dia é o comodismo existente no cliente que faz com que queira soluções parecidas com coisas que já possuem.
Por exemplo: a empresa controla o caixa e estoque em um excel e quando decide fazer um sistema para isto quer que tudo fique igual, mesmo o sistema sendo muito mais fácil ou direto para sua necessidade. Ele não quer aprender algo novo.
Concordo que o usuário/cliente do 1% se exploda neste momento, mas as vezes temos que ceder por necessidades da empresa de manter seus gastos.
Diz a lenda que um escultor famoso fez uma estátua a pedido de um Rei. E ele fez uma estátua realmente muito bonita. Mas, ao apresentar o seu trabalho para o Rei, este disse. – Ficou muito bom. Só não gostei do Nariz. Então o artista voltou para casa, deixou a estátua no armário durante três semanas, e voltou para apresentar a estátua para o Rei, sem nenhuma modificação. Desta vez o rei disse. – Agora sim! Está perfeito!
Moral da história. O cliente quer sempre dar o seu toque no trabalho que ele encomenda. Isso é psicológico! Eu, muitas vezes finjo que ouço e não faço. Mas só faço isso porque depois eu chego com coisas tão melhores (porque foquei na coisa certa) que ele nem lembra daquelas besteiras que iriam consumir todo o meu tempo no projeto.
Como diria Steve Jobs: Nunca ouça seus clientes! Eles não sabem o que querem.
Isso ai Beck, apoiado!
Isso me lembra quando eu dava aula de Flash e vinham desenvolvedores das agências praticamente forçados pelos chefes para o curso e torciam o nariz para muita coisa, onde eu usava um exemplo utópico mas necessário:
Não importa se o servidor das sua loja virtual for um 486 rodando linux e imprimir o pedido em uma matricial LX 810, ou o ultra mega servidor de U$ 100.000,00 banco de dados Oracle, proteção contra terremotos, etc…
O usuário não vai ver isso e sim a interface que vc desenhou e desenvolveu. Ele quer comprar num ambiente bacana, fácil de utilizar e que o produto chegue na data prevista.
Concordo. Só mudaria pra “as exceções que se fodam” =)
No aplicativos do Office 2007, geralmente fazem esse trade-off bem (depois que passaram a usar o Ribbon), usando o padrão de exibição progressiva (progressive disclosure)… As funcionalidades mais usadas tão logo na cara, enquanto as menos usadas ficam mais escondidas. Pra imprimir “normalmente”, é pá pum. Já pra imprimir com orientação Paisagem, com 2 páginas por folha, nos 2 lados e em folha A3, é mais trabalhoso e demorado. Se fosse apresentar todas essas funcionalidades (que são exceções) logo de cara, atrapalharia o desempenho da tarefa mais frequente, que é o imprimir “normalmente”.
Concordo! O próprio Google é um bom exemplo, seus serviços sempre começam em beta, com foco no que mais importa e, aos poucos, evoluem as funcionalidades.
Ótimo post!
Eu nunca havia pensado assim, sempre perdi muito tempo em frescuras dos clientes! De agora em diante começarei a avaliar melhor as solicitações e as exceções dos clientes!
Valeu!
Já tive um chefe assim, ele focava 100% do tempo no 1% da exceção… mas aí chega uma hora q vc pensa que trabalhar assim é pura perda de tempo. Esta é a filosofia de desenvolvimento de muitas empresas.
Quando o foco final da empresa não é tecnologia, o que sobra é mostrar “efeitos mágicos e recursos inúteis” para a diretoria (que na sua maioria, não entendem nda e tudo é MUITO LEGAL!!!), o gerente de TI fala: o que importa é agradar o chefe e que se foda-se o resto. Agora preciso terminar mais um gráfico para meu chefe controlar o cafezinho, legal vou usar o SuperCoverFlowChartTweenResiZe!!!!!