You can't design a system that will not require people to talk to one another.

There is a ton of good stuff in this post from Bridget Kromhout, but this bit jumped out at me:

Dunbar's number, a cognitive limit on the number of people with whom an individual can maintain stable social relationships, is demonstrably valid. If working in a larger organization, you'll need to communicate in smaller groups, but those groups should be cross-functional to eliminate bottlenecks and misunderstandings. Communication doesn't just mean talking with our human voices or replying to interminable email threads, either; much like Consul's gossip protocol, we need cross-talk in our orgs to keep communication flowing.

We've all heard "we only communicate through APIs," but technology alone does not solve all communication problems. If you launch a new version of the API, does that mean you'll ever be able to deprecate the old one? Is well-labeled versioning sufficient for current needs of all your API's consumers? How about future, conflicting, overlapping needs? At some point, you'll have to talk to each other. (Bring some pizza!)

In other words, there is no system you can design or process you can implement or methodology you can adopt that is not going to depend for its success on actual humans talking to one another and agreeing to do things together in an agreed-upon way.

The mind boggles at the amount of time and energy spent trying to figure out “How can we engineer it so we in our little group never have to talk to you in your little group,” and the amount of money spent (or handed to consultants) trying to implement huge systems that assume communication will not go awry somewhere. Imagine if that time, energy, and money were devoted to humane systems that acknowledged the humans who work on and within them?

Show Comments