Exploring the Problem Space with Strategic Domain-Driven Design and Wardley Mapping
- Obtaining Domain Knowledge Through Collaboration
- Domain-Driven Design Patterns and Practices
- Discovering Subdomains and Mapping Their Evolution Stages
- Build-or-Buy Decisions with Subdomain Types and Evolution Stages
- Summary
The second perspective on designing and building adaptive, socio-technical systems involves Domain-Driven Design (DDD). DDD focuses on designing software based on domain models, as Eric Evans explained in his book Domain-Driven Design: Tackling Complexity in the Heart of Software [2.1]. The core concept of DDD is that to build better software, its design must align with the business domain, business needs, and business strategy. Before diving straight into developing a technical solution that solves the user needs, it’s necessary to understand the problem domain first, and that’s where DDD is especially beneficial.
Obtaining Domain Knowledge Through Collaboration
An essential part of DDD is collaboration between domain experts and development teams to analyze the problem domain to obtain shared domain knowledge. The problem domain (or business domain) refers to an organization’s scope or area of focus. In the example of the conference event planner solution introduced in Chapter 1, “Business Strategy with Wardley Mapping,” the problem domain or business domain is conference planning. The domain knowledge is described in terms of a shared, business-domain–oriented language—the ubiquitous language (Figure 2.1), which is free of any technical jargon.
Figure 2.1 Obtaining domain knowledge through collaboration with domain experts
DDD comes with many new terms that require some time to grasp and understand. The journey to DDD (and Wardley Mapping!) can be quite overwhelming. Yet, DDD provides a vocabulary for collaboration in strategic planning, making it worth the effort to learn. In this context, combining DDD with Wardley Mapping can be very helpful in the following ways:
Using the context-specific visualization power of a Wardley Map provides an easy-to-follow gateway to DDD.
DDD helps organizations apply the doctrinal principles of Wardley Mapping, enabling them to achieve organizational fitness to deal with strategic concerns and to adapt to changes quickly.
Chapter 3, “Designing the Solution Space with Strategic Domain-Driven Design,” addresses mapping bounded contexts to the evolution stages of a Wardley Map.
