DevSecOps

16 nov, 2010

Guerra tecnológica: melhor solução ou é nossa opinião?

Publicidade

No mundo da tecnologia, problemas exigem soluções, e as soluções em geral abrem o
leque para mais problemas, o que eventualmente pede outras soluções. Nesse
âmbito, percebemos que tecnologia surge a todo instante. Ora, a cada
problema resolvido, teremos uma solução encontrada, e nesse ciclo
encontramos várias linguagens e plataformas de programação.

Nesse
momento, surgem perguntas errôneas, como por exemplo: “qual é a melhor
linguagem de programação?”. Vamos discutir mais adiante qual seria a
melhor pergunta, antes de encontrar a melhor resposta. O dilema que
vivemos hoje em cada projeto foi vivido também nos primórdios da energia
elétrica. Veja:

Por volta de 1890, foi anunciado um prêmio para aquele que
conseguisse implementar um sistema de distribuição elétrica eficiente. Dentre os inventores que perseguiram a implementação perfeita estavam
Thomas Edson e George Westinghouse, juntamente com Nikola Tesla.

Edson
propunha o método de transmissão por corrente contínua, no qual em cada
quarteirão haveria uma subestação elétrica para manter a tensão elétrica
até os pontos necessários. Por outro lado, Tesla e Westinghouse
propunham a transmissão por corrente alternada, onde a corrente era
elevada a altas tensões para poder ser transmitida a distâncias muito
maiores, e a cada subestação a tensão era convertida novamente.

Edson
era muito famoso por suas inúmeras invenções, em especial a lâmpada. Ele
não era um cientista, antes, era altamente experimental; anotava tudo o que
fazia e tinha como meta criar um pequeno invento a cada 10 dias e um grande invento a cada seis meses.

Já Tesla, que era apoiado por
Westinghouse, estudou nas melhores universidades e era conhecido pelos
seus métodos inovadores e ousados; ele anotava somente o necessário;
chegou a trabalhar com Edson quando fora para os EUA, porém isso não
perdurou.

Edson, pressionado pelos seus clientes quanto à mudança para corrente
alternada, empreendeu diversas campanhas publicitárias para tentar
convencer a população de que a corrente alternada era um risco, e não uma
solução. Em meio a essa guerra travada, Westinghouse propôs a
Edson uma parceria, para que juntos pudessem construir o melhor meio de
transmissão; Edson sequer o respondeu.

A dupla Westinghouse e Tesla ganhou a licitação para apresentação
na feira de Chicago e, devido a isso, Edson proibiu a utilização das suas
lâmpadas, levando Tesla à implementação de uma nova lâmpada para utilizar na
apresentação – que foi um sucesso: toda a cidade iluminada e a premiação das Cataratas do Niágara garantida a eles. A corrente alternada
se popularizou, sendo um método de transmissão utilizado no sistema
elétrico conhecido nos nossos dias.

Podemos ver semelhanças entre o que houve na guerra elétrica com o
que vivemos nos dias de hoje, estamos em meio a uma corrida para o
melhor desenvolvimento, as melhores tecnologias e os melhores métodos que propiciem o
desenvolvimento em custo, tempo e qualidade satisfatórios. Afinal, qual é a
melhor linguagem? Qual o melhor método de desenvolvimento de software?

Acho que não existe uma resposta única para cada pergunta. Creio que as linguagens que temos à disposição e as metodologias que podemos usar para implementar softwares devem ser utilizadas no momento oportuno. É uma questão de
estratégia, muito mais do que um assunto de preferências pessoais. Ou seja, não há melhores e piores, mas sim o mais adequado.

Encontramos
no mercado de TI profissionais com estilos como Edson e Tesla: percebe-se
que Edson tinha uma metodologia parecida com o Scrum, no que condiz às
metas de implementação; por outro lado, ele era altamente documental. Já Tesla era simplista, documentava o necessário e tinha  seu foco
voltado para resultados. Ambos foram gênios que fizeram grandes
descobertas na História, mas o que fica muito explícito na “guerra
elétrica” foi o ego: Edson sabia que a corrente contínua não era ideal
para a necessidade, mas, por ele ser “o grande Edson”, não quis “dar o
braço a torcer”; não foi o seu jeito de trabalhar que o levou à derrota,
nem mesmo o seu conhecimento, e sim o ego. Por outro lado, as decisões
ousadas por parte de Westinghouse e Tesla foram decisivas para o sucesso
do projeto.

Para vermos a mesma guerra que foi travada entre Edson e Tesla/Westinghouse,
basta acessarmos grupos de discussão sobre Gerência de Projetos, Engenharia de Software e Linguagem de Programação; encontraremos
inúmeros “Edsons” e “Teslas” discutindo se devem aplicar Agilidade em tudo, ou usar .Net para todos os projetos, e outras discussões como essas, que não levam a nenhum lugar concreto e raramente servem para outra coisa se não expor uma opinião pessoal.

E então surgem as perguntas… “E se o ambiente for Linux? Vou
forçar Mono para manter .Net  ou implementaria com Java? Será que não
preciso conhecer o todo para implementar as partes?

Se for implementar
uma baleia, eu não preciso saber de toda a baleia? E se eu implementar
só a nadadeira, no final não correria o risco de ter uma nadadeira de
golfinho para colocar em uma baleia?

Será que a mesma regra realmente pode ser sempre aplicada? Até
onde nosso objetivo é fazer um bom projeto, ou será que queremos apenas fazer um bom nome? Acredito que se o projeto for bem feito, consequentemente o nome do profissional será “bem feito” também.

Até onde nosso objetivo é a solução ideal, e até onde ele é apenas a nossa opinião? É preciso refletir sobre isso.