Matheus Castiglioni

Inverse Conway Maneuver

Em um post anterior vimos a famosa Lei de Conway, nele entendemos os problemas que existem quando nos deparamos com tal lei.

Como exemplo do post havíamos visualizado um sistema onde sua arquitetura era dividida em camadas, ou seja, uma camada para o front, outra para o back, uma para o banco de dados e a última de infraestrutura.

Caso não tenha visto o post vejá aqui: https://blog.matheuscastiglioni.com.br/lei-de-conway/.

Exemplo da arquitetura de exemplo:

Exemplo de organização em silos

O problema dessa arquitetura é que a estrutura dos times tendem à espelhar as camadas existentes, ou seja, vamos ter um time com pessoas front, outro com pessoas back, outro com pessoas DBA e um último com pessoas de infra. Dessa forma cada time formarão e viverão em seus próprios silos.

O problema dessa estrutura e divisão é a necessidade em coordenar o trabalho quando envolve mudanças através de dominios, sendo necessário falar com pessoas e times diferentes, isso porque mudanças de dominio irão cruzar as camadas e seus silos. Dessa forma, uma arquitetura em camada é para facilitar mudanças e trocas nas camadas e não em dominios como Cliente.

Uma maneira para resolver esse problema é tentar estruturar nossos times de forma multi funcional, cujas funções correspondem as necessidades do serviço e contexto da qual o time é responsável.

Vamos imaginar o time que cuida do serviço e contexto de pagamento:

Time de pagamento

Seguindo a estrutura anterior, a mesma poderia ser organizada dessa forma, repare que o próprio time contém todas as habilidades necessárias para construir o serviço. Dessa forma, as mudanças para o dominio pagamento irão impactar apenas o próprio time, pois, o contexto vive dentro do mesmo.

Times multi funcionais podem ser orientados à serviços, dominios ou capacidades de negócio.

Algumas outras vantagens de times multi funcionais:

Assim surgiu o nome Inverse Conway Maneuver (Manobra de Conway Inversa), isso porque deixamos de estrutura nossos times em silos de capacidades técnicas e passamos a organizar em times multi funcionais, ou seja, quando a gente estrutura nossos times para parecer como a arquitetura que desejamos, será mais fácil atingí-la.

Conclusão

Nesse post vimos como podemos estrutura nossos times através de multi funções indo contra a Lei de Conway.

Abraços, até a próxima.

Matheus Castiglioni

Matheus Castiglioni

Apaixonado pelo mundo dos códigos e um eterno estudante, gosto de aprender e saber um pouco de tudo, aquela curiosidade de saber como tudo funciona, tento compartilhar o máximo de conhecimentos adquiridos e ajudar todos aqueles que sou capaz.

comments powered by Disqus