O Valor, o Hype e o Hypista no desenvolvimento de software

Texto escrito em 2012

O que é valor?

Na Filosofia o conceito de valor está ligado diretamente à justificativa de uma escolha. Por que é bom ser correto ao invés de mentiroso? O que justifica optarmos por esta estratégia ao invés daquela? Esta justificativa precisa se apoiar em fatos, o que torna a definição do contexto em que a questão se coloca fundamental.

Nosso contexto é o desenvolvimento de software e a justificativa o que será agregado. A escolha diz respeito à opção por uma ou outra tecnologia/estratégia/processo/mentalidade. A questão é: agregar para quem? Há duas possibilidades: o desenvolvedor ou o cliente.

Se for um ganho para o desenvolvedor, este se dá sob a forma de conhecimento que pode ser aplicado a trabalhos futuros. Trabalhos futuros são executados para alguém: o nome deste "alguém" é cliente. Sendo assim, aqui está a minha definição de valor dentro do desenvolvimento de software:

Valor é a justificativa por trás de uma escolha visando agregar positivamente ao cliente.

É muito óbvio né? Então vou dar dois exemplos que mostram o quão longe da questão estão as pessoas da nossa área. São casos comuns e possívelmente o leitor já se deparou com algo assim ao participar destes eventos voltados para a nossa área. É só apertar um pouquinho a sua memória (se bobear, vai me ver em um dos exemplos).

Situação 1: afogando o ouvinte em escolhas

Um dos assuntos mais quentes últimamente diz respeito ao desenvolvimento de aplicações 100% baseadas em JavaScript tanto do lado cliente quanto servidor. Para cada uma das camadas há inúmeras possibilidades, que nosso palestrante alegremente nos expõe.

Terminada a palestra, sabemos que há um leque imenso de opções disponíveis ao desenvolvedor. Duas perguntas normalmente não são respondidas:

  • O que meu cliente ganha quando uso esta tecnologia?
  • Visto que tenho tantas opções, qual o comparativo entre estas que justifique a opção de uma ou outra?

Resumindo: opções foram jogadas na sua cara, mas justificativas que lhe ajudem a optar por uma ou outra não. Ter um monte de opções não é ter valor: ter um monte de justificativas aplicadas a cada uma sim. Importante mencionar que justificativa pode ser tanto a favor quanto contra uma opção.

Situação 2: afogando o ouvinte em detalhes

Há um ditado popular que diz ser o melhor médico aquele que está doente. Bom: eu já me curei. A melhor maneira de ilustrar esta situação é com a seguinte pergunta:

Imagine que você precise vender uma linguagem de programação em 40 minutos: o que você falaria?

Nosso palestrante podería tentar vender Groovy por exemplo mostrando alguns detalhes interessantes da linguagem, como o fato de ser dinâmica, podermos escrever Java Beans com menos linhas de código ou expondo o fato de termos closures. Há uma infinidade de aspectos interessantes em Groovy! Um ouvinte poderia se levantar e soltar uma frase como esta:

Minha equipe já possuí uma boa experiência com nossa linguagem corrente e o que você descreveu conseguimos fazer também com alguns subterfúgios.

O que este questionador - que aos olhos do palestrante normalmente é visto como um ser desagradável - está na realidade pedindo é o valor por trás da linguagem/tecnologia. Para cada um dos detalhes apresentados o questionamento a respeito do porquê devemos trocar nossa linguagem por esta se aplica e é válido, ou seja, implora por valor.

Entenda: não há valor em detalhes técnicos, mas sim no todo. Existir uma sintaxe mais bonitinha que me permita codificar algo com menos linhas de nada vale se o custo para o aprendizado for muito alto para minha equipe e não agregar nada para meu cliente. Talvez uma resposta válida fosse que a produtividade da equipe aumentaria significativamente por causa dos detalhes, mas neste caso teríamos de lidar com os pontos negativos também, como ausência de mão de obra qualificada.

E lembre-se: não há bala de prata. Toda tecnologia tem pontos positivos e negativos. Ah, sobre isto é importante falar sobre o quê e quem está nos desviando do que interessa, o valor.

O Hype e o "Hypista"

Conforme você fica mais velho se torna mais claro quando o hype ocorre. Hype é a super valorização de determinado objeto, você o usa por que basicamente é O objeto. Repare que normalmente não há muitos pontos negativos no que é vendido. Ele é lindo, é usado por pessoas inteligentes, e você normalmente é uma pessoa muito atrasada se ainda não usa. Mas claro, você é um cara bacana certo? Não???

Normalmente é vendido por algum imbecil disfarçado de hipster. Aquele tipo de pessoa que desperta o desejo adolescente de fazermos parte de um grupo seleto composto só por pessoas divertidas, descoladas, brilhantes e bem sucedidas. E sim: o "valor" que os caras te oferecem é apenas o de ter a chance de fazer parte deste grupo. Ah: e o ganho pro cliente? O ganho pro cliente é ter um desenvolvedor ultra hipster!

É muito fácil detectar o Hypista: ele é um cara ultra cool e já chega dizendo que todo caminho diferente do que está vendendo é errado, mainstream, antiquado, etc. Repare: ele não vai ver valor nas outras opções, é uma variante do fan boy. O problema é que estes caras são ultra férteis e tem procriado horrores.

Você destrói o Hypista com uma única pergunta. Assim que ele terminar sua apresentaçao, basta soltar algo do tipo:

Muito bonito isto tudo o que você me mostrou. Sabe, minha equipe já está acostumada a trabalhar com o modo antiquado (faça uma careta para parecer cool, eles sempre acreditam). O que nosso cliente ganha com a nossa mudança para o seu brinquedo novo e qual o custo disto?

Pronto: você criou um inimigo e garantiu alguns segundos de diversão. Normalmente a resposta vai ser precedida por algo do tipo "Ah... ahn.... bom: veja bem... é... sabe...". Pronto: hypista detected. Outro aspecto interessante: repare que as apresentações destes caras normalmente são muito parecidas com aquelas vendas que vemos nos canais de compra. O bom profissional não vende, ele expõe valor. Jà parou pra pensar que houve alguma razão para criar todas aquelas opções descartadas pelo Hypista?

Importante: nem sempre o que está sendo vendido pelo Hypista é ruim. O problema é que o idiota não sabe o que é valor.

Concluindo

Da pra concluir duas coisas deste meu post. A primeira é que a questão do valor não é tão óbvia quanto pensamos. É preciso ter auto crítica e saber afogar o hypista que todos temos dentro de nós. Quando nos deparamos com alguma tecnologia ou linguagem nova é muito comum nos apaixonarmos por ela. O apaixonar-se normalmente é acompanhado de cegueira. Tá achando aquilo muito lindo? Seja como nós mineiros e desconfie: nada é tão lindo assim, sempre há um custo. Pra que aquele negócio serve de fato? Com o que já tenho já não resolvo o problema não? O custo vale à pena? Outro ponto importante é a quem o valor deve ser agregado: sempre, por mais que neguemos é o cliente direta ou indiretamente. Muitas vezes o valor de algo é sabermos que simplesmente não iremos usá-lo.

PS: e talvez eu esteja ficando meio rabugento com o tempo.

28