Agile

13 out, 2010

Não à ditadura do desenvolvimento

Publicidade

Saudações, pessoal!

Como sabem, sou da área de desenvolvimento de software, mas neste artigo farei o papel do advogado do diabo  =D

Vou começar com uma analogia:

Você está morrendo de fome e, depois de andar um pouco, entra no
primeiro restaurante que encontra; sua vontade é de comer um hamburguer,
na verdade você até gostaria de um prato melhor, mas a fome é tanta que
a velocidade de ter um hamburguer torna o prato o mais interessante que
você pode imaginar

Você não sabe, mas quem vem atender é um dos melhores chefs do mundo,
estudou por anos com os melhores chefs e aprendeu as mais variadas
receitas, conhece todas as tendências da culinária e faz com maestria os
mais refinados pratos. Ele ouve o seu pedido, diz que fica pronto em 10
minutos e vai para a cozinha.

Mas, quando o Chef começa a pegar os ingredientes, pensa: “não! Ele não vai querer
um hamburguer! Ninguém mais está comendo esse tipo de comida hoje em
dia! É comprovado que faz mal a saúde a longo prazo! Ele quer satisfazer
a fome, eu entendi isso e vou fazer de uma forma melhor, vou preparar
um Blanquette de veau
(digamos que o preço do prato seja o mesmo), vou levar apenas 10 minutos
a mais e, além de satisfazer a fome dele, ele terá um prato saudável,
com mais vitaminas e que os mais variados chefs recomendam.”

O chef volta e o cliente, já revoltado pelo prato ter demorado mais do
que ele esperava, olha e vê que não é o que ele queria, manda o chef voltar
para a cozinha e fazer o hamburguer que havia pedido.

O chef, perplexo, argumenta: “Não é possível! Este prato é bem melhor e mais
saudável, por que você vai querer um hamburguer? Agora que fiz um prato
melhor, vou ter que refazer de uma forma pior?”.

Você fica com tanta raiva que não quer mais argumentar, tudo o que quer é o seu hamburguer.

Parece engraçado, mas no mundo do desenvolvimento isso às vezes acaba
acontecendo. Estudamos tanto a melhor forma de fazer um software, que
às vezes acabamos sequer perguntando ao cliente se é realmente isso que
ele quer.

Você pode pensar, “eu sou de TI, portanto sei o melhor para o meu
cliente”, assim como o chef da minha estória pensou. Porém, tenho a mesma opinião
expressada por Kent Beck no livro “Programação Extrema Explicada”, no
capítulo 14:

“Mesmo que a escolha de uma tecnologia pareça ser, em
princípio, uma decisão técnica, ela é na verdade uma decisão de negócios,
mas em que deve ser levado em conta informações do Desenvolvimento. O
cliente precisará viver com um fornecedor de um banco de dados ou uma
linguagem por muitos anos e ele precisa sentir-se confortável com a
relação tanto em nível de negócios quanto no nível técnico. Se um
consumidor me diz que quer um sistema e que eu devo usar o banco de dados relacional XDB e uma IDE Java, minha função é apontar as
consequências dessas decisões. Se eu penso que um banco de dados
orientado a objetos e C++ é a melhor escolha, eu tenho que fazer as estimativas do
projeto dos dois jeitos, e então as pessoas de negócios podem tomar uma
decisão de negócios.

É nosso dever argumentar sobre um benefício que outra alternativa
teria, no entanto se ainda assim o cliente quiser um hamburguer, faça o
hamburguer! Não fique preso ao que os demais chefs apontam como
tendência, ou o que eles vão pensar se souberem que você fez um
hamburguer. Além de mostrar que você entende o seu mercado, vai
satisfazer seu cliente e, quem sabe, fazê-lo voltar outro dia para
apreciar o Blanquette de veau.