A Síndrome do "Não Inventado Aqui"

Tenho visto seguidamente ao longo dos anos que trabalho com tecnologia da informação (e estou certo que não sou o único) uma série de situações onde desenvolvedores de software simplesmente ignoram a existência de tecnologias e técnicas simplesmente por não levarem em consideração, ao longo de suas trajetórias, que outras pessoas podem ter feito a mesma coisa anteriormente com uma visão muito mais completa do problema.

Os argumentos para querer “re-inventar a roda” são tantos e tão variados que seria impossível enumerar uma quantidade significativa aqui, assim sendo, deixo aqui esse espaço para que os meus 2 ou 3 leitores ocasionais descrevam aqui as situações impares de NIH (Not Invented Here) pelas quais já passaram.

Apesar de já criticar largamente esse tipo de atitude há um bom tempo, só recentemente tomei conhecimento do termo própriamente dito depois que foi postado um texto sobre o assunto abordando a decisão dos desenvolvedores do Django, o Framework Web com o qual eu venho trabalhando, de não aproveitar o código de terceiros na sua composição, fato esse que vem sendo lentamente revertido mas que foi, de certa forma, até benéfico para a consolidação da ferramenta.

Mas quais benefícios e malefícios a decisão de aplicar ou não as idéias de terceiros podem trazer a um projeto? Pois bem. Quem aqui disse que é preciso usar unicamente um pedaço de software de outra pessoa para fugir da tal síndrome?

É preciso estar atento às mudanças, saber escolher dentro da miríade de opções de tecnologias e técnicas que aparecem todos os dias, aplicar apenas aquilo que traga algum benefício real ao projeto, optando por re-utilizar o código de terceiros ou, em segunda instância, aplicar engenharia reversa, ou ainda, apenas se basear em boas idéias alheias para criar algo que ofereça o melhor dos dois mundos, ou seja, o entendimento e controle total sobre o código e a eficiência já comprovada daquilo que realmente funciona bem em projetos de terceiros.

Fazer valer o ditado que diz que é sábio aprender com os erros dos outros é uma dádiva, principalmente em se tratando de aplicações para web e produtos que devem atender a critérios de usabilidade e acessibilidade. O fato de estar fazendo algo que não é completamente novo e que segue diversas tendências já consolidadas pode castrar de certa forma a criação, mas poupa tempo e esforço, sendo portanto mais produtivo e possibilitando um saldo de disposição para as etapas do projeto onde ela, a disposição, é mais necessária.


1 Comment

  1. Bom texto. Reutilização FTW


Deixe uma resposta