Skip to content

콘웨이의 법칙

콘웨이의 법칙(Conway’s Law)은 “시스템의 구조는 그것을 만든 조직의 의사소통 구조를 닮는다”는 관찰이다. 1967년 멜빈 콘웨이가 제시했으며, 조직이 시스템을 설계할 때 그 설계는 조직 내부의 소통 경로를 그대로 복제하게 된다는 것이다.

이유는 단순하다. 두 모듈이 서로 맞물려 동작하려면 그 모듈을 만드는 사람들이 계속 협의해야 한다. 자주 대화하는 팀끼리 만든 부분은 자연스럽게 긴밀하게 엮이고, 소통이 드문 팀 사이에는 명확한 인터페이스가 생긴다. 그래서 세 팀이 컴파일러를 만들면 3-패스 컴파일러가 나오기 쉽다는 식의 이야기가 따라붙는다.

이 법칙의 실질적 함의는 두 가지다. 하나는 여러 팀이 함께 손대야만 바뀌는 컴포넌트를 만들지 말라는 것이다. 그런 컴포넌트는 팀 경계와 어긋나 있어 변경할 때마다 조율 비용이 크다. 다른 하나는 이 인과관계를 거꾸로 이용하는 것으로, 원하는 아키텍처 경계가 있다면 그 경계에 맞춰 팀을 먼저 나누는 것이다. 이를 **역 콘웨이 전략(Inverse Conway Maneuver)**이라 부른다. 마이크로서비스처럼 독립적으로 배포되는 구조를 원한다면, 팀도 그만큼 독립적으로 일할 수 있게 구성해야 한다는 뜻이다.

결국 아키텍처 문제는 순수하게 기술 문제가 아니라 조직 문제이기도 하다. 소통 구조를 방치한 채 도표상의 이상적인 구조만 그려도, 실제 시스템은 조직을 따라 다시 그 모양으로 수렴한다.


참고