- 참고 도서 : Domain Design Driven (Eric Evans / Wikibooks / 2011)
- 다음과 같은 사항들을 통해 성공적인 모델링을 이끌어 낼 수 있다.
- 초기 프로토타입을 작성할 때 컴포넌트간의 연결을 확립하는 모델을 정하고, 실제 구현시(반복되는 스프린트) 내내 이 모델을 유지한다.
- 모델을 확립할 때는 해당 도메인을 실제로 알고있는 전문가와 개발자가 머리를 맞대고 시나리오를 통한 공통 요소를 찾아야한다.
- 처음 모델을 작성할 때 실제 도메인을 알고 있는 전문가가 해당 도메인에 대한 내용을 개발자에게 설명을 해야한다. 이 과정에서 공통으로 사용되는 언어가 결정되고 서비스, 혹은 개발 과정에서 언어(용어)에 대한 혼선을 막을 수 있다.
- 개발에서의 모델 용어와 실제 도메인 모델의 용어가 통일 된다면, 의사소통시 별도의 해석 없이도 의도한 바를 정확히 이해할 수 있다.
- 모델은 단순한 데이터들의 집합(스키마)가 되어서는 안된다. 모델은 복잡한 문제를 해결하는 데 필요한 다양한 지식이 포함되어야 한다.
- 모델이 완성되어감에 따라 추가적인 개념과 지식들이 포함되며, 이 과정에서 쓸모 없거나 중요하지 않은 개념이 제거된다.
- 만약 불필요한 개념과 필요한 개념이 혼용된 모델이라면 본질적인 개념만을 식별할 수 있도록 다시 모델링 한다.
- 스케치, 토론, 논쟁을 통해 모델링에 대한 훈련이 지속적으로 유지되어야 한다. 이 과정에서 해당 모델의 타당성을 빠르게 파악할 수 있는 힘이 길러진다.
- 이 과정에서 개발팀과 실제 도메인 관련자들의 지식이 모델로 정제된다.