Em uma conversa recente o Fábio Camara me indicou um artigo do Fowler para ler. Se você não sabe quem é o Fowler, visite o site dele, busque seu legado (livros, artigos, etc) e vai perceber que o cara é uma bruta referência no mundo do desenvolvimento de software. Enfim, o artigo é intitulado “Who needs an architect?”, ou, “Quem precisa de um arquiteto?”, e sendo recomendado pelo Fábio e escrito pelo Fowler, não dá para deixar de ler, certo?
De cara, quando o Fábio falou o nome do artigo eu respondi a ele (antes de ler o artigo): qualquer software que contenha um mínimo de complexidade precisa ser acompanhado por um arquiteto de soluções. No que ele retrucou que eu ainda não tinha lido o artigo. Oras, como eu poderia conceber que não precisamos de arquitetos? É isso que eu mais faço, é minha paixão, é o que eu faço melhor em desenvolvimento de software: eu construo arquiteturas que entregam soluções que funcionam, focando em todos aqueles conceitos que já conhecemos: facilidade de manutenção, escalabilidade, segurança, confiabilidade, etc, etc.
Pois é, agora eu li o artigo. Percebo que o grande problema que o artigo tenta atacar é a ambiguidade da palavra arquiteto. O Fowloer propõe então uma palavra alternativa: “guide”. O artigo do Fowler contrapõe o arquiteto que constrói um sistema com bases fortes que não devem mudar e o que contrói um sistema com bases fortes e que sabe que elas vão mudar. Contrapõe o arquiteto “todo-poderoso” e o arquiteto colaborativo. E contrapões mais um monte de outras coisas. Acho que a leitura vale a pena, já que acrescenta à discussão da ambiguidade da arquitetura.
Por acaso, a última edição do Architecture Journal (do qual eu já havia falado antes) fala do papel do arquiteto. (Pegue a sua edição aqui – ainda não saiu em português, mas costuma sair logo. Ele é gratuito e você pode até receber uma cópia impressa em casa sem custo algum, nem postagem.) O site Skyscrapr, da Microsoft, também já tocou no assunto da ambiguidade da palavra, e separou os arquitetos em três: soluções, corporativos e infraestrutura.
Eu acho que precisamos sim de arquitetos, e precisamos de uma lingua mais rica também. Desde sempre definir coisas diferentes pelo mesmo nome causa confusão. Não acho “guide” um bom nome para o papel de um profissional colaborativo responsável por arquitetura. O assunto não se esgota fácil, então termino por aqui, deixando a discussão no ar. Há de montes de montes para enriquecer a discussão. O que você acha?
Giovanni Bassi
Arquiteto e desenvolvedor, agilista, escalador, provocador. É fundador e CSA da Lambda3. Programa porque gosta. Acredita que pessoas autogerenciadas funcionam melhor e por acreditar que heterarquia é mais eficiente que hierarquia. Foi reconhecido Microsoft MVP há mais de dez anos, dos mais de vinte que atua no mercado. Já palestrou sobre .NET, Rust, microsserviços, JavaScript, TypeScript, Ruby, Node.js, Frontend e Backend, Agile, etc, no Brasil, e no exterior. Liderou grupos de usuários em assuntos como arquitetura de software, Docker, e .NET.