흡입신공(吸入神功)
세상에서 가장 강력한 무공은 남의 능력을 가신의 것으로 흡수해 버리는 이름하여 ‘흡입신공’이다. 여러분 중에서 옛날에 무협지를 많이 읽어 보신 분들은 잘 알고 있을 것이다. 영화 ‘동방불패’를 보면 오랫동안 감옥에 갇혀 있어 영양실조에 걸려 마르고 힘이 없던 한 노인이 다른 사람의 무공을 흡입하는 신공을 사용하여 남의 내공을 빨아 들임으로써 엄청난 무공을 가지게 된 것을 기억하는가? 잘 모르겠는 사람은 오늘 저녁이라도 데이터 모델링을 핑계로 비디오 가게를 들러 보는 것이 현명할 것이다.
무공 중에서 가장 강력한 무공은 남의 무공을 빼내는 흡입 신공일 것이다. 그 이유는 강한 상대를 만날수록 더 유리해 지기 때문이다. 우리처럼 정보시스템을 하는 사람들은 결코 이 세상에 있는 모든 업무에 대해서 전부 박식할 수는 없다. 제 아무리 인사 업무만 몇 년을 했든, 회계 업무만 몇 년 했든 모든 기업의 업무를 다 알 수는 없고 그들만이 가질 수 있는 업무 감각까지는 결코 얻을 수 없다.
기업마다 문화가 다르고, 기준이 틀리며, 앞으로의 비젼이 서로 다르기 때문에 업무의 기본을 알 수 있을 지 언정 모든 것을 자기 지식화 할 수는 없다. 정말 우리가 해야 할 일은 현업에서 실무를 하는 사람들의 힘을 가장 완벽하게 이용해 내는 기술이 훨씬 더 중요하다는 것이다. 다시 말해서 그들이 가진 지식과 능력을 흡입해서 우리가 원하는 목표로 이끌고 가는 힘이 가장 필요하다는 것이다.
모델러는 바로 오케스트라의 지휘자와 같다. 오케스트라의 지휘자는 연주하는 사람들 만큼 바이올린, 첼로를 잘 연주하지는 못한다. 그렇지만 지휘자가 없는 교향악단의 연주는 소음에 불과하다. 지휘자는 자신이 직접 악기를 연주하지는 않지만 전체 연주자의 연주를 조화롭게 이끌어 나감으로써 장엄한 교향악을 탄생시킨다.
이와 같이 업무 지식은 그들 보다 못하지만 그것을 종합하여 최적의 결정을 이끌어 내는 사람이 바로 모델러라는 것이다. 필자는 정보시스템 분야 사람들을 만날 때마다 ‘우리는 역도선수가 아니라 유도선수가 되어야 한다’고 강조한다.
역도선수는 자신의 힘을 길러서 바벨을 들어야 하지만 유도선수는 상대방의 힘을 이용해서 쓰러뜨린다. 물론 유도선수라고 해서 힘이 없어도 된다는 것은 아니다. 힘이 있을수록 더 좋은 기술을 사용할 수 있기 때문인 것처럼 우리도 자신의 힘과 기술을 길러야 한다.
필자가 얼마 전에 국내 굴지의 반도체 회사에서 공정제어용 시스템을 구축하는 프로젝트를 했는데 그동안 정말 많은 업무의 모델링을 해 봤지만 굉장히 어려웠다. 왜냐 하면, 용어조차 그렇게 어려울 수가 없었다. 그들에게는 일상적인 용어겠지만 내가 알고 있는 것은 까만 육면체에 지네발이 달린 것이 반도체라는 것밖에 모르는 상태였으므로 이해하기가 무척이나 어려웠다.
여러분들이라면 이런 상황에서 오랫동안 그 업무만 해 온 수십명의 전문가들을 앞에 두고, 업무를 전혀 모르면서도 바로 모델링을 시작할 수 있겠는가? 그러면서도 몇 십분 내에 그들끼리 서로 업무적으로 다투도록 할 수 있겠는가? 불가능한 일이 아니다. 모델링의 진정한 능력은 바로 이런 힘을 말하는 것이며, 여러분들이 이러한 힘을 얻었다면 그 때는 흡입신공의 무공을 연마했다고 말할 자격이 있다.
여러분들은 지금부터 이제 이 흡입신공을 배워 나가는 것이다. 앞으로 전편에 걸쳐 상대방의 업무 지식을 손 쉽게 흡입해 낼 수 있는 수 많은 방법들이 여러분에게 제공될 것이다. 이것들을 모두 여러분들의 것으로 소화하여 자신의 수를 둘 수 있게 된다면 이제 우리는 연필 한 자루와 내 머리만 있으면 어디, 어떤 곳을 가더라도, 누구 앞에 서라도 그들을 꼼짝 못하게 만들 수 있다.
이 보다 더 강력한 무공이 어디 있겠는가? 우리는 모델링의 방법만 이해할 것이 아니라 바로 이런 능력을 익혀야 한다. 어떻게 생각하는가? 매력적이지 않는가? 크게 마음을 먹고 꼭 한 번 도전해 보기 바란다.
견물생심(見物生心)
업무를 잘 모르는 채로 객관적으로 구체화를 시키기 위해서 수평적 사고로 접근하여 삼각형의 크기를 적절한 크기로 만들어 둔다. 이 단위 삼각형을 완벽하게 하기 위해서는 업무 담당자들의 업무 지식을 확실하게 흡입해 내야 한다. 이러한 업무 지식의 흡입을 보다 용이하게 하기 위한 무공으로 ‘견물생심’을 사용해야 한다.
백화점에 있는 신사복 코너의 판매원들도 견물생심의 무공을 사용한다. 무능한 판매원은 손님 뒤만 따라 다니다가 계산만 해 준다. 그러나 유능한 판매원은 손님의 판단을 돕기 위해 “이 옷이 너무 잘 어울린다”거나 “손님은 얼굴이 희기 때문에 비싸더라도 이 옷이 훨씬 멋져 보인다”라고 손님의 생심을 유도하면, 자기 월 급여를 다 털어서라도 그 옷을 산다는 것이다.
이것이다. 바로 이렇게 견물을 해 줌으로써 생심을 유도해야 한다. 그래야 숨어 있던 마음이 동한다. 베테랑 수사관은 유도 신문을 잘 한다. “당신이 범인입니까?”라는 식의 직접적인 질문에 자신이 범인이라고 솔직히 답을 해 줄 용의자는 없다.
여러분들 중에는 회사 입사 시험에서 ‘인성검사’ 시험을 치루어 본 사람이 있을 것이다. 이 시험의 문제는 매우 재미있는 방법으로 구성되어 있다. 문제 하나 하나를 살펴 보면 내용이 매우 단편적이다. 가령, ‘나는 잠을 잘 들지 못하는 편이다’, ‘나는 남들을 많이 의식하는 편이다’ 등과 같은 단답적인 질문에 깊이 생각할 시간을 주지 않고 쉴 사이 없이 답을 하도록 요구한다.
그런데 만약 자신의 단점을 감추고 싶어 반대로 답변을 하면 거짓말을 한다는 것이 모두 드러 나도록 교묘하게 질문이 연결이 되어 있다. 다시 말해서 거짓말을 하면 어디에선가는 앞뒤가 맞지 않도록 함정을 파 둔 것이다.
견물생심을 시킨다는 것은 때로는 백화점 판매원과 같이 숨어 있던 생각이 동하여 밖으로 표출되도록 하는 것이며, 때로는 형사 콜롬보와 같은 수사관처럼 바람직한 답변을 유도하기 위해 ‘적절한 질문을 적절하게 하는 것’을 말한다.
이런 능력은 어쩌면 베테랑 판매원이나 형사 콜롬보 정도가 되어야 할 수 있는 능력이다. 다시 말해서 많은 경험과 논리력이 있어야 가능하다는 것이다. 손님의 반응을 재 빨리 감지하여 유연하게 대처하는 판매원의 능력이나, 용의자의 무심코 지나가는 말에 귀중한 단서를 잡거나 그 눈빛과 어투에서 상대방의 신뢰성을 감지할 수 있는 능력은 다를 것이 없다.
신뢰할 수 없는 정보를 가지고 내린 결정은 결국은 자신의 손해로 되돌아 오게 되어 있다. 불확실한 것들이 모이면 더 불확실해 지고, 10과 같은 확실한 상수값이라 하더라도 거기에 미지수 X를 더하면 불확실한 값이 되어 버린다.
이와 같이 우리가 모델링을 함에 있어서 완벽을 기하는 유일한 방법은 현업 담당자의 확실한 정보를 제공받는 것이다. 그러므로 그들이 가지고 있는 모든 업무 지식을 남김없이 끌어낼 수 있는 능력이야 말로 모델러가 보유하고 있어야 할 매우 중요한 기반 기술이라 하지 않을 수 없다.
이런 능력은 책을 아무리 읽고 암기하더라도 키워지는 힘이 아니다. 어떻게 보면 여러분들이 지금까지 어떻게 인생을 살아왔고, 어떤 고민을 하면서 살아왔으며, 또 어떤 생각을 해 왔느냐의 문제일지도 모른다.
이 말은 앞으로 여러분이 진정 모델러가 되고 싶다면 모델링 방법만 익힐 것이 아니라 이러한 방법 외적인 것들에 깊은 관심을 기울여야 할 것이다. 진정한 문학작가는 화려한 미사여구에만 능숙해서도, 상상력만으로서도 이루어 질 수가 없다. 작가의 작품 세계, 가치관, 인생관 들이 빝 바침 되어 있어야 비로소 대문호가 될 수 있는 것과 결코 다르다 할 수 없다.
데이터 모델링과 프로세스 모델링
정보 시스템을 개발하는 그 과정는 두 가지의 큰 줄기가 있다. 한 가지는 정보의 요구사항을 설계하는 데이터 모델링 부문이고, 다른 하나는 사용자의 에플리케이션 요구사항을 수렴하기 위한 프로세스 모델링이 있다.
필자는 많은 사람들에게서 이 두 가지 축선을 어떤 방법으로 실시하는 것이 좋으냐는 질문을 자주 받는다. 물론 개발 방법론에 따라 얼마간의 차이가 있을 테지만 여기서 주장하고자 하는 것은 이들의 진행순서를 어떻게 하는 것이 바람직한 것인가에 대한 장.단점과 적용기준을 알아 보는 정도만 언급하고자 한다.
[그림1]
[그림1]에 나타나 있는 각 부문의 내용이 무엇인지는 굳이 설명하지 않겠다. 단계적으로 보면 전략수립 단계와 분석 단계에 데이터모델링을 하여 ERD와 엔터티, 속성 정의서가 완성되고, 기능 모델링을 수행하면서 자료흐름도(DFD)나 기능계층도(FHD)를 완성한다. 설계 단계에서는 데이터베이스를 설계하고, 또 에플리케이션을 설계를 하게 된다.
물론 이들은 상호검증을 통하여 보완되어야 하며, 이과정을 거쳐서 가동 가능한 데이터베이스와 프로그램 작성을 통한 가동 에플리케이션이 나온다. 정보시스템이란 결국 이 두가지가 연결됨으로써 가동 가능한 시스템으로 태어난 것이다. 물론 이것은 당연한 부분인데 문제는 이 두가지를 어떻게 조화시켜 나갈 것인가 하는 것이 중요하다.
우리가 취할 수 있는 방법에는 세가지가 있다. 첫 번째 방법은 프로세스 모델링을 먼저 한 다음 그 결과인 데이터 저장소(data store)를 가지고 데이터를 모델링하는 방법이다. 두 번째 방법은 데이터 모델링과 프로세스 모델링을 병행해 가는 방법이며, 마지막 세 번째 방법은 데이터 모델링을 먼저 완료하고 프로세스 모델링을 실시하는 방법이다.
이 세가지 방법은 나름대로 장.단점을 가지고 있으며, 또한 그 방법을 사용하기 위해 반드시 필요한 요건이 있으므로 상황을 면밀히 분석,검토한 후 결정하는 것이 좋다.
|