개발 조직을 관리할 때 목적 지표, parallelism과 aggregate intelligence
개발 조직을 관리하면서 가장 중시하는 목적 지표 중 하나는 parallelism 수준, 또하나는 더 나은 의사결정을 하는 aggregate intelligence 수준으로 생각하는 편이다.
1. parallelism 혹은 vectorization
병렬화 수준 혹은 동시성 수준은 각자 자신의 일을 진행하는 데 병목이 되는 기다림이나 동기화를 최소화하는 것이고, 그 이전에 자신의 일이 가지는 목표가 분명하고 또 스스로 업무를 잘 큐잉해서 언제든지 자신의 큐에서 넣고 뺄 수 있어야 한다.
물론 목표가 자신의 수준에서 조직의 수준에서 다를 수 있기 때문에 기다림을 최소화하면서 동기화하는 리뷰나 이슈 토론 같은 것들이 오히려 중요할 수 있다.
업무를 나눌 때에도 다른 사람이 의존하는 일들은 우선 순위를 좀더 높인다거나 협업에 대한 부분을 미리 스케줄링하는 것들이 중요하게 된다.
여러 사람의 업무와 관련한 의사결정이 필요한 시점에는 어쩔 수 없이 waiting이 있을 수 있다. 이를 최소화하고 잘못된 의사결정으로 인한 폐기 업무, 반복 업무를 최소화하는 것은 의사결정에 책임이 있는 사람들에게 매우 높은 우선 순위가 된다.
2. aggregate intelligence or collaborative decision making
여러 사람의 아이디어가 한 사람의 아이디어보다 더 나을 가능성이 크다는 것은 인간의 불완전함이나 생각의 바이어스 등을 고려할 때 단순한 산수 이상이라고 할 수 있다.
더 나은 의사 결정을 하는 것은 단순히 개인이 돌아가면서 의사결정을 하거나 한 사람의 의사결정을 투표하는 것이 될 수 없다. 여러 의견들 중 최선의 의견에 기반하면서도 공유 과정에서 더 나은 의사 결정으로 발전시키는 과정은 수많은 의사결정을 여러 조직 단위에서 이루어내는 문화 구축과 상관 있다.
기술적 의사 결정은 보다 더 깊은 기술적 이해와 여러 가지 가설에 대한 분석, 연구 등의 반복적인 과정을 필수적으로 요구한다.
물론 이 과정에서 여러 사람의 아이디어를 수집하고 이해하고 논의할 필요가 있고, 충분히 괜찮은 아이디어라고 판단되는 수준에서 의사결정을 할 필요가 있다.
의사결정에서 필요했던 여러 가지 가정들, 가설들은 추후 오류로 판명되면 의사결정이 빠르게 번복될 필요가 있으므로 이에 대해 잘 정리를 해두는 것은 충분히 좋은 의사결정을 내리는 조직이 반드시 갖춰야 할 절차적 방법론이다.
스스로 생각하게 하는 노력이 중요
앞의 두 가지 기준에서 봐도 구성원들이 스스로 생각하게 하는 게 가장 중요한 전제 조건이다. 어떤 수단과 절차가 절대적인 요건일 수는 없다.
구성원들이 가진 목표를 공유하고 remind하거나 벽에 부닥친 구성원을 주변에서 빠르게 도와서 벗어나게 해주는 등 여러 가지 병렬성, 동시성을 높이는 방법들은 문화적으로도 보완할 수 있다.
하지만, 중요한 것은 구성원들이 사람이기 때문에 사람이 무언가를 학습하고 집중하고 아이디어를 내고, 스스로의 에너지를 재충전하는 등의 메커니즘은 사람에 대한 이해에서 출발한다.
중요하고 어려운 문제일수록 여러 번 생각하게 하고 같이 얘기하는 것은 매우 중요한 수단 중의 하나이다.
어떤 절차가 필요할지 혹은 문화적으로 항상 서로에게 도움을 요청하고 도움을 주고 또 이슈를 에스컬레이션하는 문화를 만들어 자율적으로 할지는 구성원들의 특성과 수준 등을 고려하여 판단할 수 있다.
하지만, 생각을 하는 주체가 많을수록 좋다는 것은 변하지 않는다.
기술적인 깊이가 필요한 생각들에 아직 미숙한 사람들을 포함시켜야 하는 것은 결과적으로 더 많은 생각, 아이디어를 가져오게 한다. 이것이 코칭의 핵심 중 하나이다.
관리가 많고 피드백없는 수직적 의사결정이 반복될수록 의사결정 수준도 떨어지고 병렬성도 지시를 기다리기에 급급해 떨어질뿐아니라 실제로는 생각의 병렬성이 아닌 기계적인 업무 병렬성만 진행될 수 있으므로 관리 계층을 최소화하고 아이디어들을 더 많이 구성원들로부터 이끌어내고 반영하려는 노력은 일상적으로 이루어질 필요가 있다.
댓글