기본 콘텐츠로 건너뛰기

콘웨이의 법칙(conway's law)

콘웨이의 법칙이라는 것이 있습니다.

콘웨이의 법칙은 '소프트웨어의 구조와 그 소프트웨어를 개발하는 팀의 구조는 유사해진다는 법칙'으로 정의됩니다.

이에 대한 해석은 여러 곳에서 다양한 형식으로 인용되고 있습니다.

저는 이 내용을 '맨-먼스 미신'이라는 책에서 접했습니다.

한동안 잊어버렸던 내용인데.. 최근에 린 프로세스와 TOC에 대해 공부하면서 다시 한번 생각해 보게 되었습니다.

저는 이것을 조금 다르게 해석해 보았습니다.


'팀의 프로세스가 복잡할수록 소프트웨어는 매우 복잡해진다.'


간단하게 볼 때 MS 워드를 본다면 여러분은 MS 워드의 모든 기능이 모두 몇가지나 되는지 혹시 아시는 분 계시나요? MVP 분들 중에 혹시 아시는 분이 있다면 제보 부탁드립니다.

사실 우리가 워드에서 실제로 사용되는 기능은 그다지 많지 않습니다. 그러면 이것은 왜 이렇게 복잡한 기능을 가진 거대한 공룡이 되어 버렸을까요?

그것은 MS가 거대해진것과 고객의 요구사항을 너무 많이 수용했기 때문이라고 생각합니다.

하지만 이런 과도한 커스터마이징을 통해서 MS는 고객에게 어떤 가치를 전달하고 있을까요?

우리가 워드를 통해서 어떤 이득을 얻고 있을까요?

사용성 테스트를 하다 보면 특정한 결과를 얻기 위해서 과도한 단계를 거치는 경우가 가끔 있습니다.

이러한 경우 이러한 단계를 설정하게 된 배경을 조사해 보면 많은 경우 과도한 커스터마이징을 통해서 서로 연관이 없던 기능이 통합되거나 여러 사이트에서 독립적으로 제공되던 유사한 기능들이 통합되는 경우에 발생하는 경우가 많습니다.

너무 거대해지고 자주 사용되지 않는 기능들로 채워진 소프트웨어는 고객으로부터 버림 받을 수밖에 없습니다.

그리고 그 빈자리는 다시 한번 혁신으로 뭉친 작은 기업들이 내놓은 작은 소프트웨어가 차지합니다. 그리고 그 회사가 커지면 그 소프트웨어도 다시 이전에 사라졌던 소프트웨어의 전철을 밟습니다.

린이나 TOC는 이러한 악순환을 끊기 위해 끊임없는 혁신과 고객에게 전달하고자 하는 가치에 집중하고 조직의 의사결정과 프로세스를 가볍게 하기 위해 애씁니다.

만약 여러분 조직의 소프트웨어가 이런 문제를 가지고 있다면 여러분 조직을 점검해 보시기 바랍니다.

아래는 제가 생각하는 아주 단순한 체크리스트입니다.

1. 우리 제품은 고객에게 어떤 가치와 이익을 제공하는가? 그 가치와 이익이 고객이 제품을 구매하고자 하는 비용보다 훨씬 큰가?
2. 우리 제품은 고객의 의견을 존중하기 때문에 항상 커스터마이징 되고 있는가?
3. 우리 조직의 의사 결정 프로세스는 얼마나 복잡하고 의사 결정을 위한 대기 시간이 얼마나 되는가?

만약 위 질문에

1. 아무런 금전적 이익이나 가치를 제공하지 못한다.
2. 과도한 커스터마이징으로 인해 버전관리, 일정관리, 비용관리에 어려움이 있다.
3. 의사 결정 프로세스가 매우 복잡하다.

면 여러분 회사는 빨간불입니다. 지금 잘 나간다고 하더라도 얼마 못갈 확률이 높습니다. 지금 탈출하시거나 조직을 개선하시기 바랍니다.

그리고 자동화 도구를 도입하기 원하는 많은 조직에서는 벤더에게 커스터마이징을 요구하기 보다는 그들이 당신에게 팔 수 있는 가치가 무엇이고 그 도구를 통해서 어떤 이익을 실제로 얻을 수 있는지 먼저 물어보시기 바랍니다.

그리고 자동화라는 것은 도구가 조직에 맞추는 것이 아니라 조직이 도구에 맞추는 것이 맞습니다.

이것을 잊지 않았으면 합니다.

댓글

댓글 쓰기

이 블로그의 인기 게시물

스위치봇 & 스위치봇 허브 미니 간단 사용기

제 블로그에 예전부터 오셨던 분들은 제가 사브작 사브작 홈 오토메이션을 어설프게 해온 것을 아실겁니다. 작년부터 너무 하고 싶었던 도어락 자동화에 도전해봤습니다. 우리 나라에 자체 서비스로 앱을 통해 도어락을 제어하는 제품은 꽤 있습니다. 게이트맨도 있고, 키위도 있고, 삼성도 있죠.. 그런데.. 전 그것보다 구글 어시스턴트를 지원하는 도어락이 필요했는데... 그런건 안만들더라구요.. 꼭 필요한건 아니지만 웬지 해보고 싶은데... 언제 제품이 출시될지도 몰라서.. 가능한 방법을 찾아보다가.. 스위치봇이라는 제품으로 도어락을 버튼을 꾹 누르는 방법을 찾아서 스위치봇이 직구가 아닌 국내에 출시되었길래 낼름 구매해서 도전해봤습니다. 스위치봇 제품에 대한 내용이나 구매는  https://www.wakers.shop/  에서 하시면 됩니다. 저는 스위치봇에 스위치봇을 구글 홈에 연결시키기 위해 스위치봇 허브 미니까지 구매했습니다. 스위치봇 허브 미니가 없으면 스위치봇을 외부에서 제어하거나 구글 홈에 연결할 수 없습니다. 그리고 제가 스위치봇 허브 미니를 구매한 이유 중 다른 하나는 이 제품이 RF 리모컨 기능이 지원됩니다. 집에 있는 모니터를 제어할 필요가 있어서 이참 저참으로 같이 구매했습니다. 제품 등록은 어렵지 않습니다. 여기서는 스위치봇 허브 미니에 RF 리모컨을 등록해서 구글 어시스턴트로 제어하는 방법을 소개해드릴까 합니다. 제가 스위치봇 허브 미니로 모니터를 제어하고 싶었던 부분은 컴퓨터에서 크롬캐스트로 외부 입력을 때에 따라 바꿔야 하는데.. 그때마다 리모컨을 찾는게 너무 불편해서였습니다.  어차피 리모컨은 외부 입력 바꿀 때 빼고는 쓸 일도 없는지라.. 매번 어디로 사라지면 정말 불편해서 이걸 자동화 하고 싶었습니다. 그런데, 처음에 스위치봇 허브 미니를 등록하고 여기에 리모컨을 등록하니.. 구글 홈에 등록된 리모컨이 자동으로 등록이 됩니다. 그런데, 등록된걸 확인해보니 전원 On/Off만 제어되는 것이고, 나머지 버튼은 구글 홈...

murianwind의 트위터 - 2011년 12월 30일 ~ 2012년 01월05일

Presentation: Keynote: Predictability and Measurement with Kanban http://t.co/gitzf2Qv posted at 16:05:31 The Lean Startup Frenzy http://t.co/PwzqKTQl posted at 16:07:42 [테스팅 히치하이커를 위한 안내서] murianwind의 트위터 - 2011년 12월 23일 ~ 12월 29일 http://t.co/mE3hIC2t posted at 16:16:37 예다함은 배가 부른건지.. 내가 친히 가입을 해주겠다고 홈페이지 상담 게시판에 글까지 남겼거만 해가 바뀌도록 연락이 없다. 이거 내가 가입 좀 시켜달라고 전화를 해야하는건가? 주객전도인 것 같은데... posted at 16:34:20 RT @n0lb00 : 2011년 좀 더 생산적이기 위한 무료 안드 앱 20+선e http://t.co/FTJqQFtV posted at 14:23:34 2011년은 아내의 3도 화상으로 액땜.. 송구영신예배는 못가고 그냥.. 집에서.. 평소처럼.. 아웅다웅.. 하지만 나의 새해는 언제나 설날 기준.. 나에게 내일은 아직 2011년... posted at 23:20:10 [테스팅 히치하이커를 위한 안내서] 내 인생 첫 차량 구매 후기 - 쉐보레 스파크 http://t.co/m6dJp9sn posted at 16:56:15 웹 접근성 평가 도구 N-WAX http://t.co/lU8f1lBF posted at 15:25:21 [4일(수) 조간] 한심한 MB..."뭐? 배추국장, 샴푸과장 만들라고?" http://t.co/faY21DG0 posted at 10:02:04 Customer Experience v User Experience http://t.co/uk6ZDRy1 posted at 23:00:27 10 Reasons to Root Your Android Device [Android]...

에이전틱 AI 시대의 소프트웨어 테스팅: 왜 '아키텍트' 역량이 필요한가?

최근 "프로그래밍이란 무엇인가?"라는 근본적인 질문에서 출발해, 하드웨어의 가장 밑바닥인 CPU 명령어 디코더의 원리부터 최근 화두인 에이전틱 AI(Agentic AI)와 바이브 코딩(Vibe Coding)에 이르기까지 AI와 함께 이런 저런 대화를 나누어 보았다.. 사실 내가 처음 컴퓨터를 공부할 때부터 컴퓨터가 내 명령을 어떻게 이해하고 처리해서 이런 결과가 출력되는지는 정말 이해하기 어려운 마법 같은 것이었다.  그래서인지.. 나이가 들어도 프로그래밍은 여전히 어렵다. 하지만 요즘은 AI와 함께 무언가를 만드는 재미를 만끽하고 있다.  어쨌든 AI와의 즐거운 대화의 끝에서 필연적으로 마주한 질문이 있다. "코드를 AI가 스스로 짜고 조립하는 시대에, 소프트웨어 테스팅은 무엇이며 우리는 어떤 역량을 키워야 하는가?" 지금까지의 고민을 바탕으로, 다가오는 AI 시대에 테스트 엔지니어가 나아가야 할 방향과 '아키텍트(Architect)' 역량의 중요성에 대해 정리해 본다. 현대의 소프트웨어 개발은 무(無)에서 유(有)를 창조하는 것이 아니다. 전 세계의 천재적인 엔지니어들이 만들어둔 수많은 라이브러리와 프레임워크라는 '레고 블록'을 조합해 원하는 서비스를 구축하는 과정이다. 내가 젋어서 이걸 잘 이해만 했었어도.. 테스터라는 직업의 세계에 발을 들이지는 않았을 텐데.. 어린 나이에 너무 생각이 많았었다. 그런데 에이전틱 AI가 등장하면서 거대한 변화가 일어났다. 이제는 인간이 직접 레고를 조립할 필요조차 없어지고 있다. "이런 기능을 만들어줘"라는 의도(Intent)만 던지면, AI가 기존에 학습한 방대한 오픈소스와 코드를 바탕으로 알아서 뼈대를 세우고 코드를 완성해 낸다. 개발자는 직접 코드를 타이핑하는 노동자에서, AI 에이전트를 부리는 총괄 기획자로 역할이 변하고 있는 것이다. 하지만 AI가 만들어내는 코드는 필연적인 한계를 지닌다. AI는 과거 인류가 작성한 코드를 학습하...