마치, 셜록홈즈처럼!

2.1. 데이터 모델링의 잘못된 행태

실전에서 진행되고 있는 모델링 과정을 살펴보면 참으로 재미있는 모습들이 연출된다. 모델링이란 수사관이 범죄사건을 수사하는 것과 유사한 일이다. 수사관은 수사능력을 갖추고 있을 뿐, 범인이 누군지 사전에 알고서 수사하는 것이 아니다. 사건의 전모가 모두 밝혀지면 모든 것이 확실해 지겠지만 그 전에는 아직 결정되지 않은 수많은 불확실성들이 산재해 있다.

사건을 해결하기 위해서 가장 먼저 해야 할 일은 사건의 전모를 소상하게 파헤치는 일이다. 이를 위해서 반드시 해야 할 일은 사건 관련인들을 집중적이고 구체적으로 조사하는 것이다. 다시 말해서 용의자나 참고인들을 직접 대면하여 많은 것을 조사해야만 사건의 전모를 찾아내고 밝혀 낼 수 있다. 혼자 책상 앞에 앉아 서류만 뒤적인다거나 참고인들이 적어 준 진술서만을 믿고 수사하는 바보는 없을 것이다.

모델링의 진행방법도 이와 매우 유사하게 진행해야 한다.

우리가 밝혀야 할 불확실성은 너무나 많이 산재해 있고 그것을 밝혀 내 가는 과정은 참으로 쉽지 않다. 적절하지 않은 진행 방법은 문제를 엉키게 만들고 수사를 미궁에 빠지게 한다. 과연 우리가 어떻게 모델링의 수순을 밟아가야 이러한 질곡에서 빠져 나올 수 있을 것인가?

실제로 실무에서 진행되는 모델링을 살펴보면 필연적으로 이러한 딜레마에 빠지게 되어 있다. 그 이유는 여기서 소개하는 몇 가지 행태를 살펴보면 금방 알 수 있다. 아마 여러분들 대부분도 이러한 문제 행태 한 두 가지에 속하고 있을 것이다. 원인을 알면 답이 보인다. 잘못된 모델링 진행 행태를 살펴보고 그 원인을 찾아보기로 하자.

2.2. 책상 앞에 앉아 풍경화를 그릴 수 있을까?

모델링 진행시의 기장 큰 문제 행태는 참고인 및 최종 결정자라는 가장 중요한 역할을 담당할 현업담당자와 같이 모델링을 진행하지 않는다는 것이다. 이러한 행태를 과거 학창시절의 미술시간과 비교해 보자. 우리가 풍경화를 그릴 때 눈앞에 펼쳐진 풍경을 열심히 머릿속에 저장하고 집에 돌아와 책상에 앉아서 그림을 그린다고 한다면 그것은 풍경화인가? 사실화인가? 추상화인가?

아무리 기억력이 좋은 사람이라도 자신이 그릴 풍경을 눈에 익혀 가지고 와서 그림을 그린다면 제대로 된 그림이 나올 수 있겠는가? 기억을 해 낼 수 있다고 하더라도 정확히 그려내기는 무척 어려울 것이다. 예를 들어 여러분들이 잘 알고 있는 토끼나 양을 아무 것도 보지 않고 한번 그려보라. 확실히 자신은 이 동물들을 잘 알고 있겠지만, 만화가처럼 자주 그리지 않는다면 생각보다 그리기 어려울 것이다.

모델링도 이와 다를 것이 없다.

여러분들이 노트를 들고 현업을 찾아가서 열심히 업무설명을 듣고 나름대로 최대한 이해를 해서 자기 책상에 와서 ERD를 그린다고 해보자. 이것이 바로 풍경을 눈에 익힌 후 집에 와서 자기 책상에서 풍경화를 그리는 것과 다를 것이 무엇이겠으며, 이 그림이 과연 정확하게 그려졌다고 할 수 있을 것인가?

국내 유명한 화가인 ‘천경자’님의 그림을 보면 인물들이 그렇게 사실적으로 그려져 있지는 않지만, 모르긴 몰라도 앞에 모델을 놓고 그렸을 것이다. 다만 있는 그대로를 그리지 않고, 자신의 작품세계를 표현했을 따름일 것이다. 우리 같은 범인(凡人)이라면, 반드시 모델을 데려놓고 ‘앉으세요, 웃으세요, 표정 지으세요’ 하면서 그림을 그려야 되지 않겠는가?

우리가 모델링을 해 나가면서 조사하고 결정해야 할 일은 너무나 많다. 하나하나 어렵게 내린 결정은 다음 해야 할 일에 반드시 영향을 미칠 것이며, 이렇게 중요한 사항에 단서를 주거나 결심을 내릴 당사자가 없이 일을 진행한다면 그 결과는 온통 확인되지 않은 가설에 불과할 것이다. 이 가설을 다음 단계에 대입했다면 그 단계 또한 온통 불확실해 질 수 밖에 없음은 자명한 일이다.

2.3. 수사관, 셜록홈즈가 되라!

우리가 TV나 영화에서 접하는 수사관들은 그냥 피동적으로 피의자의 진술을 듣기만 하는 것이 아니라 자신의 논리적 사고를 토대로 피의자에게 날카로운 질문을 통해 단서를 잡아 나가고 실타래처럼 엉키어 있는 문제를 하나씩 해결해 가는 것을 볼 수 있다.

피의자만 열심히 열을 올려 설명하고 있는데 수사관은 앉아서 열심히 필기만 하고 있는 모습을 상상해 보라! 세상의 어느 피의자가 자신이 범인이라고 열심히 분석해 주고 증명해 주겠는가? 그 말을 그대로 믿고 수사 결과를 단정짓는다면 어떤 결과가 나타날 것인가? 정말 있을 수 없는 일이며, 상상할 수 없는 일이다.

그러나 이렇게 믿을 수 없는 일들이 정보시스템 분야에서는 실제로 도처에서 벌어지고 있다. 설계자라는 사람들이 현업 사람들을 앉혀 놓고 수사를 진행해 가는 것이 아니라 그들이 앞에 나가 열심히 업무 설명을 하면 책상에 앉아 열심히 필기를 하는 기가막힌 풍경들이 펼쳐지고 있는 것이다. 업무는 원래 그 사람들 소관이고 나보다 그들이 훨씬 잘 알고 있을 것이니 나는 그들의 말을 이해하여 정보시스템으로 전환시켜 주기만 하면 된다는 생각이 밑바닥에 깔려 있는 것이다.

여러분들은 몇 년전에 있었던 국회 청문회를 기억할 것이다.

나중에 국민들의 칭송을 받던 똑똑한 국회의원들은 자신이 주(主)가 되어 모든 것을 끌어 나가고, 증인은 단지 ‘예’ 아니면 ‘노’ 밖에는 답을 못하게 하면서 자신의 주장을 확인시켜 나가는 것을 보았을 것이다. 증인이 자신의 변명이나 거짓 증언을 하면 명쾌한 논리로 반박하고, 날카롭게 추궁해 가면서 결론을 도출해 간다. 그렇지만 국민의 분노를 산 많은 국회의원들은 자신이 한마디 하면 증인이 백마디를 한다. 오히려 그들에게 변명할 기회를 제공하고 일부러 면죄부를 주고 있지 않았는가?

데이터 모델링도 이와 동일하다. 설계한다는 사람은 앉아서 열심히 필기를 하고, – 물론 아주 가끔씩은 이해를 위한 기본적인 질문은 하지만 – 대부분은 현업 사람이 일어서서 열심히 설명을 한다. 일반적으로 현업 사람들에게는 공통적인 경향이 있다. 그들은 자기가 하고 있는 일이 남보다 훨씬 복잡하고 어렵다는 것을 과시하고 싶은 욕망이 끊는 사람들이다. 10년에 한번 있을까 말까 한 내용까지 열을 내서 설명하고 있으면, 설계자는 걱정이 앞선다. 머리 속에서는 “저것을 도대체 어떻게 프로그래밍 해야 하지???”하는 생각만 가득하다.

우리는 현업 사람들을 정확히 알아야 한다.

그들은 우리가 생각하는 것만큼 대단한 업무 전문지식을 가지고 있지 않다. 그들이 받는 급여는 결코 그들이 보유한 전문지식의 대가가 아니다. 그들의 하루 일상은 전문지식 활용위주가 아니라 업무경험을 통해 얻은 일반적인 지식을 토대로 열심히 노동한 대가를 급여로 받는다는 편이 옳을 것이다. 물론 여기서 현업 사람들의 지식 수준을 매도할려는 뜻은 절대로 없다.

다만 그들이 우리가 생각하는 만큼 업무에 해박한 지식을 가지고 일하지는 못하며 자신의 일이 아닌 다른 사람의 일까지 완벽하게 알고 있지는 않다는 것은 분명하다는 것을 말하고자 하는 것일 뿐이다. 또한 그들이 알고 있는 업무지식도 상당부분은 경험적일 뿐이며, 우리가 정보시스템에 적용할 때 파악하고 정의해야 하는 만큼은 구체적이고 체계적이지는 않다는 사실이다.

실제 프로젝트에서 우리는 현업의 모든 사람들과 업무를 협의할 수는 없다. 현실의 제한으로 인해 대부분의 경우 대표적인 몇 사람의 지원을 받아서 프로젝트를 진행한다. 당연히 그들은 우리에게 100% 만족할 수준의 정보를 제공할 수 없으며, 그냥 가만히 있어도 우리가 원하는 많은 결정사항을 책임있게 가져다 받치지 않는다.

이 말은 어쩔 수 없이 우리가 앞에 나서서 그들을 리드하고 필요한 정보를 캐어내고, 중요한 결정을 강요하여 우리가 원하는 수준의 결론으로 이끌어 가야 한다는 것을 의미한다. 그렇게 하기 위해서는 수동적인 자세로 필기나 하고 앉아 있는 수사관과 같은 한심한 행태를 당장 그만 두고 셜록홈즈나 형사 콜롬보와 같은 유능한 수사관으로 탈태환골 해야 할 것이다.

2.4. 작가는 평범한 피사체를 작품으로 승화시킨다

우리는 가끔 사진관에 간다. 거기서 우리는 작품 사진을 기대하지 핞는다. 사진사가 찍어 주는 사진은 작품사진이 아니며, 단지 있는 그대로를 제대로 살려 주는데 목적이 있다. 그렇지만 사진 작가는 피사체를 있는 그대로 찍어 내는 것이 아니라 자신의 작품세계를 표현한다.

우리가 하고자 하는 모델링은 작가의 작품세계를 만드는 것이다.그 회사의 현재를 정밀하게 파악하고 문제점을 해결하며, 앞으로 다가 올 미래를 위해 무엇을 해야 할 것인가를 찾아 종합적이고 전략적인 시각에서 많은 것들을 재창조를 해야 한다. 결국 우리는 그대로 찍어 내는 사진사가 아니라 작품을 만드는 사진작가가 되어야 한다. 그렇지만 필자는 20년 가까운 세월 동안 많은 시스템과 개발요원들을 접해 봤지만 아직까지 사진작가라고 인정할 만한 사람을 단 한 명도 보지 못했다.

어디에도 흘러 넘치는 것이 사진사였다.

여기서 말하는 사진작가라는 말은 결코 작가 자신의 주관대로 작품을 만들어도 좋다는 것을 의미하지는 않는다. 구현할 시스템의 전략(strategy)에 맞도록 전문 작가처럼 재창조하여야 한다는 것을 강조하는 말이다. 사용자의 요구를 파악하여 거기에 맞도록 단지 정보시스템으로 변환시켜 주는 역할만 한다는 것은 사진이 잘못 찍히지만 않았다면 그 질적인 문제는 오직 피사체의 책임이라는 사진사의 생각과 동일하다고 할 수 있다.

그러나 사진작가라면 피사체의 질적인 문제보다도 작가의 전문성을 통해 예술로 승화시킴으로써 아무나 창조할 수 없는 작품을 탄생시킬 수가 있다. 이와 마찬가지로 구현할 대상 업무의 질적인 면과 상관없이 최상의 작품으로 승화시키는 역할을 해야 하는 것이 바로 우리에게 주어진 중요한 임무라 하겠다.