Jump to ratings and reviews
Rate this book

Thinking in Promises: Designing Systems for Cooperation

Rate this book
Imagine a set of simple principles that could help you to understand how parts combine to become a whole, and how each part sees the whole from its own perspective. If such principles were any good, it shouldn't matter whether we're talking about humans on a team, birds in a flock, computers in a datacenter, or cogs in a Swiss watch. A theory of cooperation ought to be pretty universal, so we should be able to apply it both to technology and to the workplace.

Such principles are the subject of Promise Theory, and the focus of this insightful book. The goal of Promise Theory is to reveal the behavior of a whole from the sum of its parts, taking the viewpoint of the parts rather than the whole. In other words, it is a bottom-up, constructionist view of the world. Start Thinking in Promises and find out why this discipline works for documenting system behaviors from the bottom-up.

192 pages, Paperback

First published May 25, 2015

36 people are currently reading
421 people want to read

About the author

Mark Burgess

29 books32 followers
Mark Burgess is a writer with many interests. His books span from fiction to hard science, and he actively writes philosphically in his blog about all aspects of modern information culture. He is an active public speaker on the international conference circuit, and is engaged in promoting science to a wide audience.

He is the Founder and original author of CFEngine. He was senior lecturer and then appointed full professor of Network and System Administration at Oslo University College from 1994-2011. He was the first professor with this title, and is largely responsible for defining the field. Mark Burgess obtained a PhD in Theoretical Physics at Newcastle University, for which he received the Runcorn Prize.

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
12 (22%)
4 stars
23 (42%)
3 stars
14 (25%)
2 stars
5 (9%)
1 star
0 (0%)
Displaying 1 - 9 of 9 reviews
Profile Image for Sebastian Gebski.
1,197 reviews1,371 followers
November 25, 2018
It took me a few years of professional work experience to come up with very similar thoughts & conclusions.
Then it took me next few years to be able to phrase them out for others & make myself capable of convincing them why this is the way to go - I even now, I don't think I'm super good in that.

I wish I had (& read) this book earlier. Not that I believe it would save me all those years - you really have to feel some pains first to actual UNDERSTAND what's the fuss about, but certainly it'd give me more confidence while exploring the paths.

This is NOT a book for juniors/beginners. This is NOT a technical book. This book is about systems thinking, scalable & non-brittle design. It's written in a very simple, approachable English, BUT it doesn't mean it's easily comprehensible - it's exactly like with E. Evans'es book about DDD - a personal below some proficiency (& experience) threshold will just fly through it without noticing any substance on the way.

I love it, because it's essential in understanding the foundation of properly structured systems - declarative, intent-based, mutually respected domain-oriented contracts. And everything else is a freaking implementation detail. Such a simple concept, yet it's so hard to master (for our whole industry).

A-MUST-READ (at some point of your career).
Profile Image for Paul Bard.
985 reviews
October 1, 2020
A computer networking theory book about getting computers to declare their intentions and work together instead of commanding them from above.

DNF. Very dry and abstract. Extended book treatment didn’t seem to help in bringing understanding compared to a google and reading of three articles on the subject.
Profile Image for Denis Romanovsky.
215 reviews
August 17, 2018
This book seems to be interesting, but very hard to read - abstraction after abstraction. Anyway such abstractions make you learn to analyze the world differently. Definitely, there is something good in promise theory. It is just not yet its time.
Profile Image for Miloš.
68 reviews3 followers
February 16, 2021
While the book certainly was an interesting read - I particularly enjoyed the exercise sections at the end of each chapter, looking for promises in everyday objects and interactions was certainly fun - this promisee finds that the book utterly failed to keep one of the most important promises it made: elaborate on designing systems for cooperation/collaboration.

The book simply introduces the Promise Theory then zooms in and dives deep into the concepts and philosophy behind it and then zooms out and discusses higher and higher levels - emergent properties, components, services and finally systems - all the while keeping the discussion very abstract and a lot of the time making no direct references or parallels to IT. Any practical considerations are non-existent, the closest it gets to the real world and actual systems is by rephrasing and re-evaluating CAP theorem using promises and by listing the properties of systems built with autonomous, promise-driven agents.

So, in essence, the book walks its walk - declaratively specifies the destination but completely leaves it up to reader to figurr out how to get there.
Profile Image for David Baer.
4 reviews2 followers
April 10, 2019
Thinking in Promises by Mark Burgess describes foundational building blocks of communication and cooperation. Promises are a very basic pattern that applies in Software systems and in organizations. This is a part of what fascinated me in my previous work as software engineer and what continues to thrill me in my current work as an agile coach where I help organizations to evolve to cooperate best.
The book is really low level, so I’d assume that it is only ingesting to those with expertise and who are REALLY deeply interested in the topic. But it is applicable to Coaches, Software Architects, leaders, “change agents”, teachers, parents, management, REs, Testers, PR, ....

https://amzn.to/2KoM2s5
Profile Image for Giedrius Statkevičius.
31 reviews1 follower
March 21, 2020
The best way I could describe it in a short manner: it is kind of like stoicism applied to individuals what the author calls "agents". Thinking in terms of promises indeed brings more clarity to systems and how they interact. Also, it gives us some new insights in technology and other fields such as the fact that we cannot promise reliability on part of the systems that we are building ourselves, and that the reliability first of all starts with the agent that interacts with our system. For example, clients usually have multiple DNS IP addresses configured on their computers so that they would switch to another one if one goes down.

Recommended read for people interested in building scalable systems.
Profile Image for Marcin Jałbrzykowski.
21 reviews9 followers
December 9, 2018
The Promise Theory is a really interesting concept which inverts an imperative way of communication between components into a declarative way of making promises. This theory can be applied not only in IT systems but also in modeling organizational structures, physical phenomena or every other aspect of our lives.

"Thinking in Promises" is not strictly an IT book, it's more a philosophical book that shows a different way of perceiving the world and relationships between various entities. The book is written in simple language, however, it requires a lot of concentration and encourages numerous reflections.
179 reviews
April 21, 2023
it was okay. i guess i expected the application of these promises for your circumstances but it was just an exercise in constant definitions of promise theory and some exercises. not as practical as i was hoping. not bad, but not what i was expecting either
Profile Image for Sheppard.
56 reviews
April 17, 2021
The book turns your perspective upside down, but it could have used more examples. I am reading his other book his.
Displaying 1 - 9 of 9 reviews

Can't find what you're looking for?

Get help and learn more about the design.