Enterprise Architecture in the wild - The Human API

Rackspace put out a blog post entitled “The Human API Helps Mailgun Stay Nimble”. The article starts out talking about one of my favorite topics in object oriented programming, encapsulation, and quickly moves into how to talk products via API’s (Application Programming interface). Lastly the author describes how a Human (centered) API is handling communications for Mailgun and makes a very insightful observation.

Large software products can bear an uncanny resemblance to groups of humans - how they grow and evolve and how decisions are made. Minimizing the dependencies between groups of people achieves similar results: more autonomous, independent (and preferably small) teams are usually more productive, can change direction more freely and are able to react to the changing business environments more quickly.

Whether or not you are 100% bought into the concept of Building Better Enterprises, you should at least be on board with the notion of minimizing dependencies between groups of people (i.e. functional silos) to encourage productivity and flexibility. One of the ways I believe you can stitch together a modern human centered enterprise is by well formed communication channels. To continue to riff on the API analogy, your internal communication interactions should mimic the characteristics of a well formed API. Meaning that the interactions should:

  1. Only occur with the appropriate audience
  2. Should accept as an input, all forms of communication and direct it to the appropriate place for action or processing
  3. Only output well formed, structured, and meaningful responses

The crew at Mailgun should be applauded for helping to create a human centered enterprise and exploring systems that encourage autonomony and flexibility. I will be interested in learning how they scale their Human (centered) API in the future.