opinion, Uncategorized

MDD는 과연 무엇이고 어떤 용도로 사용할 것인가?

요즘 중국에 체류 중이어서 블로깅을 할 수 없었다. 내 글이 누군가에게 가치가 있느냐를 떠나 그냥 하고 싶은 말이 있어 쓰고 싶던 차에 한국에 귀국한 김에 짧은 생각을 기록한다.

MDD(Model-Driven-Development)를 다룬 글이 있어 토론하듯 의견을 달고자 한다. 먼저 MDD가 ‘최근 주목받고 있다‘는 사실에 대해서는 의구심이 있다. 내가 MDD에 관심을 갖은 것은 10년도 넘은 일이다. MDA(Model-Driven-Architecture)가 특정 영역(자동차 분야 등의 일부 임베디드 SW 영역)을 제외하고는 보편적인 보급에 실패한 후에 MDD가 등장했다. 2004년 즈음에 처음 영어로 된 기사들을 본 듯하다. 당시 IBM이 이클립스 재단을 설립하고 오픈소스인 탓에 MDD를 위한 기반으로 쓰이며 다양한 산물들이 등장했다. 하지만, 구체적인 실천 방법은 볼 수 없었다. 오히려 DDD(Domain Driven Design)에서 제시한 개념과 실천법이 훨씬 더 현실적이고 자동화 도구로 연결하지 않았을 뿐 사회적인 파급효과가 커졌다. 일례로 지금은 많은 언어나 라이브러리 혹은 인터넷 서비스에서 리포지토리(Repository)나 애그리케이트(Aggregate)라는 개념이 쓰인다. 말로만 쓰이는 것이 아니라 해당 개념을 구현한 다양한 솔루션들을 쉽게 찾을 수 있을 정도다.

 

MDD라는 개념은 너무나 포괄적이라 맥락을 분명히 하지 않으면 의사소통은 커녕 오해만 부를 수 있다. 추측하기에 블로그의 소유 주체인 L모사에서 말하는 MDD는 ‘자동화 도구와 UML 표기법을 활용한 명세 작성’에 초점이 맞춰진 것이 아닐까 싶다. 필자가 사회 초년생 시절(2000년 초반)에 UML 강의와 UML 명세 결과를 구현으로 이어가는 객체지향 분석설계 멘토링을 주업이었다. 그런 경험 때문에 대형 SI 업체의 관점을 나름 소화해서 추정한 결과다. L모사의 교육 기관에서 MDD 교육을 하고 있다는 사실도 하나의 근거라 하겠다.

 

하지만, 아쉽게도 아직 우리(나라)의 소프트웨어 역량이 구현을 해보지 않고 명세를 작성할 높은 수준에 올라서지는 못했다. 솔직해지자. 물론, 반도체 분야와 같이 글로벌 우위를 점한 영역이라면 얘기가 다르지만 그쪽에 대해 나는 문외한이다. 최소한 비즈니스 소프트웨어에 대해서는 일반화 할 수 있는 역량을 개개인의 노하우로 갖고 있다는 것이 15년 경험으로 확신하는 바다. 그걸 해당 도메인 지식으로 쌓아가는 작업-생각만해도 지난한 인내가 필요한 활동을 우리나라 SW 산업에서 해왔는가? 내가 본 결과물 중에 인정할만한 산물은 ‘생활코딩‘ 정도다. 우리의 조상들이 발로 뛰며 대동여지도를 그리고 조선왕조실록이라는 위대한 기록물을 만들었지만, 대한민국에서는 그러한 업적을 이룬 바가 없다. 그런데 ‘(구현을 통한 확인 후 설계를 하는)시행착오법’을 피해서 소프트웨어 설계를 ‘제대로’ 하겠다는 발상은 빨리 버려야 한다.

 

업계 동지들에게 이야기하고 싶은 마무리는 우리 좀 솔직해지자는 것이다. 우리 부모님들이 전쟁의 폐허속에서 또 강대국의 견제속에서도 경제를 일으킨 기적을 만들어낸 것이 우리 민족의 저력이다. 고맙게도 그건 타고난 것이다. 그러니 제발 용기를 갖고 우리도 해보자. 이미 SW로 성공한 선배들도 있지만, 서구의 방법을 답습하거나 당장의 돈벌이만을 위해 솔직하지 않은 주장을 버리자. 진지하게 끈질기게 타고난 부지런함을 활용하면 언젠가는 우리도 무언가를 쌓을 수 있을 것이다. 그 주체가 내가 아니라도 우리라 믿고…

 

그런 점에서 MDD 채택과 실효성을 논하기 전에 우리가(혹은 여러분 개인이) 말하는 MDD는 무엇인지 자신의 행동 관점에서 구체화 해보고 정확하게 기대하는 것이 무엇인지 명확히 이해한 후에 문제를 다루자. 그리고, 제발 부탁인데 이런 고민을 외주로 줄 생각따위는 하지 말자. 전문가 도움은 받더라도 일의 주인이 되어서 자기 손과 머리로 답을 내보자.

Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 / 변경 )

%s에 연결하는 중