Summary of "Sub-Domains from Business Capabilities (Ian Cooper)"
Main Financial Strategies and Business Trends
-
Domain-Driven Design (DDD):
- Focuses on isolating the domain model from infrastructure concerns, emphasizing the importance of the model in business impact.
- Encourages collaboration with domain experts to create a ubiquitous language that aligns with business terminology.
-
Partitioning Strategies:
- Use Cases: Identifying actors and their goals to define system interactions.
- Responsibilities: Each domain object should fit within a specific responsibility, helping to clarify system boundaries.
- Event Storming: A technique for modeling events in a system lifecycle, which can help identify potential partitions.
- Value Stream Mapping: Used to analyze business processes and their steps to determine how to structure software systems.
-
Bounded Contexts:
- The concept of Bounded Contexts is crucial in defining the boundaries within which a particular domain model is valid.
- Each bounded context should encapsulate a specific business capability and its related processes.
Methodology/Step-by-Step Guide
-
Creating a Domain Model:
- Gather domain experts and stakeholders to discuss and define the language and terms used in the domain.
- Use techniques like CRC cards to collaboratively design the model based on responsibilities and interactions.
-
Partitioning a System:
- Identify key business processes using Value Stream Mapping.
- Conduct workshops to map out the lifecycle of business activities and the associated actors.
- Analyze responsibilities and knowledge levels to determine how to best partition the system.
-
Utilizing Event Storming:
- Model the lifecycle of events related to a specific domain (e.g., a food order).
- Identify commands that trigger events and the states that result from these events.
-
Iterative Design:
- Use feedback from workshops and discussions to refine the model and its boundaries.
- Regularly revisit and adjust the partitioning strategy based on evolving business needs and insights.
Presenters/Sources
- Ian Cooper, who has extensive experience in software development and Domain-Driven Design.
Category
Business and Finance