10년 넘게 개발을 해오면서 개발과 분석/설계가 따로 노는 행태를 여러 번 보아왔고 제대로 된 분석/설계가 가능할지에 대한 회의가 들기도 했지만, 그래도 어디선가는 또는 누군가는 진짜 모델링을 하고 있을지도 모른다는 생각을 하며 가끔 이곳저곳 돌아다녔다.
궁금했던 객체모델에 투명한 모델링 기법으로서의 “행위형식화”를 들을 때는 놀랍고 신기했다.
나는 프리랜서다. 자유로움을 추구하는 프로그래머다.
나는 무언가를 찾으려고 웹사이트 이곳저곳을 돌아다니다가 우연히 NWC 컨설팅 사이트를 알게 되었다. 아마도 내가 찾으려고 했던 그 무언가는 개발할 때 매끄럽지 못하게 진행됐던 소프트웨어 분석/설계에 대한 부족함을 채울 무언가였을 것이다. 물론 10년 넘게 개발을 해오면서 개발과 분석/설계가 따로 노는 행태를 여러 번 보아왔고 제대로 된 분석/설계가 가능할지에 대한 회의가 들기도 했지만, 그래도 어디선가는 또는 누군가는 진짜 모델링을 하고 있을지도 모른다는 생각을 하며 가끔 이곳저곳 돌아다녔다.
“소프트웨어 개발이란 무엇인가”에 대한 명쾌한 정의로 시작되는 RSM 서문과 “RSM 1권 핵심개념”을 읽고 스피노자의 “에티카”가 떠올랐다. 서술되는 모든 문장이 꼬리에 꼬리를 물며 논리적으로 연결된다. 흥미로웠다. 공개된 “RSM 1권 핵심개념”을 프린트해서 여러 번 읽고 또 읽었다. 하지만 핵심개념을 구체적으로 어떻게 실제에 적용할지 감이 잡히지 않았다. 그것은 “행위형식화”를 통해서 배울 수 있다고 한다.
“행위형식화”와 이런 글을 쓴 저자에 대한 호기심으로 교육 신청을 했다. 반년 넘게 기다린 끝에 드디어 RSM 교육이 개설되었다. 사람은 사람을 만나서 변한다고 하는 데, 오랜만에 멋진 분을 만났다. 아침 10시부터 저녁 7시까지 꽉 채운 8시간의 열강과 교육 주차가 거듭될수록 야위어갔던 선배님의 얼굴이 떠오른다. 궁금했던 객체모델에 투명한 모델링 기법으로서의 “행위형식화”를 들을 때는 놀랍고 신기했다.
6주간의 교육을 마치고 현재 1주일이 지난 시점에서 교육을 정리하자니, 모든 내용은 RSM 서문에 나와 있는듯하다. 특히 “소프트웨어 모델링이란 복잡한 대상을 이해하는 사고법”이란 정의가 이제는 이해된다.
교육하신 선배님은 이렇게 말씀하셨다. 흔히 모델링을 한다고 하면 어떤 사실에 대해 이해한 결과를 다이어그램으로 그려 보여주는 것으로 생각하는 데 모델링이란 보여주기 위한 것이 아니라 모델링을 하면서 복잡한 대상을 이해하는 것이다. 복잡한 모든 것은 모델링할 수 있다. 그리고 모델링은 사고법이므로 분석/설계자는 분석/설계만 개발자는 개발만 한다는 것은 말이 되지 않는 것이다. 분석/설계를 하고 개발하지 않으면 말짱 꽝이다. 꼭 개발을 해야한다.
운 좋게 강력한 도구를 배웠으니 이제 열심히 익힐 일만 남았다.
– 조예성