none
Como não criar um framework RRS feed

  • Pergunta

  • Qual a opinião de vocês a respeito do assunto.

    
    

    Muitas pessoas tem a bendita ideia de pegar seus códigos fontes, a maneira como elas desenvolvem, seus padrões e criar um framework, uma arquitetura de referência para impor na empresa e todos outros desenvolvedores usarem. Geralmente esses frameworks são baseados em outros frameworks que irão evoluir e com certeza o framework criado não vai conseguir evoluir junto, causando um puta atraso para a empresa e também para os desenvolvedores que são obrigados a usar a gambiarra.

    Por outro lado existem pessoas que realmente fazem frameworks úteis, que não tem o objetivo de resolver todos os problemas do mundo, e sim um problema especifico e que ainda não tenha solução.

    De qualquer forma, se você ainda tem a ideia de fazer uma arquitetura de referência para resolver a fome do mundo e definir todas as camadas de todos futuros sistemas da sua empresa, ou então tem uma ótima ideia para um framework realmente útil, vale a pena ler esse comentário feito pelo Rod Johnson, criador e CEO do Spring em entrevista para a revista Java Magazine deste mês:

    Houve uma série de decisões de projeto / design que foram importantes para que o Spring prevalecesse, uma delas foi que muitos frameworks são baseados na idéia de restringir os desenvolvedores, acreditando que os desenvolvedores e projetistas do framework sabem mais que os usuários do framework. E por isso um dos objetivos do framework é checar e controlar o que os desenvolvedores fazem.

    Tivemos uma abordagem diferente com Spring, acreditando que desenvolvedores são profissionais que merecem ser tratados com respeito, ao invés de usar rótulos e forçá-los a trabalhar da forma que queremos que eles trabalhem.

    Confesso que conheço muitos desenvolvedores que merecem ser presos e controlados. Nesse comentário, a frase que mais me chamou atenção foi: desenvolvedores são profissionais que merecem ser tratados com respeito. Esse pensamento já vem a algum tempo martelando minha cabeça. Hoje sou muito a favor de tratar desenvolvedores como profissionais, não precisamos e nem devemos fazer frameworks para controlar as coisas que esses caras fazem no sistema, afinal, ele é um profissional, recebe por isso e deve agir e ser cobrado como tal. Caso ele não tenha atitude nem conhecimento necessário para o desenvolvimento no projeto, na minha opinião ele deve ir para outro projeto, para não ser radical e dizer que ele não é necessário para empresa. As reuniões de retrospective e diária do scrum são ótimas para identificar esses caras ;).

    Enfim, se for criar um framework, crie algo no espírito do Spring, tenha em mente como alvo desenvolvedores profissionais. Tendo essa mentalidade, caso sua ideia é fazer uma arquitetura de referência, você provavelmente já desistiu. O segundo apelo é para os responsáveis pela contratação de desenvolvedores, por favor, contratem bons profissionais e ajude as arquiteturas de referência a morrerem de vez



    • Editado Mr. GMSOFT domingo, 1 de março de 2015 17:59
    domingo, 1 de março de 2015 17:53

Respostas

  • Acredito que o importante, como vc mesmo disse, seja criar frameworks para resolver necessidades pontuais e de uma maneira que não impeça a evolução dos projetos na tentativa de adotar novas tecnologias.

    Infelizmente também, o pessoal tem a ideia de criar arquiteturas para resolver tudo, mas que no final mal atendem aos propósitos para os quais foram criadas inicialmente.

    A falta de uma maior pesquisa por soluções é outro ponto agravante; praticamente em todos os lugares que trabalhei sempre apareceu alguém com esse perfil "revolucionário", mas que ao final mudou de emprego quando as dificuldades apareceram (deixando uma bomba relógio para trás).


    domingo, 1 de março de 2015 19:30