애자일을 습관으로 7
지난 글에 도입부 인용문을 제공했던 페친님이 제 글을 읽고, 아래와 같은 질문을 하셨습니다. 그 옛날 서신이 오가며 생각이 발전했던 이야기들이 떠오르는 뜻깊은 피드백입니다.
어떻게 할 수 있을까요? 공교롭게 최근 동료와 XP의 전체 팀에 대해 토론한 일이 있습니다. 전체 팀이란 전체를 하나의 개체로 동작하도록 하는 실천 방법입니다. 흔히 팀웍이 좋을 때, 혼연일체가 되어 등의 수식어를 쓰는 상태에 도달하는 방법이죠.
이상적으로는 성과와 책임은 1:1 대응해야 한다고 생각할 수 있습니다. 하지만, 공산주의가 실패했듯이 인간사회에서 산술적인 분할이나 평균은 존재할 수 없습니다. 의지 차이나 역량 차이처럼 확연히 드러나는 요소도 있고, 보상에 집착하는 사람과 너그러운 사람이 어떤 식으로 존재하느냐에 따라 실제 구현에 대해 함부로 예상하거나 한때 경험이 나중에도 옳다 말할 수 없습니다.
그렇기 때문에 더욱 기준이 중요합니다. XP에 보면 나누어서 정복하지 말고, 정복한 후에 나누라는 말이 있습니다. 저는 이를 (XP 이전에) 객체지향설계에서 배웠습니다. 유기체를 나누고 조합하는 방법인데, 20년 넘도록 저는 그 방법을 소프트웨어 설계뿐 아니라 조직 설계에도 쓰고 있습니다.
저는 생물학 전공자가 아닙니다. 그저 소프트웨어가 복잡해져도 이를 유지할 수 있는 방법과 조직을 창의적으로 유지하면서도 생산적으로 만드는 방법이 놀랍도록 똑같은데, 이를 아울러 이해할 수 있는 메타포가 생물 조직이기 때문입니다. 정확히 말하면 생물 조직을 빗대어 설명한 Grady Booch의 객체지향 책에서 읽은 내용이 20년 넘게 원형이죠.
<그림 넣기>
막연한 이야기일 수 있어 내 경험으로 예를 들어보겠습니다. 이전 글에서 2015년 북경에 가기 전 경험을 공유한 일이 있습니다.
그가 수많은 기술로 나눈 팀을 없애고 하나의 팀을 만들라는 이야기만 강조했다. 형상으로만 보면 다기능팀(Cross-Functional)이라고 말할 수 있지만 초점은 같은 미션을 추구하는 팀이어야 한다.
이렇게 미션이 하나가 되면 전체 조직은 하나의 팀이 됩니다. 각자 할 수 있는 일을 하고 성과는 전체로 평가합니다. (여기서 연봉 차이를 다루지는 않겠습니다. 그렇게까지 구체적인 이야기를 할 수는 없고 원칙만 씁니다.)
그러나, 인원이 늘어나고 책임이 커지면 전체를 하나의 팀으로만 운영할 수는 없습니다. 그래서 나눠야 하는데, 일단 사업을 구성하는 업무가 잘 돌아가는 상태여야 합니다. 그걸 정복된 상태라고 하면 나누는 일을 가능합니다. 이때, 어떻게 나누고 동시에 조합을 이루게 할 것이냐는 예술입니다. 이를 전에 integrity라고 표현한 바 있고, 전체 조직을 구성하는 팀을 나눌 때 기준이 바로 그것입니다.
있어야 할 것이 딱 있도록 만드는 일
이렇게 나누고 나면 개체 안에 더 작은 개체들이 꿈틀꿈틀 움직이는 유기체가 됩니다. 전체도 개체이지만, 작은 팀들 역시 개체가 됩니다. 필연적으로 갈등이 생기고, 조정이 필요합니다. 저는 이런 연결을 소프트웨어 공학에서 배운 loosely-coupled 라는 개념으로 기억합니다. 딱 붙어있지는 않지만, 완전히 떨어져 있지는 않은 소통 상태를 말이죠.
질문을 하신 페친의 최초 인용문구를 떠올려보겠습니다. 점수(漸修)가 나만 잘하는 것이지만 더불어 수신제가평천하의 실천법이란 말은 얼핏 들이면 궤변 같기도 합니다. 하지만, 유기체와 loosely-coupled 라는 개념을 알면 그리 어려울 것도 없습니다.
개체는 상호 침해가 없어야 합니다. 침해는 대개 질병을 뜻하죠. 그러니 건강한 개체 상태를 떠올리면, 침해는 없고 서로 조화롭게 소통하며 더 큰 개체 혹은 조직을 구성합니다. 이런 상태를 저는 loosely-coupled 라고 부르길 좋아합니다. 이때, 특정 개체가 조직 구성요소로 전체를 이루는 개체의 기능에 기여하지만, 자기 역할과 소통을 통해서 그렇게 할 뿐 다른 개체를 침해하여 구현하지는 않습니다. 그러니 끝까지 나만 잘하는 형태로 나도 잘하고 전체로 잘할 수 있죠. 나뿐인 혹은 나쁜 개체만 아니면 됩니다.
한번도 생각해본적 없는 질문인데 처음 해봅니다. 전체 섭취량이 각 기관에 골고루 배분될 때 우리가 건강할 것이라 유추할 수 있습니다. 이와 마찬가지로 팀별로 배분하면 됩니다. 저는 10년 전에 시스템 분할하는 일을 시작해서 다른 사람들에 의해 MSA 전문가로 불리기도 합니다. 10년 전에 이를 도입한 이유는 빠른 사업전개를 위한 올바른 의사결정을 위해 작은 비즈니스 팀의 조합을 만들기 위함이었습니다. (지금 MSA는 전혀 다른 이유로 시행하는 경우가 많다.)
나는 의사결정과 책임을 사업단위조직에서 대부분 수행하면 성과도 대부분 가져가야 한다고 믿습니다. 그렇게 바라보면 기준은 아주 명쾌합니다. 물론, 기준을 집행하다보면 인간의 욕망이 발현되는 모습과 주관적 편향에 따라 모양이 달라집니다. 그래서, 꾸준히 조정을 해야 합니다. 이런 일들이 저에겐 중요한 직무인 탓에 OKR이나 욕망에 대한 공부나 경체체제에 대한 공부를 게을리 할 수 없죠. 어쨌든 점수(漸修) 즉, 나만 잘하는 것으로만 구현할 수 있으니까요.