Porque não criar o seu próprio framework de desenvolvimento

Em experiências recentes, pude acompanhar pelo menos 3 cases diferentes de empresas que “tentaram” criar e manter os seus próprios frameworks de desenvolvimento. Por acaso, nos três casos a tecnologia usada era Java, mas o aviso vale para qualquer linguagem. Em todos os casos foi possível perceber que essa escolha acaba levando para um caminho de atualizações lentas, quebras constantes de API, limitações de integração com outras tecnologias ou mesmo integrações mal sucedidas.
Não que os desenvolvedores tenham pouco talento (tem vezes que sim), ou que só os “gringos” saibam fazer isso, não é isso. Como exemplo de framework brasileiro de sucesso eu posso citar o VRaptor da Caelum que é um excelente framework Java para desenvolvimento Web com alta produtividade. Os problemas no caso das empresas acompanhadas são vários, e posso destacar os seguintes:

  • Desenvolvimento centralizado: Diferentemente do que acontece com projetos open source, naquelas empresas, o desenvolvimento, atualização e adicão de novas funcionalidades fica centralizado em uma pequena equipe, sem que ninguém mais na empresa possa ter acesso ao código para fazer suas próprias modificações. Esse posicionamento costuma ocasionar lentidão nas atualizações e limitação nas funcionalidades disponiblizadas.
  • Se não foi feito aqui, então não serve: outro ponto percebido é que o que vem de fora, nunca serve exatamente, sendo assim, elas acabam tentando reinventar a roda para coisas que já existem prontas, ou praticamente. O correto seria buscar a solução open source mais próxima e se for o caso, alterar o código e ainda submeter a alteração de volta ao projeto. Vai que alguém mais precise do que acabou de ser implementado. É o mínimo que se deve fazer, como forma de contribuir com a comunidade.
  • Documentação e treinamento: Outro problema ocasionado nos casos observados é que o tempo gasto para que um novo desenvolvedor alcance uma produtividade razoável, é maior quando você opta por desenvolver o seu próprio framework. Primeiro, porque o framework é algo que somente a sua empresa usa e segundo porque “geralmente” a documentação do projeto não está em dia, então você acaba gastando mais tempo tendo treinar o desenvolvedor, para que ele pelo menos conheça a API e as convenções utilizadas na empresa.

Em resumo o que devemos perceber é que criar o nosso próprio framework de desenvolvimento nem sempre (na maioria das vezes) é a solução para os problemas. Como o sujeito da foto pode atestar, carregar esse elefante nas costas só vai deixar a sua empresa mais lenta e vulnerável diante da concorrência. Por outro lado, utilizar frameworks de mercado que possuam apoio da comunidade pode trazer vantagens, tais como: facilidade para encontrar desenvolvedores treinados, suporte (fóruns, listas) e documentação atualizados e de fácil acesso e acompanhamento das tendências de mercado/comunidade, já que você estará acompanhando as evoluções implementadas no framework de mercado.

Por mais que a sua equipe seja qualificada e independente do tamanho dela, dificilmente você conseguirá superar, tanto em disponibilidade de tempo quanto em número de desenvolvedores, os projetos open source que são mantidos por centenas ou milhares de programadores pelo mundo. Comece a pensar na sua empresa como sendo parte da comunidade, contribua com o projeto ou projetos que você escolheu usar e pare de reinventar a roda!

Comments (3)