Características de um Arquiteto de Software

Postado em Atualizado em

Quais são as características básicas que um bom arquiteto de software atualmente deve possuir? Resumidamente, temos 6 itens primordiais:

  • Agir como Líder
  • Ser um desenvolvedor
  • Ter o foco na solução
  • Pensar como um empreendedor
  • Balancear estratégica com pensamento tático
  • Se Comunicar  bem

Agindo como Líder

Os bons arquitetos de software entendem que seu papel como líder não é necessariamente dizer aos desenvolvedores o que fazer. Em vez disso, bons arquitetos agem como um guia, orientando uma equipe de desenvolvedores para a mesma visão técnica baseando-se em habilidades de liderança como contar histórias, influenciar, resolver conflitos, ensinar e construir a confiança com os indivíduos para transformar sua visão arquitetônica em realidade. Um bom líder e, portanto, um bom arquiteto, escutará atentamente as opiniões de cada colaborador, ajustando sua visão com o feedback da equipe. Isso leva bem para o próximo ponto

Ser um Desenvolvedor

Fazer boas escolhas arquiteturais consiste basicamente na responsabilidade de equilibrar um ideal arquitetônico conceitual com o estado real de um sistema de software. Por exemplo, não há sentido em optar por um banco de dados de documentos a um sistema se o domínio do problema é mais adequado para um banco de dados relacional, mesmo que seja chato. Um arquiteto pode se sentir tentado a impor tecnologias ou escolhas arquitetônicas sem considerar o fundamento do problema. A melhor maneira de um arquiteto mitigar isso é gastando tempo com desenvolvedores e tempo no código. Entender como o sistema foi construído, e suas restrições, dará ao arquiteto mais informações sobre as escolhas certas para o ambiente.

Ter um foco na solução

Os desenvolvedores experientes sabem que o código é apenas um aspecto do software real. Para tornar o código executável, um desenvolvedor experiente entende que existem outros atributos de qualidade importantes necessários para que o código funcione bem no ambiente de produção. Eles consideram aspectos como desempenho, segurança, escalabilidade, localidade, disponibilidade, confiabilidade, processos de implantação e testes automatizados. Os desenvolvedores simplesmente focam no código, mas o arquiteto no entanto, se concentrará na compreensão não apenas do código, mas também dos atributos de qualidade necessários para atender às muitas necessidades de diferentes partes interessadas. O bom arquiteto se concentra em encontrar soluções que possam satisfazer tantas dessas diferentes necessidades das partes interessadas, em vez de escolher uma ferramenta ou abordagem otimizada para as preferências ou o estilo de um único contribuinte

Pensando como um empreendedor

Todas as escolhas de tecnologia têm custos e benefícios, e um bom arquiteto vai considerar novas opções de tecnologia de ambas as perspectivas. Os empreendedores bem-sucedidos estão dispostos a assumir riscos, mas buscam maneiras de aprender rapidamente e fracassar rapidamente. Arquitetos podem abordar as escolhas de tecnologia de forma semelhante, buscando informações do mundo real sobre os custos de curto e longo prazo e os prováveis ​​benefícios que eles vão perceber. Um bom exemplo é quando o arquiteto evita comprometer-se com uma nova ferramenta baseada na leitura de um novo artigo, ou ter ouvido falar dele em uma conferência. Em vez disso, eles procuram entender como a ferramenta é relevante em seu ambiente, coletando mais informações. Eles não escolhem uma ferramenta baseada em quão bom a toa, mas que valor oferece, dado o que eles precisam para o seu sistema.

Balanceamento estratégico com pensamento tático

Muitas equipes constroem seu software de forma reativa com desenvolvedores individuais que escolhem ferramentas e tecnologias com as quais se sentem mais confortáveis ou com mais experiência.  O bom arquiteto mantém um olho fora da caixa, alem da zona de conforto para que novas tecnologias, ferramentas ou abordagens que possam ser úteis, mas não necessariamente imediatamente. A adoção da tecnologia requer uma abordagem que considere um horizonte de longo prazo. Os arquitetos procurarão um bom equilíbrio entre a agilidade, permitindo que a equipe se mova rapidamente e o alinhamento, mantendo a consistência suficiente, tanto no nível organizacional como em equipe.

Comunicando bem

Arquitetos sabem que a comunicação eficaz é uma habilidade fundamental para a construção de confiança e influenciar as pessoas fora da equipe. Eles sabem que diferentes grupos de pessoas usam vocabulário diferente e que usar os termos técnicos e descrições com os empresários torna a comunicação mais difícil. Em vez de falar sobre padrões, ferramentas e conceitos de programação, o arquiteto usa palavras com as quais seu público estará familiarizado. Comunicar opções técnicas aos empresários com palavras como risco, retorno, custos e benefícios servirá melhor a um arquiteto do que as palavras que eles usam com sua equipe de desenvolvimento. Um arquiteto também percebe que a comunicação dentro da equipe é tão importante quanto fora e usará diagramas e discussões em grupo para estabelecer e refinar a visão técnica e usar um registro escrito como um registro de decisão arquitetônico ou um wiki para fornecer uma trilha histórica para gerações futuras.

Vamos praticar? Vem comigo!

“Tu és grande e poderoso, glorioso, esplêndido e majestoso. Tudo o que existe no céu e na terra pertence a ti; tu és o Rei, o supremo governador de tudo.”1 Crônicas 29:11

Um comentário em “Características de um Arquiteto de Software

Os comentários estão encerrados.