Introduction
What is Domain Analysis • Domain versus System • A formal language • Programmable Platforms • Related Approaches • Domain Analysis and Dev Projects • People and Roles • Scale and Setup • The Domain Analysis Triangle • Terminology • What’s in the book • Who should read this
Collecting
Survey the Land • Written Material • Hidden Languages • The Right People • Organising Work • Consistent Terminology • Working Sessions • Active Listening • Consistency versus Change • Dealing with Uncertainty • Capture Results
Thinking
Time to Think! • Bounds of the Domain • Depth of the Solution • Removing Cruft • Abstraction • Test Support • Domain Crosscuts • Platforms • Industry Standards • Ups and Downs • Spread the Knowledge • Find a Critic
Validating
Domain Specification • Domain Implementation • Let Users Play • Implement Real Stuff • Conceptual Review • Analyse Usage • Dealing with Feedback • Great Demos • Writing
Supporting
Business & Strategy • Marketing & Communication • Agility & Roles • System & Process
Abstracting
Modularization • Encapsulation • Contracts • Contract Governance • Decoupling • Viewpoints • Annotations • Layers • Parametrisation • Standard Library • Types and Instances • Hierarchical Decomposition • Specialization • Open versus Closed World • Constraints • Weak Structure • Declaration over Implementation • Bottom-up Abstraction • Derived Properties • Taxonomies • Prescription versus Inference • Intra-Model Crosscheck • Execution Paradigms • Naming, Identity and References • Composition versus Reference • Versioning • About Nothing • On Errors |(Don’t) Go Meta
