키쇼어 센굽타·타렉 K. 압델-하미드·루크 N. 반 바센호브
당신이 소프트웨어 개발팀을 이끌 노련한 매니저를 찾고 있고, 당신이 알고 있는 매니저 중 가장 우수한 ‘알렉스’라는 수석 매니저가 후보로 떠 올랐다고 가정해 보다. 알렉스는 소프트웨어 개발 프로젝트에서 대부분의 경력을 쌓았다. 그가 처음으로 책임졌던 프로젝트는 NASA의 과학 소프트웨어를 개발하는 것이었고, 그 이후로 일반 기업과 정부 기관의 수많은 프로젝트를 감독한 경험이 있다.
알렉스는 우리가 실시한 ‘복잡한 프로젝트 환경에서의 경험 기반 학습(ex-perience-based learning)에 대한 연구’에 참여했던 수백 명의 프로젝트 매니저 중 하나다. 그는 컴퓨터 모의 게임을 통해 소프트웨어 개발 프로젝트를 관리하는 능력을 테스트 받았다. 모의 게임은 프로젝트의 계획 수립, 진행상황 모니터링 및 방향설정, 결과 평가 등 프로젝트의 처음부터 끝까지를 관리하는 방식으로 이뤄졌다. 정해진 시간 까지, 예산 범위 안에서 최고 품질의 소프트웨어를 개발하는 것이 그의 목표였다.(품질은 소프트웨어의 결점을 점수화하는 방식으로 측정됐다.)
게임에서 알렉스의 의사결정과 그 결과물은 팀 전체를 대표했다. 처음에 그는 4명의 엔지니어로 구성된 소규모 팀을 꾸려 개발 업무에 집중했다. 이 전략은 단기적으로 효과가 컸다. 개발 속도가 빠르고, 생산성도 높았다. 하지만 당초 예상보다 프로젝트 규모가 커지면서 문제가 발생했다. 팀원은 적은데 처리할 일은 계속 늘면서 팀원에게 업무가 과중됐다. 팀원들은 실수를 연발했고, 극도로 피로에 지쳐갔다. 알렉스는 팀원을 더 뽑으려고 했지만 시간이 걸렸다. 새 팀원들이 기존 팀원들과 동화되는 데도 역시 시간이 필요했다. 결국 프로젝트는 원래 일정보다 많이 늦어졌고, 소프트웨어의 결점도 눈덩이처럼 불어났다. 프로젝트 진행 도중 이러한 문제점을 수정하느라 또 많은 시간과 노력이 필요했다. 결과적으로 프로젝트는 예상보다 늦게 완료됐고, 예산을 초과했을 뿐 아니라 결점투성이였다.
게임이 끝난 뒤 우리는 알렉스에게 모의 프로젝트에 대해 몇 가지 질문을 던졌다. 프로젝트의 확장이나 소프트웨어의 수많은 결점, 고용 관리의 어려움 등이 예상치 못한 상황이었는지 물었다. 하지만 그는 대부분의 참여자들과 마찬가지로 이런 상황이 그가 과거 참여했던 프로젝트에서 자주 발생했던 일이라고 대답했다.
대부분 기업들은 알렉스와 같은 베테랑을 중요한 프로젝트의 매니저로 고용하면 품질이나 직원 관련 문제가 발생하지 않을 것이라고 기대한다. 베테랑은 문제를 효율적으로 해결하는 방법을 안다고 가정하기 때문이다. 하지만 우리는 실험을 통해 경험이 풍부한 매니저들이 꼭 좋은 성과를 거두는 것은 아니라는 사실을 발견했다. 시뮬레이션 결과에 따르면 게임을 하는 동안 알렉스와 같은 프로젝트 매니저들이 ‘경험으로부터 배우는 방식’에 문제가 있었다. 그들은 새로운 결정을 내리는데 있어 이전의 의사결정이 어떤 결과를 낳았는지 전혀 고려하지 않았다. 과거 결정으로 인해 성과가 나빴어도 기존 접근 방식을 바꾸지 않았다.
모의 게임에서 프로젝트 매니저들이 마주친 문제들은 참가자들에게 매우 익숙한 것이었다. 시뮬레이션 참가자들에게 모의 게임과 현실의 유사 정도를 5점 만점 척도로 평가하도록 했을 때 평균 4.32점이 나올 정도로 시뮬레이션 게임은 소프트웨어 프로젝트 현실을 잘 반영했다. 매니저들은 게임 도중 과거에 실제로 경험한 유사한 상황에 처했지만 과거 경험을 활용하지 못하고 여전히 고전했다. 우리는 프로젝트 매니저들이 실제 프로젝트에서도 경험을 통한 학습이 전혀 이뤄지지 않았다는 결론에 이르렀다.
이 논문에서는 경험을 통한 학습을 방해하는 3가지 원인과 이에 대한 대책을 살펴보도록 할 것이다.
학습 장애가 발생하는 원인
사람들은 결정을 내릴 때 이전의 경험을 바탕으로 한 지식의 축적, 즉 ‘사고 모델(思考·mental model)’을 참고한다. 사고 모델은 인과관계를 기본 전제로 한다. 사람들은 자신의 의사결정으로 발생하는 결과를 보면서, 새로운 사실을 배우고 주변의 관계들에 대해 새로운 발견을 한다. 이런 발견들이 다른 상황에도 적용될 수 있다고 일반화하면서 사고 모델로 반영된다. 이러한 과정은 대단히 과학적으로 보인다. 어떤 원인과 결과에 대한 가정을 만들고, 이에 따라 행동하고, 결과를 해석해 그 가정을 확인하거나 수정하는 일련의 과정은 꽤 과학적으로 비춰진다.
하지만 이러한 방식은 단순한 환경에서만 효과적이라는 데 문제가 있다. 단순한 환경에서는 인과관계가 명확하며, 쉽게 발견된다. 반면 소프트웨어 개발 프로젝트와 같이 복잡한 환경에서는 이러한 학습 사이클이 효과가 없다. 우리는 시뮬레이션 게임 실험을 통해 학습 사이클을 방해하는 3가지 유형의 장애요인을 발견했다.
원인과 결과 사이의 시간차(time-lags) 현실에서는 원인이 결과가 되어 나타나기까지 시간이 걸리기 때문에 그 관계를 명확하게 연결하기 어려운 경우가 많다. 우리는 프로젝트 매니저들이 이러한 문제에 대처하는 방법을 살펴보기 위해 중간 규모의 인공위성 소프트웨어 개발 프로젝트를 관리하는 시뮬레이션 게임에 참여하도록 했다. 그리고는 점점 요구사항이 많아져서 프로젝트 규모가 갑자기 커지는 상황을 설정했다.