Build your awareness of the basic concepts and value of Domain–Driven Design in one day.
Effective software teams take a torrent of information and knowledge about their subject matter (the domain) and distill it into a stream of quality software. Finding and exploiting domain models is a key to success in projects with complex domains. This seminar gives an overview of the basic principles and processes needed develop the right kind of models, tie them into implementation and business analysis, and deal with some of the realities of multi–team projects.
Over the course of the day, in addition to the broad overview, we will go deep into three key points: the cultivation of a model based language to connect domain experts, developers, and the code itself; the exploratory interaction of technical and business people in the modeling process; and techniques for dealing with the diversity of models on large projects.
The session will be combine lectures, simulation exercises, and discussion, some of which will delve into the participants own cases. The participants should come away with insight into the main issues of model–based development as well as a few new techniques and principles to apply to their own work.
Prerequisites
Some experience with projects developing complex software systems. A basic understanding of object–oriented design and rudimentary UML.
Recommended
Experience with large scale application development involving object modeling. Familiarity with iterative development processes.
Target Audience
Any person seriously involved in software development, including developers, technical leaders, analysts, development managers and non–technical business experts.
Course Outline
Morning: Ubiquitous Language
Domain–driven design overview
Ubiquitous language exercise
Late Morning: Model Discovery
Making implicit concepts explicit
Modeling with domain experts
Test–writing as a modeling process
Supple Design: Creating software that invites change
Afternoon: Strategic Design
Distillation: Distinguishing the core from the mass
Ways of focusing effort
Clarifying a shared vision
Context Mapping: A pragmatic approach to dealing with diverse models and designs on real projects
Relationships between subsystems⁄ relationships between teams
Simulation exercise reinforcing multi–team⁄multi–subsystem modeling techniques
Late Afternoon: General Discussion
Q & A
Roundtable
Review and wrap up
Learn more about our partnership with Domain Language
here
Eric Evans is a specialist in domain modeling and design in large business systems. Since the early 1990s, he has worked on many projects developing large business systems with objects and has been deeply involved in applying Agile processes on real projects.
Out of this range of experiences emerged the synthesis of principles and techniques shared in the book "Domain–Driven Design," Addison–Wesley 2003.
Eric now leads Domain Language, Inc., a consulting group which coaches and trains teams to make their development more productive and relevant through effective application of domain modeling and design
Related courses and news: