Gestão da arquitetura de software

É cada vez mais comum que empresas e projetos tenham pessoas ou times exercendo o papel do arquiteto de software e atividades em cronogramas relacionadas ao desenho de uma arquitetura de software. Mas o que é a arquitetura de software e quais são as atividades que devem ser realizadas pelo arquiteto de software? A arquitetura é uma atividade puramente técnica? Criar uma arquitetura de software é apenas modelar diagramas e implementar provas de conceito? A arquitetura de software produz realmente valor de negócio para um projeto? E como poderíamos organizar as atividades de arquitetura de software para gerar valor concreto para um projeto, produto ou organização?

A arquitetura de software tem por objetivo fazer o melhor uso dos recursos técnicos de um projeto para garantir a maior eficiência possível aos objetivos do projeto, produto e mesmo à visão e missão de uma empresa.

Podemos identificar, nesta visão, atividades tais como:

  • garantir o alinhamento técnico do projeto às diretrizes e estratégias tecnológicas de uma área ou organização, bem como à sua cultura organizacional;
  • atender as restrições gerenciais de um projeto tais como custo, prazo e competências técnicas da equipe;
  • identificar e detalhar requisitos significativos para a arquitetura de software;
  • antecipar e mitigar os riscos técnicos de um projeto;
  • realizar a análise e desenho técnico da arquitetura através de técnicas de modelagem arquitetural;
  • construir provas de conceito e gerar código executável para os principais pontos de risco do projeto;
  • orientar e acompanhar o time técnico para garantir a aderência do código construído às diretrizes arquiteturais do projeto;
  • validar a estabilidade e objetivos da arquitetura do produto;
  • coletar lições aprendidas e promover um novo ciclo de melhorias.

Em verdade, o ciclo de vida da arquitetura de software deve ser compreendido através de um processo mais amplo que aspectos puramente técnicos, que denominamos aqui como a gestão da arquitetura de software

Arquiteturas de software são sempre desenvolvidas dentro de um contexto de negócios como, por exemplo, a criação ou evolução de um produto, a automação de processos de negócio ou a integração entre sistemas de fornecedores distintos. Assim como a arquitetura de software realiza tecnicamente objetivos organizacionais, ela deve prover feedback do mundo real conforme mostrado na figura abaixo.

Influências sobre a gestão da arquitetura de software

“O líder planeja no início, antes de começar a agir” – Sun Tzu em “A Arte da Guerra”

1 comment to Gestão da arquitetura de software

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>