Lei de Conway

A lei de Conway é uma observação de que o design de qualquer sistema é significativamente afetado pela estrutura de comunicação da organização que o desenvolve. A lei é comumente associada ao desenvolvimento de software mas é considerada aplicável a sistemas e organizações de todos os tipos.

Melvin Conway, um cientista da computação e programador, desenvolveu sua teoria em 1967 como base para um artigo, "Como os comitês inventam?" que ele estava submetendo à Harvard Business Review (HBR). Aqui está a formação original: "Uma organização que desenha um sistema (definido de forma ampla) irá produzir um desenho cuja estrutura é uma cópia da estrutura de comunicação da organização".

HBR rejeitou o trabalho com o argumento de que a Conway não tinha provado sua tese; o trabalho foi publicado em abril de 1968 em Datamation, a principal revista de TI da época. Fred Brooks citou a observação em seu artigo "The Mythical Man-Month" e referiu-se a ela como a lei de Conway.

A Harvard Business School realizou posteriormente um estudo, "Explorando a Dualidade entre Produto e Arquiteturas Organizacionais", para tentar provar a tese de Conway. Os pesquisadores compararam as bases de código de múltiplas aplicações do mesmo tipo que tinham sido criadas por equipes de desenvolvimento de código aberto e equipes estreitamente acopladas. Descobriram que as equipes fortemente acopladas tendiam a desenvolver bases de código monolíticas enquanto as equipes frouxamente acopladas tendiam a criar bases de código mais modulares. Foi observado, de forma semelhante, que se várias equipes estão trabalhando em módulos de programas e a comunicação entre equipes é pobre, as interfaces do programa irão refletir esse fato.

A lei de Conway é frequentemente mencionada em referência à tendência DevOps, que é baseada na comunicação e colaboração efetiva entre as equipes de desenvolvimento e operações.

Veja a apresentação de Dan Slimmon, a Lei de Conway: The Skeleton of DevOps: