Presentation: "Strategic Design"
Time:
Wednesday 14:30 - 15:30
Location:
Metropolitan I
Abstract: Some design decisions have an impact on the trajectory of the whole project. Modeling is most needed in complex circumstances, yet the typical dynamics of large projects too often derail it or disconnect it from the real design. This talk delves into techniques for clarifying the big picture, getting effort focused on the core, and coordinating multi-team development -- specifically, the strategic design principles of Domain-Driven Design;
Context mapping is a pragmatic approach to dealing with diverse models and designs on real projects. Distilling the core domain is a simple technique for focusing effort where it matters most and clarifying the vision of the system. Together, these are powerful tools to guide decision making at many levels, from key coding choices to long-range product vision.
Download slides
Presentation: "Panel: "You must eat an elephant one bite at a time"."
Time:
Thursday 17:15 - 18:15
Location:
Metropolitan I
Abstract:
"You must eat an elephant one bite at a time.
- African Proverb"
But where should we take the first bite in the design of an architecture?
Tutorial: "Domain-Driven Design"
Time:
Monday 09:00 - 16:00
Location:
Stanford
Abstract:
Large information systems need a domain model. Development teams know this, yet they often end up with little more than data schemas which do not deliver on the productivity promises for object design. 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 look at both tactical and strategic issues. Tactically, we will examine the use of language on the project to refine and communicate models and strengthen the connection with the implementation, and iterative redesign and refactoring aimed at deepening model insight (in addition to making technical improvements to the code). Strategically, we will look at context mapping and distilling the core domain. These are the decisions where design and politics often intersect.
The tutorial will include presentation and discussion of selected patterns from the book "Domain-Driven Design," Addison-Wesley 2004, and reenactments of domain modeling scenarios.