warren.com.br
Felipe Machado
Paulo Immig
Warren Talks
Versão
2023/08
Conway’s Law &
Team Topologies
Existe relação entre a estrutura organizacional
e arquitetura de software?
warren.com.br
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
Mas afinal, do que se trata
essa Talk? (ou book talk)
Essa Talk visa trazer um tema que vem recebido mais relevância nos últimos tempos,
principalmente por ter conexões com assuntos como domain-driven design ou arquiteturas
de microsserviços.
Os temas que serão abordados hoje estão intrinsecamente relacionados a estruturas
organizacionais e arquitetura de software.
Além disso, esses assuntos são conhecimentos complementares e úteis para todos que
trabalham em empresas do segmento de tecnologias.
warren.com.br
E por que devemos saber
sobre isso?
● Estruturas organizacionais não são montadas na base do
improviso. Elas exigem muito estudo e análise.
● Elas estão profundamente relacionadas com a forma que
construímos software.
● Entender sobre esses assuntos nos permite melhorar o fluxo
contínuo da entrega, entender sobre como a comunicação
em uma organização funciona, termos uma grau de
colaboração mais efetivo, tomarmos melhores decisões
estratégicas e por mim construirmos software melhor.
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
Disclaimer:
Este é um tema que
pode ser bastante
complexo.
A ideia hoje é despertar
a curiosidade de todos
para o assunto e dar
uma base sobre.
warren.com.br
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
warren.com.br
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
créditos a @suksr, que utilizou esses slides na QCon 2022
para falar de Team Topologies e muito mais.
“A system is more than the sum of its parts,
it’s a product of their interactions.”
Dr. Russell Ackoff
warren.com.br
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
Conway’s Law
“Any organization that designs a
system will produce a design whose
structure is a copy of the organization's
communication structure.”
—Melvin E. Conway (1967)
warren.com.br
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
warren.com.br
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
Estrutura
organizacional
x
Arquitetura de
software
warren.com.br
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
Backend
Frontend DBAs
Frontend
Backend
Banco de dados
Comunicação
Comunicação
Estrutura
organizacional
x
Arquitetura de
software
warren.com.br
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
Times monolíticos não conseguem
desenvolver microsserviços.
Polêmica 1 Polêmica 2
Sistemas monolíticos não podem ser
mantidos por Squads.
warren.com.br
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
A comunicação é
fundamental.
Quem define a
estrutura da
organização, define
também a
arquitetura do
software.
Logo, a estrutura da organização
e a qualidade do software estão
fortemente relacionadas.
warren.com.br
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
E onde entra o
Team Topologies?
Conwayʼs
Law
Teoria da Carga
Cognitiva
warren.com.br
Teoria da Carga
Cognitiva
https://www.reforge.com/blog/managing-tech-debt
Elaborada pelo John Sweller, com PhD na área de Psicologia, no ano de 1988. Muito
utilizada na educação para otimizar o aprendizado.
A memória de trabalho humana é limitada e isso é uma restrição fundamental no
seu desempenho e na capacidade de aprendizado.
O mesmo se aplica aos times, que possuem um limite de informação que podem
reter, porém fica mais difícil quantificar qual é o limite.
Quanto maior o serviço, mais difícil será suportá-lo com qualidade, pois representam
um volume maior de carga cognitiva.
Team Topologies advoca para priorizar os times, criando uma organização otimizada
e levando em conta a carga cognitiva.
https://www.cursospm3.com.br/blog/topologia-dos-times/
https://www.thoughtworks.com/pt-br/radar/techniques/team-cognitive-load
https://sd.arquiteturadesoftware.online/determinando-a-granularidade-ideal-para-microsservicos-capitulo-3-v-1-0/
Conwayʼs Law & Team Topologies | Warren Talks | 2023
warren.com.br
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
warren.com.br
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
Team Topologies?
Como você constrói a melhor organização de equipes
para seus objetivos, cultura e necessidades específicas?
Team Topologies é um livro prático, com passo a passo,
adaptável para o design organizacional e interação de
equipes. O livro aborda quatro tipos de equipes
fundamentais e três padrões de interação de equipes.
O livro representa um grande avanço no design
organizacional de empresas de software, apresentando
uma maneira bem definida para as equipes interagirem e
se relacionarem, o que ajuda a tornar a arquitetura de
software resultante mais compreensível e sustentável.
https://teamtopologies.com/
https://www.amazon.com.br/Team-Topologies-Organizing-Business-Technology/dp/1942788819
warren.com.br
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
https://www.infoq.com/articles/culture-trends-2023/
warren.com.br
Team Topologies
https://www.reforge.com/blog/managing-tech-debt
Conwayʼs Law & Team Topologies | Warren Talks | 2023
warren.com.br
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
warren.com.br https://www.reforge.com/blog/managing-tech-debt
Conwayʼs Law & Team Topologies | Warren Talks | 2023
stream-aligned team
=> fluxo da mudança =>
stream-aligned team
stream-aligned team
stream-aligned team
You build it. You run it. You support it.
Stream-aligned teams geralmente suportam uma porção
do fluxo da mudança. Isto pode ser um conjunto de
features, uma jornada particular do cliente, uma persona
específica, um domínio de negócio ou até mesmo algum
produto de inovação.
Times tem autonomia para tomar decisões relacionadas
ao desenvolvimento e entrega do fluxo específico que ela
suporta de ponta à ponta.
Times são multidisciplinares, ou seja, compostos por
membros de diferentes habilidades e funções, desde
viabilidade comercial, UX, Design, PM, Backend, Frontend, a
até o monitoramento. https://teamtopologies.com/key-concepts
https://www.youtube.com/watch?v=f1k64DEjeBQ&ab_channel=ElemarJunior
Stream-Aligned Team
warren.com.br https://www.reforge.com/blog/managing-tech-debt
Conwayʼs Law & Team Topologies | Warren Talks | 2023
=> fluxo da mudança =>
stream-aligned team
stream-aligned team
Enabling Team
Como stream-aligned teams conseguem achar tempo para
pesquisar, aprender ou praticar novas habilidades? Através
dos Enabling Teams.
Enabling Teams são compostos por especialistas em algum
tema técnico ou domínio, e eles ajudam a reduzir os gaps de
capacidade.
Eles geralmente irão fazer sugestões de tooling, práticas,
frameworks, ou escolhas relacionadas ao ciclo de
desenvolvimento de um software.
Esses times possuem uma natureza altamente colaborativa,
buscando entender os desafios dos stream-aligned teams
para poder dar a correta orientação.
stream-aligned team
stream-aligned team
Enabling
Team
Enabling
Team
warren.com.br
A missão desse tipo de time é resolver um ou mais desafios
relacionados aos stream-aligned teams e reduzir a carga
cognitiva deles.
Eles são muito aplicáveis quando alguma parte do sistema
necessita algum expertise muito alto, sejam cálculos, alguma
matemática ou algo muito técnico/especializado.
Subsistemas muito complicados terão um acoplamento
aferente maior, pois mais gente depende dele. Logo serão mais
difíceis de serem alterados.
Muitas vezes sua frequência de mudança pode precisar ser
mais lenta, o que poderia travar a velocidade dos stream-aligned
teams.
https://www.reforge.com/blog/managing-tech-debt
Conwayʼs Law & Team Topologies | Warren Talks | 2023
Complicated Subsystem Team
stream-aligned team
=> fluxo da mudança =>
stream-aligned team
stream-aligned team
stream-aligned team
CS
Team
Enabling
Team
Enabling
Team
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
stream-aligned team
=> fluxo da mudança =>
stream-aligned team
stream-aligned team
stream-aligned team
Platform Team
CS
Team
O propósito de Platform Teams é habilitar Stream-Aligned
Teams a entregar valor com autonomia substancial,
reduzindo a coordenação exigida, reduzindo a carga cognitiva
e diminuindo o grau de profundidade exigido.
Precisam ser super colaborativos, entendendo a necessidade
dos outros times.
Uma dica é evitar times super especializados ou silos. Esses
times não podem virar gargalo para construir software de
forma rápida e segura. Exemplos: Times de DBAs, QAs, UX, Data
Processing ou Architecture.
platform team
platform team
Enabling
Team
Enabling
Team
warren.com.br
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
warren.com.br
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
Takeaways
● Nem sempre é apenas sobre código;
● Times pequenos podem construir coisas grandes;
● Não lute contra a lei de Conway;
● Nenhum modelo é perfeito. Team Topologies não é
bala de prata;
● No final, o desenvolvimento de software é uma
atividade social;
● Na dúvida leia o livro pois o tempo da Talk
(provavelmente) já terminou.
warren.com.br
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
Às vezes os
problemas de
software
precisam ser
corrigidos fora
do domínio
técnico.
Desenhe a
arquitetura da
organização
para produzir a
correta
arquitetura de
software.
warren.com.br
Conwayʼs Law & Team Topologies | Warren Talks | 2023
warren.com.br
Colinha para Consulta
Conwayʼs Law & Team Topologies | Warren Talks | 2023

2023-08 Warren Talks: Conway’s Law & Team Topologies

  • 1.
    warren.com.br Felipe Machado Paulo Immig WarrenTalks Versão 2023/08 Conway’s Law & Team Topologies Existe relação entre a estrutura organizacional e arquitetura de software?
  • 2.
    warren.com.br warren.com.br Conwayʼs Law &Team Topologies | Warren Talks | 2023 Mas afinal, do que se trata essa Talk? (ou book talk) Essa Talk visa trazer um tema que vem recebido mais relevância nos últimos tempos, principalmente por ter conexões com assuntos como domain-driven design ou arquiteturas de microsserviços. Os temas que serão abordados hoje estão intrinsecamente relacionados a estruturas organizacionais e arquitetura de software. Além disso, esses assuntos são conhecimentos complementares e úteis para todos que trabalham em empresas do segmento de tecnologias.
  • 3.
    warren.com.br E por quedevemos saber sobre isso? ● Estruturas organizacionais não são montadas na base do improviso. Elas exigem muito estudo e análise. ● Elas estão profundamente relacionadas com a forma que construímos software. ● Entender sobre esses assuntos nos permite melhorar o fluxo contínuo da entrega, entender sobre como a comunicação em uma organização funciona, termos uma grau de colaboração mais efetivo, tomarmos melhores decisões estratégicas e por mim construirmos software melhor. warren.com.br Conwayʼs Law & Team Topologies | Warren Talks | 2023 Disclaimer: Este é um tema que pode ser bastante complexo. A ideia hoje é despertar a curiosidade de todos para o assunto e dar uma base sobre.
  • 4.
    warren.com.br warren.com.br Conwayʼs Law &Team Topologies | Warren Talks | 2023
  • 5.
    warren.com.br warren.com.br Conwayʼs Law &Team Topologies | Warren Talks | 2023 créditos a @suksr, que utilizou esses slides na QCon 2022 para falar de Team Topologies e muito mais. “A system is more than the sum of its parts, it’s a product of their interactions.” Dr. Russell Ackoff
  • 6.
    warren.com.br warren.com.br Conwayʼs Law &Team Topologies | Warren Talks | 2023 Conway’s Law “Any organization that designs a system will produce a design whose structure is a copy of the organization's communication structure.” —Melvin E. Conway (1967)
  • 7.
    warren.com.br warren.com.br Conwayʼs Law &Team Topologies | Warren Talks | 2023
  • 8.
    warren.com.br warren.com.br Conwayʼs Law &Team Topologies | Warren Talks | 2023 Estrutura organizacional x Arquitetura de software
  • 9.
    warren.com.br warren.com.br Conwayʼs Law &Team Topologies | Warren Talks | 2023 Backend Frontend DBAs Frontend Backend Banco de dados Comunicação Comunicação Estrutura organizacional x Arquitetura de software
  • 10.
    warren.com.br warren.com.br Conwayʼs Law &Team Topologies | Warren Talks | 2023 Times monolíticos não conseguem desenvolver microsserviços. Polêmica 1 Polêmica 2 Sistemas monolíticos não podem ser mantidos por Squads.
  • 11.
    warren.com.br warren.com.br Conwayʼs Law &Team Topologies | Warren Talks | 2023 A comunicação é fundamental. Quem define a estrutura da organização, define também a arquitetura do software. Logo, a estrutura da organização e a qualidade do software estão fortemente relacionadas.
  • 12.
    warren.com.br warren.com.br Conwayʼs Law &Team Topologies | Warren Talks | 2023 E onde entra o Team Topologies? Conwayʼs Law Teoria da Carga Cognitiva
  • 13.
    warren.com.br Teoria da Carga Cognitiva https://www.reforge.com/blog/managing-tech-debt Elaboradapelo John Sweller, com PhD na área de Psicologia, no ano de 1988. Muito utilizada na educação para otimizar o aprendizado. A memória de trabalho humana é limitada e isso é uma restrição fundamental no seu desempenho e na capacidade de aprendizado. O mesmo se aplica aos times, que possuem um limite de informação que podem reter, porém fica mais difícil quantificar qual é o limite. Quanto maior o serviço, mais difícil será suportá-lo com qualidade, pois representam um volume maior de carga cognitiva. Team Topologies advoca para priorizar os times, criando uma organização otimizada e levando em conta a carga cognitiva. https://www.cursospm3.com.br/blog/topologia-dos-times/ https://www.thoughtworks.com/pt-br/radar/techniques/team-cognitive-load https://sd.arquiteturadesoftware.online/determinando-a-granularidade-ideal-para-microsservicos-capitulo-3-v-1-0/ Conwayʼs Law & Team Topologies | Warren Talks | 2023
  • 14.
    warren.com.br warren.com.br Conwayʼs Law &Team Topologies | Warren Talks | 2023
  • 15.
    warren.com.br warren.com.br Conwayʼs Law &Team Topologies | Warren Talks | 2023 Team Topologies? Como você constrói a melhor organização de equipes para seus objetivos, cultura e necessidades específicas? Team Topologies é um livro prático, com passo a passo, adaptável para o design organizacional e interação de equipes. O livro aborda quatro tipos de equipes fundamentais e três padrões de interação de equipes. O livro representa um grande avanço no design organizacional de empresas de software, apresentando uma maneira bem definida para as equipes interagirem e se relacionarem, o que ajuda a tornar a arquitetura de software resultante mais compreensível e sustentável. https://teamtopologies.com/ https://www.amazon.com.br/Team-Topologies-Organizing-Business-Technology/dp/1942788819
  • 16.
    warren.com.br warren.com.br Conwayʼs Law &Team Topologies | Warren Talks | 2023 https://www.infoq.com/articles/culture-trends-2023/
  • 17.
  • 18.
    warren.com.br warren.com.br Conwayʼs Law &Team Topologies | Warren Talks | 2023
  • 19.
    warren.com.br https://www.reforge.com/blog/managing-tech-debt Conwayʼs Law& Team Topologies | Warren Talks | 2023 stream-aligned team => fluxo da mudança => stream-aligned team stream-aligned team stream-aligned team You build it. You run it. You support it. Stream-aligned teams geralmente suportam uma porção do fluxo da mudança. Isto pode ser um conjunto de features, uma jornada particular do cliente, uma persona específica, um domínio de negócio ou até mesmo algum produto de inovação. Times tem autonomia para tomar decisões relacionadas ao desenvolvimento e entrega do fluxo específico que ela suporta de ponta à ponta. Times são multidisciplinares, ou seja, compostos por membros de diferentes habilidades e funções, desde viabilidade comercial, UX, Design, PM, Backend, Frontend, a até o monitoramento. https://teamtopologies.com/key-concepts https://www.youtube.com/watch?v=f1k64DEjeBQ&ab_channel=ElemarJunior Stream-Aligned Team
  • 20.
    warren.com.br https://www.reforge.com/blog/managing-tech-debt Conwayʼs Law& Team Topologies | Warren Talks | 2023 => fluxo da mudança => stream-aligned team stream-aligned team Enabling Team Como stream-aligned teams conseguem achar tempo para pesquisar, aprender ou praticar novas habilidades? Através dos Enabling Teams. Enabling Teams são compostos por especialistas em algum tema técnico ou domínio, e eles ajudam a reduzir os gaps de capacidade. Eles geralmente irão fazer sugestões de tooling, práticas, frameworks, ou escolhas relacionadas ao ciclo de desenvolvimento de um software. Esses times possuem uma natureza altamente colaborativa, buscando entender os desafios dos stream-aligned teams para poder dar a correta orientação. stream-aligned team stream-aligned team Enabling Team Enabling Team
  • 21.
    warren.com.br A missão dessetipo de time é resolver um ou mais desafios relacionados aos stream-aligned teams e reduzir a carga cognitiva deles. Eles são muito aplicáveis quando alguma parte do sistema necessita algum expertise muito alto, sejam cálculos, alguma matemática ou algo muito técnico/especializado. Subsistemas muito complicados terão um acoplamento aferente maior, pois mais gente depende dele. Logo serão mais difíceis de serem alterados. Muitas vezes sua frequência de mudança pode precisar ser mais lenta, o que poderia travar a velocidade dos stream-aligned teams. https://www.reforge.com/blog/managing-tech-debt Conwayʼs Law & Team Topologies | Warren Talks | 2023 Complicated Subsystem Team stream-aligned team => fluxo da mudança => stream-aligned team stream-aligned team stream-aligned team CS Team Enabling Team Enabling Team
  • 22.
    warren.com.br Conwayʼs Law &Team Topologies | Warren Talks | 2023 stream-aligned team => fluxo da mudança => stream-aligned team stream-aligned team stream-aligned team Platform Team CS Team O propósito de Platform Teams é habilitar Stream-Aligned Teams a entregar valor com autonomia substancial, reduzindo a coordenação exigida, reduzindo a carga cognitiva e diminuindo o grau de profundidade exigido. Precisam ser super colaborativos, entendendo a necessidade dos outros times. Uma dica é evitar times super especializados ou silos. Esses times não podem virar gargalo para construir software de forma rápida e segura. Exemplos: Times de DBAs, QAs, UX, Data Processing ou Architecture. platform team platform team Enabling Team Enabling Team
  • 23.
    warren.com.br warren.com.br Conwayʼs Law &Team Topologies | Warren Talks | 2023
  • 24.
    warren.com.br warren.com.br Conwayʼs Law &Team Topologies | Warren Talks | 2023 Takeaways ● Nem sempre é apenas sobre código; ● Times pequenos podem construir coisas grandes; ● Não lute contra a lei de Conway; ● Nenhum modelo é perfeito. Team Topologies não é bala de prata; ● No final, o desenvolvimento de software é uma atividade social; ● Na dúvida leia o livro pois o tempo da Talk (provavelmente) já terminou.
  • 25.
    warren.com.br warren.com.br Conwayʼs Law &Team Topologies | Warren Talks | 2023 Às vezes os problemas de software precisam ser corrigidos fora do domínio técnico. Desenhe a arquitetura da organização para produzir a correta arquitetura de software.
  • 26.
    warren.com.br Conwayʼs Law &Team Topologies | Warren Talks | 2023
  • 27.
    warren.com.br Colinha para Consulta ConwayʼsLaw & Team Topologies | Warren Talks | 2023