본문 바로가기

Papyrus/Dizzy Report

설계자는 어떤 고객이 더 곤란한가

당신이 고객을 직접 만나 그들의 비지니스를 파악하고 솔루션을 설계해야 한다면, 다음 중 가장 곤란한 고객은 누구일까?


1. 자신의 비지니스를 잘 이해하고, 프로그램을 제작할 정도는 아니지만 IT 기술을 잘 알고 있는 고객

2. 자신의 비지니스를 잘 이해하고 있지만, IT 기술을 잘 모르는 고객


나머지 조건을 굳이 예시에 포함시킬 필요는 없을 것 같다. 당신은 어느 쪽 고객과 함께 일하는 것을 선택하겠는가? 대부분의 사람은 1번과 같은 유형의 고객과 함께 일하는 것을 선택할텐데, 좋은 선택이 아니라는 점을 말하고 싶다. 공정하게 말하자면, 1번과 같은 유형이든 2과 같은 유형이든 결국 개인의 일에 대한 접근 방식의 차이라고도 할 수 있다. 하지만, 그럼에도 불구하고 1번 유형의 고객과 같이 일을 하는 것은 필요 이상의 문제가 발생하는 경우가 많다.


3살 아이도 소프트웨어를 사용하는 것이 일상적일 정도로 소프트웨어가 흔해지기는 했지만, 이것은 어디까지나 소프트웨어를 사용하는 것이 그렇다는 것이지, 3살 아이가 사용하는 소프트웨어라도 그것을 개발하는 것은 쉬운 일이 아니다. 소프트웨어를 잘 사용하는 것이 소프트웨어가 어떻게 만들어지는지에 대한 깊은 이해를 보장하지 않기 때문에, 이 착각이 솔루션을 설계하는 사람과의 협업을 매우 곤란하게 만든다. 소프트웨어를 제작해보지 않았다면, 무엇이 가능하고 무엇이 가능하지 않은지, 어떤 것이 더 효율적인지에 대한 판단이 거의 불가능하다. 그렇다면, 설계자가 효과적으로 작업할 수 있도록 비지니스를 충실히 설명하는 것이 최상이지만, 1번 유형과 같은 고객은 이 과정이 충실하지 않다. 소프트웨어 전문가인 설계자가 중요하게 생각하는 사소한 문제를 지나치고, 자신이 원하는 구성만 간단히 설명하는 경우가 발생하기 쉽다. 이것은 설계를 헛돌게 만드는 가장 치명적인 문제다.


예를 들어, 전문가가 아니라면 구조화 가능한 데이터과 그렇지 않은 데이터의 차이를 구별하기 어렵다. 그러나, 비전문가들에게는 같은 데이터로 보이기 때문에 막연히 데이터베이스로 처리 가능하다고 생각하고, 잘못된 구상을 설계자에게 제시한다. 설계자가 이것을 검토없이 이것을 받아들인다면, 재앙이 발생한다. 고객은 사소한 문제라고 생각하겠지만, 데이터의 구조화 여부는 데이터베이스 모델을 결정하는 커다란 문제다. 유능한 설계자라면 상담 도중 이 문제를 발견하고, 처음부터 완전히 새로 솔루션을 설계해야 한다는 점을 발견하게 될 것이다. 고객, 설계자 모두가 시간을 낭비한 셈이다. 완전히 새로 설계해야 한다는 것을 양쪽이 이해한다면 그나마 다행이지만, 이런 문제를 발견하지 못한채로 구현을 시작했다면 머지 않아 재개발이나 파멸에 이를 것이다. 하이브리드 데이터베이스 모델을 사용하는 것이 얼마나 힘든지, 더구나 확장 가능성까지 고려하면 절대로 간단한 문제가 되지 않는다는 것을 깨닫게 되는 것은 시간 문제다. 고객의 비지니스를 처음부터 잘 파악해서 구조화 가능한 데이터 범위를 제한했거나, 해당 문제를 처리할 수 있는 다른 방법을 고려했다면, 이런 일은 발생하지 않았을 것이다. 어처구니 없다고 생각할지도 모르겠지만, 이 모든 일은 IT 기술을 잘 알고 있다고 생각하는 고객의 어설픈 설계에서 시작되었다.


결론을 정리하면 이렇다. 소프트웨어 제작에 있어서, 고객이 IT 기술을 잘 알고 있는 말을 다시 생각해보라. 소프트웨어를 설계, 제작하는 것은 사용하는 것과 완전히 별개의 문제다. 고객이 이 사실을 이해하고 있지 않다면, 이것부터 이해시켜야 한다. 소프트웨어 회사가 소프트웨어 제작 경험도 없는 개발자에게 솔루션 설계를 맡기는 것을 상상할 수 있는가? 고객이 아니라면 어림도 없는 이야기다. 어떤 경우라도, 설계자는 고객 나름대로의 구상을 절대로 그냥 받아들여서는 안된다. 그것은 소프트웨어를 직접 제작할 시각에서 검토한 것이 아니며, 더구나 데이터를 처리하는 전산화 시나리오 자체도 엉망인 경우가 많다. 문제는, 처음에 말한 1번과 같은 유형의 고객들은 자신의 구상을 고집하는 경우가 많다는 것이다. 그렇기 때문에 이런 유형의 고객은 피곤하다.


당신이 IT 솔루션을 설계하는데 능통할수록, IT 기술은 잘 모르지만 자신의 비지니스는 잘 이해하고 있는 사람과 일하는 것이 훨씬 낫다.