Pular para o conteúdo principal

Decompose by Business Capability

Descrição​

Decompose by Business Capability define os serviços a partir das capacidades de negócio, isto é, das coisas que a organização faz para gerar valor, como gestão de pedidos, catálogo, estoque ou entrega. Uma capacidade costuma corresponder a um objeto de negócio e pode ser organizada em hierarquias de vários níveis.

Como as capacidades mudam lentamente, a arquitetura resultante é estável. Cada serviço expõe uma API que esconde sua implementação, e a maioria das mudanças afeta apenas um serviço, o que permite equipes pequenas, autônomas e orientadas a valor de negócio. Um bom ponto de partida é a estrutura organizacional e o modelo de domínio de alto nível.

Problemas que resolve​

  • Como decompor uma aplicação grande em serviços de forma estável ao longo do tempo
  • Serviços precisam ser coesos e fracamente acoplados, com APIs que ocultam a implementação
  • Mudanças devem tocar, em geral, um único serviço, evitando coordenação entre equipes
  • Cada serviço deve ser testável e pequeno o bastante para uma equipe de cerca de 6 a 10 pessoas

Quando usar​

  • Ao desenhar ou refatorar para uma arquitetura de microsserviços com equipes autônomas
  • Quando a organização tem capacidades de negócio bem identificáveis e relativamente estáveis

Quando evitar​

  • Em aplicações pequenas, em que a decomposição só adiciona complexidade
  • Quando o entendimento do negócio ainda é superficial e não há como iterar sobre os limites

Trade-offs​

GanhoCusto / Risco
Arquitetura estável, pois capacidades mudam poucoExige entendimento real do negócio
Serviços coesos e fracamente acopladosIdentificar capacidades é um processo iterativo e sujeito a erros
Equipes multifuncionais voltadas a valor de negócioCapacidades de granularidade errada geram serviços grandes demais ou acoplados
  • Os limites devem ser revistos conforme o entendimento do negócio evolui.
  • Fluxos que cruzam capacidades exigem colaboração entre serviços (sagas, eventos).

Diagrama​

Cada capacidade de negócio dá origem a um serviço com responsabilidade própria.

Padrões relacionados​

Referência​