어떻게 하면 모델링을 잘할 수 있을까?
다시 한번 그의 문장(포기말)을 살펴보겠습니다.
Actor와 협력을 해야 할 '것'들이 자연스러운 '곳'에 위치하게 되고, 그 '것'들이 '쪽'이 된다. 이런 식으로 해석을 하게 됐습니다.
보통 모델링을 하면서 '한국말'을 특별하게 쓰지는 않는데요. 최봉영 선생님과 긴 시간 묻따풀을 하며 용기가 생겨서 설명을 시도했는데, 그걸 단번에 소화해서 자기 말로 쓰는 모습이 반갑고 놀라웠습니다. 그래서 이번에는 바로 그 문장에 나오는 '것'과 '곳'과 '쪽'을 다루는 글을 쓰려고 합니다.
우선 제가 다루는 모델링은 소프트웨어 개발을 위한 모델링입니다. 문제의 범위를 그렇게 좁혀 놓고 이야기를 전개합니다. 그렇다면, 모델러가 듣는 내용은 시스템에 대해 바라는 내용이나 기존의 불편함들이 주류를 이룰 것입니다. 하지만, 그 기저에서 작동하는 사용자, 고객 혹은 이해관계자의 욕망을 읽어야 제대로 문제를 파악했다고 할 수 있습니다.
제대로 파악하기 위해서는 하나씩 생각을 차려 나가는 방법을 권할 만합니다. 그래서 스스로가 독자인 모델을 자주 그리게 된다는 관찰 기록을 쓴 적도 있죠. 그리고, 이번에 차릴 생각의 덩어리를 어느 정도 한정하여 생각이 들쭉날쭉하는 폭도 고려하자는 표현을 <모델을 그리기 전에 '생각의 종이'부터 준비하세요>라는 은유로 설명한 바 있습니다.
단번에 드러나지 않기에 한 꺼풀씩 벗겨 봐야 하는데 이럴 때 제가 자주 쓰던 방법이 순차도sequence diagram 그리기입니다. actor 혹은 사용자가 어떤 행위를 목적으로 할 때 어떤 것들이 어떤 순서로 협업할 수 있을까 상상하고 배치해 보는 일을 찬찬히 해볼 수 있습니다. 암산으로 하는 계산보다 손으로 쓰면서 하는 계산이 번거롭지만 생각할 여유를 더 주는 것처럼 편리한 도구를 쓴다면 배치를 해 보고 순서를 바꿔 보고 이름을 붙여 보는 식으로 시간을 들여 눈으로 보면서 판단하는 방식이 생각을 차리는 일을 도울 수 있습니다.
순차도로 차리는 생각은 하나의 사태라고 할 수 있습니다. <낱말의 뜻을 깊고 넓게 묻고 따지는 일의 소중함>을 실천하여 사전을 봅니다.
무상(無常)하게 변모하는 일의 상태 중 일부를 콕 짚어서 묘사한 그림이라 할 수 있습니다. 아주 구체적일 수도 있고 더러 추상적일 수도 있지만 분명한 사실은 모델러가 일을 두고 한 가지 모습을 고른 내용이란 점입니다. 여기서 모델러의 선택이 들어갔다는 사실을 분명히 하고 싶습니다.
화두로 던진 '것'과 '곳'과 '쪽'을 다루는 일과 순차도가 무슨 관계일까요? 순차도를 그리면서 우리는 것을 정하게 됩니다. 모델러가 창조자가 되어 것을 만들고, 이름을 부여하죠. 이름은 정체성을 드러내는데 종종 역할이 이름을 대신하기도 합니다. 이때는 역할(Role) 자체로 그것의 정체성을 부여한 상태가 되는 것이죠.
이때 역할을 '곳'이라고 부를 수도 있습니다. 왜냐하면 모델러가 상상하는 일을 꾸리기 위한 기능적 위치만 나타내는 것일 수도 있기 때문입니다. 아직은 그것이 구체적으로 어떤 모습이어야 하는지 결정하지 않거나 못한 단계일 수가 있으니까요.
그래서, 모델러의 창작물 중에서 살아남는 '것'은 바로 자기가 위치할 '곳' 즉, 쓸모를 찾은 것들입니다. 어차피 상상의 산물이기 때문에 언제고 별다른 비용 없이 제거될 수 있는 것들이기에 쓸모가 없으면 곧 잊히기 마련이죠.
또한, 이때에 서로 협력하는 것들은 서로 쪽과 쪽의 관계가 됩니다. 쪽을 이뤄 전체의 일부가 되는 것이죠. 어쩔 수 없이 제가 좋아하는 '느슨한 결합(loosely coupled) 원칙'을 연상하게 됩니다. :)
3. 모델링을 Actor로 시작한다는 의미는 무엇인가?
5. 사고와 인식과 표현의 주체인 임자로 욕망을 바라보기