Files
2025-11-30 08:40:24 +08:00

94 lines
3.7 KiB
Markdown

---
name: ddd-strategic-design
description: Guide for DDD strategic design - analyzing domains through structured questioning, conducting stakeholder interviews (PM/domain experts/users), and producing Bounded Context analysis, Context Maps, and Ubiquitous Language. Use when user needs help understanding domain boundaries, planning domain interviews, or structuring DDD strategic artifacts.
---
# DDD Strategic Design
## Overview
This skill guides Domain-Driven Design strategic analysis through systematic questioning and interview planning. It helps extract domain knowledge from chaotic inputs, structure interviews with different stakeholders, and produce standard DDD strategic outputs.
## Workflow
### Phase 1: Input Diagnosis
When user provides unclear or mixed information about a system:
1. **Identify what you have**: Analyze the input type (code, documents, verbal description, requirements)
2. **Identify what's missing**: Determine gaps in domain understanding
3. **Ask clarifying questions** to establish:
- Business context and goals
- Key user roles and workflows
- System boundaries and constraints
- Existing pain points or complexity
**Questioning principles:**
- Start broad, then narrow down
- Ask one question at a time to avoid overwhelming
- Use "why" to uncover business rules
- Use "what if" to discover edge cases
- Use "who" to identify stakeholders and their needs
### Phase 2: Domain Exploration
Guide domain discovery through progressive questioning:
1. **Identify core business concepts**: What are the key entities, events, and processes?
2. **Find natural boundaries**: Where do terms mean different things? Where do teams/processes separate?
3. **Discover business rules**: What constraints, validations, or policies exist?
4. **Map workflows**: How do different parts of the system interact?
**Red flags for context boundaries:**
- Same term with different meanings in different areas
- Different teams owning different parts of workflow
- Independent change cycles
- Different data consistency requirements
### Phase 3: Interview Planning
When user needs to interview stakeholders, generate targeted question sets:
**For Product Managers** - See `references/pm-questions.md`:
- Business goals and priorities
- Success metrics
- Roadmap and constraints
**For Domain Experts** - See `references/expert-questions.md`:
- Business rules and terminology
- Edge cases and exceptions
- Domain constraints and invariants
**For End Users** - See `references/user-questions.md`:
- Actual workflows and pain points
- Task sequences and decision points
- Desired outcomes
### Phase 4: Synthesis and Output
Transform gathered knowledge into DDD artifacts:
1. **Bounded Context Analysis** - Document each context's purpose, boundaries, and responsibilities
2. **Context Map** - Visualize relationships between contexts using standard DDD patterns
3. **Ubiquitous Language** - Create glossary of domain terms with precise definitions
See `references/output-templates.md` for detailed formats and examples.
## Iterative Refinement
Domain understanding evolves. After initial analysis:
- Identify remaining ambiguities
- Suggest follow-up questions
- Validate assumptions with stakeholders
- Refine boundaries based on new insights
## References
This skill includes interview question templates and output format guides:
- `references/pm-questions.md` - Question framework for Product Manager interviews
- `references/expert-questions.md` - Question framework for Domain Expert interviews
- `references/user-questions.md` - Question framework for End User interviews
- `references/output-templates.md` - Templates for Bounded Context analysis, Context Map, and Ubiquitous Language