Texto escrito em 2012
Semana passada participei de um evento que me fez perceber algo que até então achava ser óbvio para a comunidade de desenvolvimento de software e simplesmente não é. Sei que muitos vão rir de mim em um primeiro momento, mas que se dane: vou jogar aqui de uma vez: as pessoas não sabem ou simplesmente ignoram o que é valor.
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.
Top comments (0)