Reference: http://www.ciokorea.com/news/23801 (Steven A. Lowe)
소프트웨어 개발과 같은 고객 중심적 업종에서 살아남기 위해서는 최선을 다해 노력했음에도 불구하고 프로젝트가 탐탁지 않은 방향으로 나아가기 전 이 신호를 포착할 수 있어야 한다.
실제 직접 고객을 상대하는 사람들은 전설 속의 괴물과 같은 고객을 만날 수밖에 없다. 출발은 좋았지만 관료적인 절차로 인해 길을 잃어 서서히 죽을 일만 남은 프로젝트가 있을 수 있다. 또 어느 날 갑자기 힘 있는 임원 한 명이 무대 뒤에서 프로젝트를 무산시키라는 지시를 내릴 수 있다. 뒤늦은 부당한 요구가 수익성을 떨어뜨릴 가능성도 있다.
무서운 고객 1: 바다의 괴물 크라켄 (Kraken)
프로젝트 중간에 불쑥 수면 위로 부상해 '상충되는 요건'이라는 촉수로 당신을 함정에 빠뜨린다.
당신은 원하는 바는 고객을 만족시키고, 고객이 원하는 시스템을 전달하는 것이다. 그러나 상충되는 요건을 해결하기란 까다롭다. 요건, 즉 요구사항이 늘어나면 청구해야 할 금액도 많아질 수밖에 없다. 또 이런 상충을 해결하지 못하면 프로젝트가 실패할 확률이 높다.
이는 마치 크라켄의 여러 팔과 같다. 서로 갈등 관계가 아니지만 그저 서로를 인식하지 못한다.
한 팔이 다른 팔의 행동을 모른다는 사실을 파악하는 즉시 모든 팔이 참가하는 회의를 소집하라! 크라켄을 무찌르는 유일한 방법은 상충되는 요건을 확실히 열거하는 방법뿐이다.
집단 회의를 통해서도 해결되지 않는 갈등이 있을 것이다. 또 갈등이 프로젝트를 망치지 않도록 하려면 더 많이 노력해야 하는 경우도 있을 것이다.
무서운 고객 2: 모기만한 크기의 흡혈 괴물 스터지(Stirge)
모기만한 크기의 흡혈 괴물인 스터지(Stirge)는 단독으로는 큰 피해를 입히지 못한다. 공격을 받으면 '이게 뭐지?'하면서 잠시 뒤로 물러나 고개를 갸웃거리게 만들 뿐이다. 그러나 떼로 달려들면 큰 문제가 생긴다. 스터지 같은 고객은 조기에 때려 잡지 않아도, 당장은 프로젝트에 문제가 발생하지 않는다.
순진무구하게 대화가 시작된다. 고객이 아이디어를 갖고 있다. 최소한 이론상으로는 실현 가능해 보인다. 그래서 질문을 묻는다. 고객은 당신의 질문에 답을 들려주겠다면서 누군가를 불러온다. 이 사람이 당신의 질문에 답을 한다.
그런데 여기에서 그치지 않는다. 또 다른 아이디어를 내어 놓는다. 다소 상충되는 부분이 있지만, 충분히 해결할 수 있는 그런 아이디어이다.
또 질문이 생겼다. 최초 상대한 사람이 데려온 이 사람이 또 다른 사람을 불러온다. 이런 식으로 계속해서 사람들이 들어와 대답을 하고, 새로운 제안을 내어 놓는다. 그러면 상충되는 부분이 누적되어간다. 이때쯤이면 부지불식간에 불가능한 요구사항이 되어버린다. 그리고 당신은 이제 '공포'를 느끼기 시작한다.
이를 해결하는 방법은 도움을 주겠다며 대화에 참여하는 사람들의 수를 제한하는 것이다. 특히 새로운 사람이 대답 대신 '혼동'만 가중시킬 경우는 더욱 그렇다. 위험을 느끼기 시작한 즉시, 전화를 받는 시늉을 하며 밖으로 탈출하라.
무서운 고객 3: 히드라
히드라 유형의 고객 또한 치명적이다. 여러 머리 중 하나만 자르면, 그 자리에서 두 개가 다시 자라난다. 히드라를 무찌르는 유일한 방법은 한 번에 머리 모두를 자르는 것이다.
히드라 유형의 고객은 둘 중 하나다. (운이 좋다면) 계약 전에 끝 없이 요구와 조건을 늘어 놓는 유형, 또는 한계가 불분명하고 옴짝달싹 할 수 없는 계약에서 반드시 지켜야 할 요구 및 변경 사항을 끝 없이 제시하는 유형이다.
머리를 하나씩 자른 후, 다시 자라기 전에 태워버리는 것이 이 괴물을 상대하는 방법이다. 물론 비즈니스 회의 석상에 횃불을 가지고 들어갈 수는 없다. 따라서 최상은 변경 사항을 처리하는 정확한 프로세스와 명확한 납기 대상을 계약서에 규정하는 것이다.
무서운 고객 4: 미노타우르스
복잡한 미로 속에 살고 있는, 인간의 몸에 거대한 수소의 머리를 지니고 있는 괴물이다. 계약 성사 전까지는 무대 뒤에서 은밀히 자신의 몸을 숨기고 있다가, 갑작스레 모습을 드러내고는 전체 프로젝트를 진창에 빠뜨리는 영향력 강한 임원이 미노타우르스 유형의 고객이다.
애석하게도 이런 유형의 괴물 같은 고객을 상대할 방법은 없다. 절대 누그러뜨릴 수 없는 병적인 자만감으로 무장하고 있기 때문이다. 그러나 다른 사람이 간접적으로 그 존재를 귀띔해 줄 수 있다.
"아무개가 허락하지 않을 겁니다.", "아무개 의견을 듣고 결정하겠습니다. 프로젝트가 취소될 수 있으니까요."
이 아무개가 결재권자라면 프로젝트에서 손을 뗄 것을 진지하게 검토하라. 저주받은 운명이 결정되어 있기 때문이다.
무서운 고객 5: 드래곤(용)
다소 의외라고 생각할지 모르겠다. 그러나 드래곤 유형의 고객도 좋은 고객이 아니다. '금'에 탐욕을 부리며, 순간의 변덕에 컨설턴트를 불태운다.
용의 머리를 베어 줄 빛나는 갑옷 차림의 '드레이곤 슬레이어'를 찾아야 할까? 당신 스스로가 드레곤 슬레이어가 되어야 한다. 용은 허영심이 있고, 입 발린 소리에 약하다. 그러나 동시에 배반을 잘하고, 약속을 지키지 않는다.
애석하게도 당신보다는 용이 당신을 잡아 삼킬 가능성이 높다. 부당한 요구를 하거나, 절대 만족을 못하거나, 대금을 제때 지불하지 않거나, 화가 나면 입에서 불을 뿜으면서 발톱을 세운다면 드래곤에 해당하는 고객이다. 어쩌면 드래곤과의 계약을 해지해야 할지 걱정할 필요가 없다. 드래곤이 먼저 당신을 해고할 것이기 때문이다.
드래곤을 피하는 최상의 방법은 과거 해당 고객과 일한 경험이 있는 사람과 이야기를 나누는 것이다. 위에서 열거한 행동들을 보였는지 파악한다. 은신처에 들어가기 전에 불탄 대지와 흩뿌려진 뼈 조각이 있는지 확인한다. 그리고 드래곤이라고 판단되면 후일을 기약한다.
무서운 고객 6: 유니콘
동의하지 않을지 모르겠지만, 유니콘 또한 '악몽'이다. 유니콘은 최상의 완벽한 기회를 약속한다. 그러나 문제는 이런 기회가 절대 실현되지 않는다는 것이다.
희망이 보이지만 감질난다. 이론적으로 유니콘은 길들일 수 있는 영물이다. 그러나 실제는 나타났다 사라졌다를 반복한다. 결국 유니콘을 쫓아 길들이려는 목표 아래 이루 말할 수 없는 시간과 노력만 낭비하고 만다. 가까이 다가가면 날카로운 뿔에 찔릴 위험도 있다.
기회가 너무 좋거나, 나타났다 사라졌다를 반복하거나, 먼 거리에서만 희망이 보이거나, 프로젝트를 따내기 위해 무수한 여정을 반복해야 한다면 유니콘을 만난 것이다.
그렇다면 그 자리를 떠나야 한다. 기약할 것이 없기 때문이다.
무서운 고객 7: 늑대인간
평상시에는 괴물이 아니다. 친근하고, 협조적이다. 그러나 가끔 가다 한 번씩 당신을 찢어발길 그런 무자비한 괴물로 돌변한다. 다름 아닌 '늑대인간' 유형의 고객을 가리키는 말이다.
더 나쁜 것은 다시 사람으로 돌아와서는 자신이 했던 행동과 말을 기억하지 못한다는 것이다(물론 당신이 살아남았을 때).
소프트웨어 세계에서는 보름달이 뜨지 않아도 늑대인간으로 변할 수 있다. '신성시 되는' 기술에 질문을 던지거나, 분명히 이상적이지 못한 비즈니스 관행을 지적하면 갑작스레 괴물로 돌변한다.
늑대인간이 되도록 만드는 촉매를 알고 있다면 살아 남을 수 있다. 앞서 이 고객을 상대한 컨설턴트가 힌트를 줄 수 있다. "가급적 월말 결산 시기에는 대화를 피하세요!","스프레드시트를 좋아하니까, 그 부분은 건드리지 마세요!" 등의 충고다.
무서운 고객 8: 스핑크스
개발자와 컨설턴트가 맞닥뜨릴 스핑크스(Sphinx)라는 괴물은 수수께끼 같은 질문을 물은 후, 자신의 맘에 들지 않는 대답을 내어 놓았을 때 상대를 게걸스레 먹어 치운다(자만심에 넘치는 회사의 입사 면접관과 비슷하다.).
그런데 당신을 위험에 빠뜨릴 수수께끼인지 파악하기가 힘들 수 있다. 직원 사기, 생산성 저하, 품질 문제, 과도한 이직률 등 일반적인 비즈니스 문제처럼 들리기 때문이다. 하지만 잘못 대답을 하면 희생양이 된다. 또 소프트웨어 세계의 스핑크스가 바라는 대답이 반드시 정답이라는 법이 없다.
사전에 스핑크스를 알아채기란 쉽지 않다. 그러나 "올해 세 번째 컨설턴트입니다!", "앞서 잘되지 않아서 다른 분을 모셨습니다!" 같은 말을 듣게 된다면 불가사의한 재앙으로 나아가고 있다는 신호이다. 그리고 스핑크스를 상대하고 있다면, 선금을 챙기기 바란다.
무서운 고객 9: 언데드
소프트웨어 세계에는 여러 종류의 '죽지 않는 자들'이 있다. 이들의 모습과 해를 끼치는 능력 또한 다양하다. 일부는 정상적으로 보인다. 매력적이기까지 하다. 그러나 당신의 취약점을 발견하는 즉시 당신이나 당신의 업무에서 피를 빨아 들인다.
또 다른 일부는 벽과 갖가지 장애물을 손쉽게 통과하는 투명인간들이다. 망령 같이 프로젝트를 상시 쫓아다니면서, 개발자들을 겁준다. 무자비하고, 멈출 줄 모른다. 그러나 정작 최악은 당신이 이런 점을 털어 놓았을 때 믿어주는 사람이 단 한 명도 없다는 것이다.
신화 속의 '죽지 않는 자'들을 죽이는 방법은 종류에 따라 다양하다. 예를 들어, 뱀파이어는 심장에 말뚝을 박아야 하고, 악령은 엑소시즘으로 내쫓아야 하고, 좀비는 머리를 잘라야 한다. 그러나 기술 세계의 '죽지 않는 자들'을 무찌르는 가장 안전한 방법은 관계를 끊고, 돈이 되는 새 프로젝트를 찾는 것이다.
무서운 고객 10: 트롤
트롤은 아무도 없는 장소에서 갑작스레 모습을 드러낸 후 공격을 한다. 기술 세계의 트롤은 인터넷상의 '악성 댓글(악플)'을 떠올리면 된다.
트롤에 해당하는 고객들은 당신이 무슨 말을 하든 공격을 한다. 고객의 말을 다시 인용하거나, 동의하는 말을 할 때도 마찬가지이다. 트롤은 이메일 논쟁을 즐긴다. 원래의 의도와는 동떨어진 비건설적인 논쟁으로 이끌고 간다. 이를 재미있게 생각해서이다. 아니면 고약한 취미일 수도 있다.
트롤로부터는 성과를 얻을 수 없다. 경험 많은 기술 전문가, 컨설턴트의 지혜로 트롤을 계도할 수도 없다. 인터넷의 지혜가 알려주는 대로 행동해야 한다. 트롤에게 먹을 거리를 던져줘서는 안 된다. 그냥 무시해야 한다.
당신의 고객이 트롤이라면 관계를 끊는다. 당신 고객을 위해 일하는 사람이 트롤이라면, 그 사람을 대화에서 배제시킨다. 고객에게 '트롤'의 방해되는 행동이 업무에 지장을 주므로 앞으로의 모든 대화에서 그를 배제하자고 말한다.
아름답지 못한 광경이다. 그러나 주의하지 않으면 트롤에게 먹힐 수 있으니 어쩔 수 없다.
무서운 고객 11: 세이렌
세이렌(Siren)은 아름다운 외모와 유혹의 노래로 선원들을 홀려 배를 좌초시키는 괴물이다.
실제 세이렌을 닮은 고객을 만나기란 아주 힘들다. 그러나 세이렌의 노래는 흔하다. 그리고 세이렌이나 세이렌의 노래나 결국 효과는 같다. (개발자 스스로가 세이렌의 유혹에 빠지기도 한다. 신기술에 홀려, 당장의 업무를 완수하지 못하는 경우이다.)
세이렌에 해당하는 고객은 거부할 수 없는 유혹을 던진다. 오늘 당장 '간단한 일'을 무료로 처리해주면, 미래에 아주 많은 일을 주겠다고 약속하는 것이다. 그러나 그 '간단한 일'이 실제로는 간단하지 않을뿐더러, 미래에 약속한 일감을 주지 않을 확률이 높다. 유혹에 빠져서는 안 된다. 눈과 귀를 막고, 원래 가려던 길을 간다.
무서운 고객 12: 오우거
오우거(Orge) 유형의 고객은 반사적으로 아이디어와 프로젝트를 죽이는 '못된 습관'을 갖고 있다. 새로운 아이디어에 '알레르기' 반응을 갖고 있든, 비밀스럽게는 실패를 원하든, 당신을 싫어하든, 그 이유는 중요하지 않다. 오우거 유형의 고객과는 거리를 둬야 한다.
만약 당신의 고객이 오우거 같이 행동하면서 일의 진전을 가로막거나, 계속해서 새로운 방향을 제시하면서 기존의 노력을 무산시킨다면, 유일한 방법은 '위로부터의 도움'을 요청하는 것이다.
오우거나 오우거의 상사에게 그 동안 기울인 노력이나 제안을 설명하고(이메일에서 노력과 헌신이라는 표현을 사용하지 않는다. 오우거는 이런 표현에 과민반응을 보인다), 원하는 목표와 이를 실현시키는 방법을 이해할 수 있도록 도움을 줄 것을 요청하자. 간혹 이러한 간단한 방법으로도 문제를 해결할 수 있을지 모른다. 그러나 문제를 해결하지 못할 경우 자신은 물론 고객의 시간도 낭비하게 된다.
무서운 고객 13: 도깨비불
도깨비불(Will-o-wisp)은 안개가 자욱한 늪지에서 가장 필요한 순간에 불빛으로 방향을 제시한다. 그 불빛으로 다가갈 것이다. 그러나 그 순간 멀어진다. 자신을 계속 쫓아오라고 신호를 하는 것 같다. 안도감을 느낀다. 그러나 도깨비불의 불가사의한 주문 아래 더 깊숙한 늪지를 헤매게 된다.
이런 고객을 만난 적이 있는가? 도깨비불 유형의 고객이 가장 먼저 하는 행동은 안개를 만드는 것이다. 모호한 요구 조건, 여러 명의 상사와 결제 절차, 여러 차례의 공짜 RFP(Requests for Proposals), 싸구려 POC(Proof Of Concept) 프로젝트 등이 이런 안개에 해당한다. 그러나 절대 확고한 계약, 분명한 목표에까지 도달하지는 못한다. 결국 결과가 더디어진다. 계속해서 위험하고 어두운 늪지에서 고군분투하게 되는 것이다.
대다수 고객은 애초 '도깨비불'이 될 의도를 갖고 있지 않다. 그러나 도깨비불이 되고 만다. 계약을 체결할 능력이 없거나, 명확한 목표나 방향을 제시할 수 없기 때문이다.
또 기술에 겁을 먹은 고객도 많다. 일부는 스스로가 안개 속을 헤매고 있다. 절대 탈출할 수 없는 관료적인 절차에 구속되어 있는 경우다. 이들과 함께 '죽음의 행진'을 해서는 안 된다. 절대 고객과 함께 늪지와 안개 속으로 빠져들어서는 안 된다.
계획적인 도깨비불은 훨씬 위험하다. 이미 다른 벤더를 염두에 두고 있는 가운데 단순히 정보를 얻기 위해 당신을 이용하고 있거나, '윈도우 쇼핑'을 하고 있는 고객이다.
이를 탈출하는 방법은 계단을 오르는 것이다. 엉뚱한 사람과 대화하고 있다는 사실을 파악했다면, 실제 권한과 비전, 목적의식이 있는 사람을 소개받는다. 대화를 한 사람의 상사, 그 상사의 상사, 더 높은 단계까지 올라가야 할 가능성도 있다.
혼자서라도 나무를 올라가고, 안개를 헤쳐나가 단단한 땅을 찾아야 한다. 그렇지 않으면 둘 모두 낭패를 겪게 된다. 아무 것도 하지 않으면 길을 잃게 된다.
무서운 고객 14: 프랑켄슈타인
프랑켄슈타인은 다른 사람의 조각을 모아 좋은 사람이 되려 했다. 그러나 실패하는 바람에 무서운 괴물이 됐다.
마찬가지로 고객 자체가 프랑켄슈타인 같은 괴물이 아니다. 합리적인 방법, 말끔한 코드, 테스팅, 리팩터링, 사용자 경험에 어떤 가치도 두지 않는 고객의 행동이라는 결과가 괴물이다.
사실 진짜 괴물은 프랑켄슈타인 박사였다. 당신의 고객을 상대로 주의해야 할 부분도 이와 관련이 있다. 당신의 고객이 '의심스러운' 지름길을 요구하고 있는가? 도덕적으로 모호한 원칙을 주장하는가?
지금 당장의 결과만 강조하고, 그 방식은 개의치 않는 행동을 한다면, 그러면서 그 결과로 빚어진 문제를 정리하는 책임을 지지 않고, 양심의 가책도 느끼지 않는다면 위기 신호다. 그렇다면 프랑켄슈타인 박사와 함께 괴물을 만들고 있는 것이다.
당신은 윤리적인 소프트웨어 개발자라면 코드를 깨끗하게 유지하는 조항을 만들어야 한다. 긴급하게 문제점을 바로 잡거나, 기능을 추가하는 일이 발생할 것이다.
이때 관계를 끊거나 무시해서는 안 된다. 따라서 이렇게 문제점을 바로잡고 무언가를 추가하는 부분을 협상할 때(괴물에 생명력을 불어넣을 정도로 계속해서 문제점이 반복될 수도 있다), 리팩터링과 테스트, 필요하다면 문제를 초래한 하위시스템의 재분석 및 재설계를 위한 조항과 일정을 포함시켜야 한다.