Existe uma máxima que é propagada por algumas pessoas que diz que devemos ter o foco na solução, ao invés de ter o foco no problema.
A lógica por trás desse pensamento diz basicamente que focar no problema não é produtivo. Focar no problema vai gerar lamentações e pouco resultado pra se livrar deste problema.
Ao focar na solução, você está focando na resolução do problema, que é o que interessa. Ao invés de se lamuriar, você irá agir.
Quando falamos em resolver os problemas da vida, como um todo, eu concordo bastante com essa linha de pensamento…
…mas não concordo, quando falamos em desenvolvimento de software!
O que canetas, astronautas e desenvolvimento de software têm em comum?
Existe uma história (mais com cara de causo) contada volta e meia no meio corporativo que ilustra um problema bem peculiar, mas ao mesmo tempo, com um simbolismo muito comum.
Em meio a corrida espacial travada entre EUA e URSS na guerra fria, ambas as equipes espaciais descobriram que não era possível utilizar uma caneta comum no espaço. Este problema ocorria porque no espaço não há gravidade e sem gravidade a tinta não sai da caneta.
Os americanos então assumiram que a solução para este problema seria desenvolver uma caneta que pudesse soltar a tinta independente da gravidade existir ou não. Milhares de dólares, esforços e time foram dedicados a desenvolver essa solução. Depois de certo tempo conseguiram atingir seu objetivo: criaram uma caneta que pudesse escrever no espaço!
Em contrapartida, os russos entenderam que o problema era não conseguir escrever no espaço. Com uma caneta não era possível escrever no espaço, então eles resolveram utilizar um lápis.
Sempre coloque foco no problema, nunca na solução
Quando desenvolvemos software, tendemos a focar sempre na tecnologia empregada para resolver determinado problema, e não no problema em si.
“Eu quero um site com um formulário de contato que capture o IP do usuário que está enviando a mensagem. Então, através do IP, vamos descobrir de qual cidade o usuário está acessando e então poderemos saber de onde esse usuário está enviando a mensagem”.
Qual o problema acima? Não saber onde de onde o usuário mora. Rastrear pelo IP dele é uma solução para resolver este problema? Sim. É a única? Não!
Outra solução seria adicionar mais um campo ao formulário de contato chamado cidade onde o usuário preencheria com a cidade de onde se corresponde. Muito mais simples, certo?
Este é o valor de ter seu foco voltado ao problema. Ao exercitar sua criatividade buscando soluções mais simples aos seus problemas você acaba desenvolvendo software de maneira mais eficaz, e por consequência, de maneira mais barata.