Book Review: Thinking in Promises

Mark Burgess is one of the smartest people I know, and the thought of reading his books was always a little bit daunting. Would I be able to understand what he was trying to tell me? I can’t speak for the other books, but Thinking in Promises is a very approachable introduction to Promise Theory. Although the approach is often academic, Burgess does an excellent job of keeping the reader engaged through a variety of examples, humor, and stick figure drawings.

Promise theory came from the work of Burgess and others in developing the computer configuration management tool CFEngine. However, the theory itself is broadly applicable to a variety of interactions. Promise theory lies somewhere between the vagueness of management buzzwords and the strict formality of mathematical language.

Contrary to Western norms, Promise Theory works from the bottom up, describing the intended state without consideration of the steps to get there. Promises are made by agents instead of being imposed by an outside actor. Thus, Promise Theory requires autonomy, making it a more apt modeling framework for interactions that involve humans.

Thinking in Promises starts by explaining the fundamental concept of a promise, and how promises are made, accepted, and evaluated. Following chapters expand on these concepts individually. The final chapters discuss systems of promises, which often involve one or more layers of proxies.

Burgess does an excellent job of making the concepts understandable by both technical and non-technical readers. Each chapter concludes with thought exercises intended to guide the reader toward a greater understanding. Most of the examples used in the chapters focus on non-computer interactions like getting a taxi ride.

The book does not promise to change the way I view the world, and it might be hyperbolic for me to say it did. Nonetheless, Thinking in Promises gave me an interesting lens through which to view both computer and human interactions. I recommend it to anyone looking for a way to model systems.

Thinking in Promises is scheduled to be released on July 17. It is published by O’Reilly Media.