Arquitetura de Software

Enquanto praticantes e estudiosos da Arquitetura de Software, intencionamos expor nossa interpretação sobre esta disciplina – com base na literatura especializada – e nossas idéias acerca do tema. Imprescindível se faz apresentar nossa definição sobre Arquitetura de Software. Entendemos que:

Arquitetura de Software é a disciplina da Ciência da Computação responsável pelas decisões técnicas fundamentais acerca da construção do software, garantindo que este seja construído conforme as devidas exigências de qualidade.

De uma forma geral, as principais fontes de Arquitetura de Software tratam enfaticamente aspectos técnicos e, muitas vezes, até questões tecnológicas relacionados à disciplina. Entretanto consideramos que o arquiteto de software é responsável, além de modelar a arquitetura do software, em:

  • conceber projetos de software alinhados com o contexto e a estratégia organizacional;
  • formular a estratégia técnica do produto de software;
  • planejar e liderar atividades técnicas na elaboração do software;
  • efetuar análises de viabilidade técnica para a construção do software;
  • elicitar e analisar requisitos arquiteturalmente significativos;
  • modelar a arquitetura de software e aplicar táticas e padrões arquiteturais;
  • contribuir com o gerente de projeto na construção da estrutura analítica de projetos e na mitigação de riscos;
  • garantir que a arquitetura do software seja compreendida por outros profissionais como analistas de requisitos, analistas de negócios, engenheiros de testes, etc;
  • liderar tecnicamente outros arquitetos e desenvolvedores;
  • desenvolver roadmaps de produtos de software ou seja, planejar a evolução de produtos;
  • avaliar arquiteturas;
  • restaurar e reconstruir arquiteturas de sistemas legados.

Para tal, além das inquestionáveis capacidades técnicas necessárias ao trabalho, o arquiteto deve procurar se desenvolver plenamente em aspectos relacionados à liderança e comunicação. Neste blog, equilibraremos nossa visão nos pilares técnico e humano.