Training: "Domain-Driven Design"
Time: Tuesday 09:00 - 12:00
Location: Stanford
Large information systems need a domain model. Development teams know this, yet they often end up with little more than data schemas. This tutorial delves into how a team, developers and domain experts together, can engage in progressively deeper exploration of their problem domain while making that understanding tangible as a practical software design. This model is not just a diagram or an analysis artifact. It provides the very foundation of the design, the driving force of analysis, even the basis of the language spoken on the project.
The tutorial will focus on three topics:
- The conscious use of language on the project to refine and communicate models and strengthen the connection with the implementation.
- A subtly different style of refactoring aimed at deepening model insight, in addition to making technical improvements to the code.
- A look at strategic design, which is crucial to larger projects. These are the decisions where design and politics often intersect.
The tutorial will include group reading and discussion of selected patterns from the book "Domain-Driven Design," Addison-Wesley 2003, and reenactments of domain modeling scenarios.
Attendee background
Prerequisites: Attendees must have a basic understanding of object-oriented modeling and the ability to read UML. Some involvement, past or present, in a complex software development project is helpful in seeing the applicability of the material, but is not essential. Familiarity with the practices of Agile Methods and/or Extreme Programming is helpful, but not essential.