프로젝트에 도메인 모델은 있었지민 동작하는 소프트웨어를 개발하는 데 직접적으로 도움을 주지 않는 한 종이에 기록된 모델이 무슨 의미가 있겠는가?
...
도메인 주도 설계에서는 초기 분석 딘계에 도움이될 뿐 아니라 설계의 기반이 되는 모델이 필요하다.
...
코드와 그것의 기반이 되는 모델이 긴밀하게 연결되면 코드에 의미가 부여되고 모델과 코드가 서로 대응하게 된다.

DDD, chap 3. 모델과 구현의 연계


많은 개발자가 단지 프로그램 코드를 구성하는 데만 객체의 기술적 능력을 적용해 도움을 얻지만 객체 설계에서의 진정한 도약은 코드가 모델의 개념을 표현할 때 나온다.

모델에 기여하는모든 기술자는 프로젝트 내에서 수행하는 일차적인 역할과는 상관없이 코드를 접하는 데 어느 정도 시간을 투자해야만 한다. 코드를 변경하는 책임이 있는 모든 이들은 코드를 통해 표현하는 법을 반드시 배워야 한다. 모든 개발자는 모델에 관한 일정 수준의 토의에 깊이 관여해야 하고 도메인 전문가와도 접촉해야 한다.

국내의 많은 프로젝트들은 분석설계자와 개발자가 분리되어 있는 경우가 많다. 그 때문인지 분석설계된 모델이 개발자가 구현되는 단계에서 그 모습을 제대로 유지하지 못하고 구현 후에는 도메인 전문가들과 어울어지지 못하는 괴리감을 형성하며 불편해하는 경우가 잦다. 가능하다면, 프로젝트 초기부터 개발자들이 함께 참여하면서 분석설계를 하고 도메인을 정의하며 프로젝트를 시작해야 한다. 그러나 대부분의 프로젝트가 초기에 기획자와 아키텍트만 사전투입되고 개발자는 산발적으로 모집하여 진행하는 경우가 잦다. 이런 프로젝트는 대부분이... 실패할 가능성이 높다.


+ Recent posts