IT의 중심에서

중년 개발자가 살아 가는 IT 현장 이야기

개발상식1. 콘웨이의 법칙

시스템은 조직의 모습을 반영한다.

conways-law

1968년 멜빈 콘웨이는 논문 하나를 발표합니다.
“모듈 프로그래밍”이라는 국제 심포지움이었죠.
핵심내용은 이렇습니다.

“모든 시스템은 그 조직의 의사소통 구조와 동일하게 만들어진다.”
“organizations which design systems … are constrained to produce designs which are copies of the communication structures of these organizations.”

요약하면 이렇습니다.

“소프트웨어 모듈이 올바로 동작하려면, 개발자들이 서로 자주 대화해야 한다.
그런데 인터페이스 구조는 그 조직의 경계선을 반영한다.
경계선을 넘어서는 순간 소통이 매우 힘들어지기 때문이다.”

멜번 콘웨이는 어떤 사람일까?
당시 컴퓨터과학자로 서버 위에 올라갈 컴파일러를 개발했습니다.
초기 UNISYS(서버)의 어셈블러를 개발하고요,
맥파스칼의 초기 버전도 개발합니다.
MUMPS 라는 의료용 언어도 만들죠.
이 분은 레전드 오브 레전드, 만랩 중의 만랩.
진짜 할아버지 개발자입니다.

이런 이야기가 나왔던 배경은 무엇일까?
1968년. 실리콘밸리에서 대형 컴퓨터를 많이 만들던 시대였습니다.
투자가 몰리면서 인텔이 설립되기도 했죠.
“멜빈”은 컴퓨터를 만들면서 이 사실을 깨닫게 됩니다.
“컴퓨터 구조는 그 조직의 의사결정구조를 반영한다.”
이런 사실을 말이죠.

그는 왜 자기 경험을 법칙으로 만들었을까?
“효율적인 작업을 하기 위해서는, 유연한 조직구조가 필요하다.”
아마 이 주장을 하고 싶었던 것 같습니다.

참고로 비슷한 논문이 1967년에도 나왔습니다.
“C.J 미들튼”의 “프로젝트 조직 셋업하기”.
요즘으로 치면 “프로젝트학 개론” 정도 아닐까요?

즉, 당시 멜빈 뿐 아니라 많은 과학자들이 조직구조 때문에 고생했음을 짐작할 수 있습니다.

소프트웨어도 마찬가지.

지금은 “소프트웨어 시스템” 이야기입니다.
당시 “하드웨어”가 하는 일을 지금은 “소프트웨어”가 하니까요.
본질도 크게 다르지 않습니다.
좀 더 빨라지고 유연해졌을 뿐.

논문 제목은 “How do committees invent?“.
“위원회는 어떻게 발명을 하는가?”
Committee…
의역하면 “프로젝트 팀” 정도 됩니다.

1968년이면 IT 역사에선 청동기시대 쯤 됩니다.
트랜지스터가 진공관을 한창 대체하던 시대죠.
이전에 없던 물건을 만들기 위해 “사람”을 모으고,
만들어진 “모든” 것이 “발명”이던 시기였습니다.
“어떻게 일을 할 것인가?”
이런 고민조차도 “처음”이던 시절이었습니다.

이 법칙은 “소프트웨어 시스템”이 “태생적”으로 “공학”을 벗어나,
회사의 “조직구조”나 “개발문화”와도 밀접하다는 걸 증명하고 있습니다.
참고로 “개발문화”란, 개발팀에 국한된 이야기가 아닙니다.
사업적 의사결정과 기술 투자, 일정수립과  성과관리를 어떻게 할지 모든 걸 일컫는 말입니다.

“프로그래밍”은 공학의 영역입니다.
하지만, “개발”은 인문학의 영역입니다.
“비즈니스”를 이해하지 못하면 굉장히 엉뚱한 것을 개발할 수 있습니다.

“시스템의 획득과 운영”은 경영의 영역입니다.
물론 순수 경영이 아닌 “IT 경영”입니다.
IT 경영?
산업현장에서는 이미 하고 있지만, 아직 “학문적으로는” 없습니다.
그래서 가르치는 곳도 없습니다.
사례를 통해서 학습할 뿐.
IT 분야의 정책은 더더욱 그렇습니다.

시사점

  • 시스템은 비즈니스와 그 조직의 역사를 간직한다.
  • 모든 상황을 만족시키는 하나의 시스템은 없다. 비즈니스에 잘 맞는 시스템을 만들자.
  • 천년만년 변하지 않는 시스템은 없다. 비즈니스가 변하면 적절히 재개발할 수 있도록 미리 블럭을 잘 나누자.

끝.

개발상식1. 콘웨이의 법칙”에 대한 2개의 댓글

  1. 익명
    2020년 2월 15일

    1세대 컴퓨터 과학자의 생각!! 잘 보았습니다 ~~
    현재 IT 트렌드에 맞는 ‘마인드’가 중요한 것 같습니다….

    • subokim
      2020년 2월 15일

      공감해주셔서 감사합니다. :-)

익명 에 답글 남기기 응답 취소

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google photo

Google의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

%s에 연결하는 중

정보

이 엔트리는 2017년 9월 5일에 님이 개발자의 삶에 게시하였으며 , , , 태그가 지정되었습니다.

내비게이션

%d 블로거가 이것을 좋아합니다: