⚙️ 공학·시스템

갈의 법칙

"작동하는 복잡한 시스템은 예외 없이 작동했던 단순한 시스템에서 진화한 것이다"
📅 1975 👤 존 갈 📖 累
💡 한 줄 요약

갈의 법칙은 "작동하는 복잡한 시스템은 예외 없이 작동했던 단순한 시스템에서 진화한 것이다". 신도시를 백지에서 설계하면 실패하고, 마을이 자라나 도시가 되면 작동한다는 도시계획의 오랜 직관과 같다.

유래

1975년, 미시간대 소아과 교수였던 존 갈은 「Systemantics: How Systems Work and Especially How They Fail」를 펴냈다. 그는 병원 행정 시스템과 컴퓨터 시스템이 실패하는 방식을 관찰하며 하나의 규칙을 발견했다 — 처음부터 복잡하게 설계된 시스템은 결코 작동하지 않으며, 고쳐서 작동하게 만들 수도 없다. 반대로 작동하는 복잡한 시스템은 예외 없이, 이미 작동하고 있던 더 단순한 시스템으로부터 한 단계씩 진화한 결과였다. 갈은 이 문장을 풍자적 어조로 썼지만, 훗날 소프트웨어 공학계는 이를 진지한 설계 원칙으로 받아들였다.

의미

신도시를 백지에서 설계하면 실패하고, 마을이 자라나 도시가 되면 작동한다는 도시계획의 오랜 직관과 같다. 소프트웨어에서는 이것이 애자일과 최소기능제품(MVP)의 근거가 됐다 — 완벽한 대규모 설계를 한 번에 내놓기보다, 작게 작동하는 것을 먼저 만들고 거기서부터 복잡성을 쌓아 올리라는 것. 흔한 오해는 이를 "단순하게만 만들라"는 뜻으로 축소하는 것 — 갈의 진짜 요점은 처음의 단순함이 아니라 "작동"이 조건이라는 데 있다. 작동하지 않는 단순함은 그저 미완성일 뿐이다.

교훈 — 동양 고전과 만나다

「도덕경」 64장: "合抱之木, 生於毫末; 九層之臺, 起於累土; 千里之行, 始於足下" — 아름드리나무도 털끝 같은 싹에서 자라나고, 아홉 층 누대도 흙 한 줌 쌓는 데서 시작되며, 천릿길도 발밑에서 시작한다. 노자는 갈보다 2,400년 앞서 같은 통찰을 남겼다 — 크고 견고한 것은 결코 한 번에 세워지지 않는다. 흙을 쌓아 올리듯, 작동하는 단순함을 하나씩 포개는 것만이 무너지지 않는 구조를 만든다.

한자로 보는 본질

"累(누)"는 밭 전(田, 여기선 실을 감아 포갠 모양)과 실 사(糸)가 겹쳐진 모습 — 실을 겹겹이 감아 쌓아 올린다는 뜻에서 "포개다, 쌓이다"가 됐다. 「도덕경」의 累土(누토, 쌓은 흙)가 바로 이 글자다. 갈의 법칙이 가르치는 것은 累의 방향 — 크게 한 번에 짓는 것이 아니라, 작동하는 켜를 하나씩 겹쳐 쌓는 것.

📌 현대 적용: 소프트웨어 MVP·애자일 개발, 스타트업 린 방법론, 도시계획(유기적 성장 vs 신도시 하향식 설계), 조직 개편 시 점진적 전환.
⚠️ 주의·한계: "단순하게만 만들면 된다"는 축소 해석 위험 — 조건은 "작동"이지 단순함 자체가 아니다. 이미 있는 시스템을 처음부터 다시 설계하려는 시도에 대한 경고이지, 필요한 복잡성 자체를 거부하라는 뜻은 아니다.