[서평]이해관계자중심 소프트웨어 개발
Tuesday, October 27th, 2009인사이트에서 신간 이해관계자중심 소프트웨어 개발을 보내 주셨습니다. 택배를 뜯었을 때, 책표지를 보고 신선하다고 생각했습니다. 최근 인사이트에서 나오는 책답지 않게(?) 표지가 모던했기 때문이죠.
이 책에서 말하는 이해관계자중심 소프트웨어 개발이란 무엇일까요? SW개발 프로젝트에서 흔히 접하는 이해당사자(stakeholder)와 비슷한 개념입니다. 물론 책의 원제는 Outside-in Software Development이기 때문에, 이해당사자로 번역하는 stakeholder와는 다르지만요.
책에서는 이해관계자를 4가지 분야로 분류합니다. 우선 주관계자(principals)가 있습니다. 주관계자는 SW개발 프로젝트나 SW구매에 자금을 대는 사람으로서, 흔히 스폰서라고 말하는 사람들이죠. 주관계자와 눈높이를 맞추는 작업을 프로젝트 기간에 충실히 하지 않으면, 프로젝트 완료보고 때 프로젝트가 180도 선회하는 경우가 있죠. 즉 ‘집에도 못가거나’, ‘집에 가야’하는 상황이 벌어질 때도 있습니다.
다음으로 최종 사용자(end users)가 있습니다. 이름에서 알 수 있듯이, 시스템이나 SW을 사용하는 사람들입니다. 이 분류에 속하는 사람들의 눈높이를 맞추지 못하면, “시스템 어려워서 못 써먹겠어요!”라는 불평의 스나미에 휩쓸릴 수 있습니다. 겸손한 개발자 만든 거만한 소프트웨어서도 최종 사용자의 눈높이를 맞추지 못해서 고생했던 ERP프로젝트를 소개했는데요. 대개 이런 프로젝트들에서는 주관계자들의 눈높이에 맞추서 프로젝트가 진행될 때가 잦기 때문에, 최종 사용자들에게 과도하게 데이터를 많이 입력할 것을 요구하거나, 최종 사용자를 고려하지 않은 채 UI가 만들어집니다.
세번째 분류는 협력관계자(partners)입니다. SW를 대신 판매하는 1차 벤더나, SW나 시스템을 설치, 지원하는 업체를 말하죠. 프로젝트나 SW가 성공하려면, 이분들이 제품을 잘 팔도록 도와주거나, 설치와 유지보수가 쉽게 제품을 만들어야 합니다. 이분들이 “아, 이 소프트웨어는 발로 만들었냐. 이렇게 설치가 어려워서 뭘 하라는 거야!” 식의 불평이 터진다면, 시스템이나 SW는 생명유지가 쉽지 않을 겁니다.
마지막으로 내부관계자(insiders)가 있습니다. 말 그대로 우리네 조직을 말하죠. 개발자, QA, 영업, 테스터, PM이 여기에 속합니다. 당연한 이야기이지만, 내부관계자끼리 제대로 협력을 하지 못해서, 영업은 개발자들이 거만해서 자신들의 이야기에 귀를 귀울이지 않는다고 불평하거나, 개발자들은 영업이 무식해서 제대로 제품도 못 판다고 비아냥거린다면, 프로젝트는 산으로 갈 겁니다.
백인백색의 이해관계자가 원하는 것을 파악하고, 이들 사이에 접점을 잘 찾아나가는 것이, 바로 이해관계자중심 소프트웨어 개발이라고 말하죠. 자세한 이야기는 책을 읽으실 분들을 위해, 남겨 두겠습니다.
PM으로서 프로젝트를 하나씩 끝날 때마다, 프로젝트를 바라보는 시각이 조금씩 바뀌는 듯합니다. 제일 처음 프로젝트를 맡았을 때, 프로젝트를 끝내는 데 초점을 맞췄죠. 그렇기 때문에, 프로젝트 내에서 개발할 기능들을 제일 신경썼죠. 그리고 회사에서 PMBOK 형태의 프로젝트 체계를 강조했을 때, 프로젝트 계획을 준수하는 것을 중요하게 생각했습니다. 그런데, 프로젝트라는 게 변화무쌍한 유기체 비슷하고, 장기 계획의 정확성이 낮다는 것을 깨닫았을 때, 변화를 관리하는 게 중요하고 그래서 애자일 실천방법을 프로젝트에 적용하는 것에 중점을 두었죠.
그리고 최근에 드는 생각은, 특히 SI 프로젝트라면, 다양한 이해당사자들의 힘 벡터가 평형을 이루는 지점에 시스템이 완성된다는 것입니다. 즉 주관계자 벡터가 크다면, 시스템은 최종 사용자 쓰기 어려운 거만한 소프트웨어가 되거나. 내부관계자가 벡터가 지나치게 큰 경우, 그들만의 잔치로 끝나는 경우가 있죠. 물론 벡터의 합으로서 시스템이 만들어진다는 결정론을 받아들인다면, 프로젝트를 이끌어가는 PM은 상당히 무력한 존재이지만. 벡터는 정적인 것이 아니라 동적인 것으로 받아들인다면, 미약한 힘이지만 PM은 벡터의 평형점을 옮겨서 모든 사람들이 만족해 하는 시스템을 만들 수 있지 않을까 합니다.

