How to Understand Almost Anything
Minimum price
Suggested price

How to Understand Almost Anything

A Practitioner's Guide to Domain Analysis

About the Book

Domain analysis is about 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 subject matter in the domain, and ultimately, to execute the subject matter. This book explains how to do this. After the introduction, the core of the book is three sections 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 reminders – or a checklist – of what to think about when designing your abstractions. The book is based on more than a decade of analysing domain and designing languages in a wide variety of domains from science to finance to public administration to healthcare.

  • Share this book

  • Categories

    • Business Analysis
    • Innovation Management
    • Software Engineering
    • Business and IT Alignment
    • Consulting
  • Feedback

    Contact the Author(s)

About the Author

Markus Voelter
Markus Voelter

Markus helps organisations uncover, understand and operationalize the knowledge at the core of their business, building a common foundation between business and IT. He designs and implements languages to capture and validate this knowledge, and to make it executable on modern IT platforms. 

As a language engineer, he analyses domains; designs user-friendly languages and supporting analyses; implements language tools and IDEs; and architects efficient and reliable backends based on interpreters and generators. He also works on formalisms and meta-tools for language engineering. 

For 20 years, Markus has consulted, coached and developed in a wide range of industries, including finance, automotive, health, science and IT. He has published numerous papers in peer-reviewed conferences and journals, has written several books on the subject and spoken at many industry conferences world-wide. 

Markus holds a diploma in physical engineering from FH Ravensburg-Weingarten and a PhD in computer science from TU Delft.

Markus Voelter

Episode 260

Table of Contents


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


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


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


Domain Specification • Domain Implementation • Let Users Play • Implement Real Stuff • Conceptual Review • Analyse Usage • Dealing with Feedback • Great Demos • Writing


Business & Strategy • Marketing & Communication • Agility & Roles • System & Process


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

The Leanpub 60-day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms

80% Royalties. Earn $16 on a $20 book.

We pay 80% royalties. That's not a typo: you earn $16 on a $20 sale. If we sell 5000 non-refunded copies of your book or course for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earnedover $12 millionwriting, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub