고객의 마음은 갈대와 같다 | Codeway
2004.06.11 10:44
류(ryujt) http://cafe.naver.com/codeway/139
소프트웨어 개발에 가장 큰 위험요소는 역시 “변화”이다. 그 동안 소프트웨어 공학은 이 변화의 요소를 최소화하고 억제하는 방법을 연구해왔다. 개발방법론을 내세워서 모든 프로세스가 제대로 통제되고 돌발상황이 발생하지 않기를 애태우며 기대해왔다. 하지만, 그 기대는 처참히 무너져 버렸다. 그 어떠한 개발방법론도 “소프트웨어 판타지”를 완성할 수는 없었다.
근래에 들어서는 “수용”과 “통제”가 이슈가 되고 있다. 그리고 “요구사항은 반드시 변한다.”라는 대 명제에서부터 출발하고 있다. 보다 적극적으로 고객의 요구사항을 수용하고 서로 승리자가 되는 길을 모색하고 있는 것이다.
하지만, 여전히 승리의 길은 너무 험난하고도 멀다. 그 이유는 해결책을 찾고 있기 때문이다. 특효약을 찾아 헤매고 있기 때문이다. 나는, 그 무엇보다 지금 우리에게 필요한 것은 언제나 상황을 “냉철하게 판단할 수 있는 여유”라고 믿는다.
1. 갈대의 마음을 사로 잡아라
“불신지옥 믿음천당”
아! 이 얼마나 명쾌한 표현인가? 일단 고객과의 관계에서 불신이 싹트는 순간 그 프로젝트는 지옥으로 떨어지고 만다. 갈대의 마음을 사로 잡아야 한다. 하지만, 어떻게? 항상 변하는 갈대의 마음에 화답하기란 그다지 쉽지만은 않다. 아니 어쩌면 처음부터 불가능했을 지도 모른다.
갈대의 마음을 사로 잡기 위해서 가장 조심해야 할 것은 대책 없는 약속들이다. 고객은 자주 묻는다.
“이거 이렇게 할 수 있어요? 저건 저렇게 가능한가요?”
개발자는 쉽게 대답한다. 물론이라고. 하지만, 여기서부터 지독한 오해의 골짜기를 파기 시작하다가, 결국 프로젝트 종반에서 스스로 그 무덤 속에서 헤어나오질 못하게 된다.
고객이 묻는 것은 여러분들의 실력과 가능성이 아니다. 자신이 그 기능을 가질 수 있는 지에 대한 물음이다. 나는 여러분들의 실력이 그러한 것들을 이루기에 충분하다고 믿어 의심치 않는다. 하지만, 인생은 앞을 알 수 없다고 했다. 프로젝트는 때로 개인의 인생보다 복잡하다. 언제 무엇이 어떻게 벌어질지 아무도 모른다. 여러분들은 이미 경험으로 알고 있을 것이다. 여러분들이 내뱉은 약속은 절반도 지켜지지 않을 것이며, 결국 여러분들의 고객의 마음을 사로잡기는 실패로 끝날 수 밖에 없을 것이다.
고객은 개발 초기에 상당히 우호적이다. 그리고 시간이 지날수록 원수가 되어 간다. 고객의 마음을 끝까지 사로 잡기 위해서는 초기 고객이 우호적일 때를 이용해야 한다. 개발이란 얼마나 어려운 것인지, 부실공사가 주는 피해가 얼마나 큰 지를 그들에게 알려줄 절호의 찬스인 것이다.
요구사항을 통제하는 활동들이 고객과 개발자 그렇게 우리 모두를 위한 길이라는 신념을 심어주어야 한다. 여기서 신념은 물론 허울뿐인 신념이 아니다. 고객에게 잘 보이면서 무사히 프로젝트가 끝나길 기도하지 말라. 고객 스스로가 그렇게 해야 할 수 밖에 없다는 것을 깨닫게 하고, 스스로 선택하도록 만드는 것이 바로 여러분들의 몫인 것이다.
갈대는 신념이 없기에 불안한 것이다. 그래서 흔들릴 수 밖에 없는 것이다. 흔들리는 갈대와 함께 행복한 결말을 기대하려면, 믿음을 심어주는 수 밖에 없는 것이다. 그리고 그 믿음과 신념은, 명확한 비전을 제시할 수 있을 때 비로서 얻을 수 있는 것이다.
나의 개발일정에는 항상 초기에 “고객에 대한 개발방법론 강의”가 들어있다. 이것이야 말로 고객과 내가 함께 승리할 수 있는 목표를 제시하는 첫걸음이라고 생각한다.
2. 여자는 원하는 것을 말해주지 않지만, 해주지 않으면 화낸다.
고객은 항상 말한다. “알아서 해주세요.” 고객은 기술에 있어서 스스로 모르는 분야라고 판단하고 난 후 뒷짐을 지기 시작한다. 또한, 개발자에게 모든 희망과 기대 그리고 책임을 맡겨 버리게 된다. 자신이 어떻게 할 수 있는 일이 아니라는 신념이 있는 한, 어쩔 수 있겠는가?
문제는 고객은 자신이 진정 원하는 바가 무엇인지 모른다는 사실조차 모른다는 것이다. 고객은 자신이 원하는 시스템을 상당히 단순하게 생각한다. 여러분들은 가끔 여러분들의 심장을 관통하는 구인 글을 많이 보아왔을 것이다.
“아주 간단한 건데요..”
이것은 지극히 당연한 결과일 수 밖에 없다. 이러한 것으로 불현듯 폭발하려는 짜증을 느낀다면, 그대는 아직 도(道)를 깨우치지 못한 것이다. ㅡ.ㅡ 고객은 시스템을 깊이 이해할 수 있는 능력이 없다. 당연하지 않는가? 그러니 모든 것이 지극히 단순해 보일 수 밖에 없다. 개발자가 바라 볼 때 빙산의 일각이라고 생각하지만, 고객은 그것이 전부라고 느낄 수 밖에 없는 것이다.
막연한 기대감. 그것이 고객이 항상 자신이 원하는 바를 알려줄 수 없는 이유가 된다. 막연함 이외에는 고객의 마음 속에 아무것도 없기 때문이다. 그러나 그 막연함의 유연성은 상당히 획기적이다. 어디에 붙여도 잘 들어 맞기 때문에, 코에 걸면 코걸이 귀에 걸면 딱 귀걸이다.
해결 방법은 지극히 간단하다. 고객은 여자가 아니다. 개발자의 정성만으로 감동 받지 않는다는 것이다. 따라서, 고객이 진정으로 원하는 것을 추측하여 개발을 진행해서는 안 된다. 고객의 앞을 가로 막고 물어봐야 하는 것이다.
“이 도끼가 니가 원하던 것이냐? 아니면 이 도끼가 니가 원하던 것이냐?”
3. 그리고 이제는 개발방법론이 필요하다
이제 여러분들은 고객의 믿음을 얻었고, 고객이 원하는 바를 구체적으로 물어보고 확인해야 하는 이유를 알았다. 그러면 이제는 어떻게 해야 할 것인가를 생각할 때이다. 이에 대한 거론은 너무나 어렵고 긴 시간이 필요하기 때문에 여기서 나는 비겁한 결말을 지으려고 한다.
아래는 본인의 추천서적들이다. 이를 통해서 스스로의 환경에 맞는 자신만의 개발프로세스를 만들어보기 바란다. 본인 또한 언젠가 능력이 향상된다면 보다 구체적인 이야기를 마무리 짓도록 하겠다. 여러분들이 읽어봤으면 하는 순서대로 나열하였다.
제목 : Professional 소프트웨어 개발
출판사 : 인사이트
제목 : 프로젝트 매니지먼트
(원제 : 10 Minute Guide to Project Management)
출판사 : 피어슨에듀케이션코리아
제목 : 초보자를 위한 eXtreme 프로그래밍
출판사 : 인포북
제목 : 소프트웨어 프로젝트 생존 전략
출판사 : 인사이트
제목 : Rapid Development
출판사 : 한빛미디어
제목 : Software Requirements 2nd Ed
출판사 : 정보문화사
제목 : CMM
출판사 : 피어슨에듀케이션코리아
제목 : 구현사례를 통한 CMM 이해
출판사 : 피어슨에듀케이션코리아
반응형
'IT-개발트렌드' 카테고리의 다른 글
[IT/용어]패키징 산업이란? (0) | 2011.06.22 |
---|---|
[IT/과학] 한국(국내) OS 점유율 비교 (0) | 2011.06.21 |
[개발/컬럼] 프로그래밍, 얼마나 배워야 하나요? (0) | 2011.05.18 |
[개발/이론] IT 솔루션이란? (0) | 2011.01.27 |
[개발/컬럼] 소프트웨어는 누가 개발해야 하는가? (0) | 2011.01.04 |
댓글