How to Understand Almost Anything - A Practitioner's Guide to Domain Analysis
Domain analysis is the process of understanding a body of knowledge, the subject matter of a domain. You want to understand the concepts, vocabulary, rules and constraints clearly enough so you can define a set of abstractions and their relationships, a formal model, a “language” that can be used to completely and unambiguously describe, and ultimately execute, the subject matter in the domain. This book explains how to do this. At the core of the book are three chapters that cover the three aspects of domain analysis: collecting, thinking and validating. Chapter five zooms out beyond the core domain analysis activities and discusses related issues such as agility, business strategy and process change. The last chapter describes recurring ideas and concepts when defining abstractions. You can use those as a checklist of what to think about when designing your abstractions. The book is based on more than a decade of analysing domains and designing languages in a wide variety of fields from science to finance to public administration to healthcare.