Princípios Arquiteturais

Quase sempre, concretizar uma visão não é uma tarefa fácil. Atingir objetivos exige planos que norteiam em direção à visão pretendida. E um elemento importante de um plano é o entendimento dos princípios que o dirigem. Os princípios norteiam o caminho, tornam as decisões mais disciplinadas e validam alterações no plano. Neste texto, discutiremos como princípios arquiteturais definidos podem deixar claro o caminho para uma visão arquitetural.

Antes de entrarmos nos princípios arquiteturais propriamente ditos, convém introduzirmos brevemente o que significa ser centrado em princípios. Citando Covey:

“Em primeiro lugar, você não está agindo levado por pessoas ou circunstâncias. Escolhe proativamente o que considera a melhor alternativa. Toma a decisão conscientemente, com clareza.

Segundo, sabe que a sua decisão é a mais eficaz, porque se baseia em princípios, com resultados a longo prazo previsíveis.

Terceiro, o que você escolhe fazer reforça seus valores fundamentais da vida. (…)

E, finalmente, você se sentirá confortável quanto à sua decisão.”

- Stephen Covey em “Os 7 Hábitos das Pessoas Altamente Eficazes”

Em se tratando de princípios arquiteturais, as escolhas do processo arquitetural são orientadas por eles. Quando a equipe de arquitetura opta por definir uma lista de princípios arquiteturais para um projeto, tipicamente eles são influenciados por:

  • valores da empresa; 
  • princípios arquiteturais que o time adota (sim, a arquitetura de referência também pode ser orientada por princípios); 
  • objetivos do projeto. 

Como exemplo, seguem os princípios arquiteturais que costumamos empregar com nosso time.

Nossos Principios Arquiteturais
Nossos Princípios Arquiteturais
  1. Alinhamento ao negócio: primariamente a arquitetura deve satisfazer integralmente as necessidades de negócio do produto.
  2. Flexibilidade: para garantir um longo ciclo de vida útil para o produto, a arquitetura deve contemplar mecanismos flexíveis.
  3. Simplicidade: a arquitetura deve priorizar as soluções mais simples salvo quando diminuirem a flexibilidade do produto.

Observe que simplicidade e flexibilidade nem sempre caminham numa mesma direção. A tentativa de deixar uma solução mais flexível aumenta a tendência de complicá-la. Num impasse como este, nossas alternativas são:

  • Se consideramos flexibilidade mais importante para o projeto, damos preferência a ela. Mas, no caso de duas opções igualmente flexíveis, optamos pela mais simples. 
  • Caso entendamos simplicidade com um princípio mais forte que flexibilidade, ficamos com a primeira. E, da mesma forma, entre duas opções simples, a vencedora será a mais flexível. 

Geralmente buscamos o equilíbrio ideal entre simplicidade e flexibilidade a fim de otimizarmos resultados a curto e longo prazos.
Os princípios arquiteturais guiam a arquitetura em direção à visão arquitetural. Mas como isto acontece na prática? Imaginemos duas situações:

  • Suponha que você está em dúvida na adoção de um entre dois mecanismos. Ao recorrer aos princípios arquiteturais, pergunte “qual mecanismo melhor atende aos princípios?” 
  • Outra situação é possível é a refatoração para acomodar um pattern. Considerando os princípios que exemplificamos, pergunte: “O pattern atende melhor ao negócio?” “O pattern é a solução mais simples?” “O pattern aumenta a flexibilidade?” Caso não responda positivamente a alguma das questões e nenhum requisito o justifique, o pattern pode ser desconsiderado. 

Como sugestão para o seu próximo projeto, sugerimos uma experiência: considere declarar a visão e os princípios na sua estratégia arquitetural. Possivelmente suas escolhas se tornarão mais claras.

“The simplest architectures are best.” – Grady Booch

1 comment to Princípios Arquiteturais

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>