His latest-&-greatest publication is available now:
His starts out like this:
It's a simple language for helping you get in the ballpark when you're traversing the very large space of software architecture. By framing and naming the space, we can more effectively share our principles, patterns, and practices for application architecture. This also helps consolidate all the great information spread over time and space and threads and heads.
I know how important it is to establish a common framework for communication. In my deck on disk partition alignment & forthcoming white paper, I have a section devoted exactly to doing so. For example, engineers must discriminate between ambiguous & often misused terms such as block, sector, partition, & volume.
I recently returned from three weeks in the Middle East. During many of our meetings, a translator was required. I’m seldom accused of talking succinctly, yet for every word I spoke, it seemed the translator needed ten. I was reminded of the translation preceding the fight scene in Dwayne “The Rock” Johnson’s The Rundown. (Apparently nothing was lost in translation—the gig turned out swell.)
J.D.’s work transcends my anecdotes by a wide margin. The best practices he proselytizes are practical, scalable, & platform agnostic.
…This also helps consolidate all the great information spread over time and space and threads and heads. More importantly, if we simplify how we talk about architecture, we can move up the stack as well as pave paths for others and help mentor others in our field. Instead of asking basic questions like what is architecture, we can ask things like how do we define archetypes for the cloud or how do improve product line engineering for common systems and application types? In our case, we're using the language to help rationalize our portfolio of assets in our patterns & practices product line…
J.D. lucidly outlines the following:
- Why the Map
- Usage Scenarios
- Key Concepts
- The Map
His post & article are not merely worth reading & re-reading, but learning. Don’t take my word for it. Decide for yourself & share it with your team. Doing so will provide a scalable framework for effective communication and success.
If it is fast and ugly, they will use it and curse you; if it is slow, they will not use it.
—Computer science professor, billionaire, & entrepreneur David Cheriton