#PlatformFirst thinking is required for Shared Understanding

Matt Gunter
4 min readAug 31, 2020

If you drop a coke bottle out of an airplane and it lands in the midst of a primitive tribe in Africa. What would happen?
(This is the pretext for the 1980 film “ The Gods Must Be Crazy”.)

It is also the type of situation vendors of sophisticated (i.e. Complex) software often find themselves in. Organizations are often confused — Does it help or hurt the larger Organization. Some internal groups immediately see it as a huge improvement and others see it as a threat, or a risk, or just evil complexity.

Executives, of course, also require a defensible rationale that this investment decision is sound, aligned strategically, and whether it is having meaningful impact.

For all of these various reasons, it’s important to establish a strong, broad understanding of how your sophisticated product works and delivers on expectations. How does it benefit each persona or group and translate to the broader organization. Specifically, Why should some conscientious employee not proceed to carry the complex-product to the edge of the world and toss it over the edge, thus returning it to the trouble-making “Gods”?

Good Question! Explaining Software isn’t easy, and explaining “how software helps software” to a diverse organization is even more difficult.

So how does “Software help Software”? Well, to start, it often doesn’t. (Remember that saying: “The best line of code is the one you don’t write” ?). So the initial cynicism is well-warranted.

One successful way to understand (and to explain) the benefits of a “Platform Approach” is to reuse the concepts and math from LEAN — as in Lean Manufacturing — It is able to explain in fairly precise ways how Software development can be improved by removing waste and delay to drive 3X-4X Productivity Growth. A paper I wrote a few years ago (while at Pivotal/Vmware) explains some of those key mechanisms. That paper covers the following 5 practices that Reduce Delay, Waste and Improve Quality:

The 5 Practices:

1. Developer Self-Service

2. Smaller Projects, Smaller Releases

3. Cross-Functional, Self-Directed Teams

4. Increasing Visibility of Defects

5. Reducing Variability

Viewing software development this way - as a Value Stream - is a break-through. It allows meaningful data collection, analysis, and reasoning about:

  • How to prioritize improvement efforts?
  • The critical impact that Quality(and low-defects) has on productivity
  • The holistic, ‘structural awareness’ required for end-to-end improvements.

This goes well beyond just viewing “Software as pipeline” . Instead, create a shared understanding from Value Stream analysis & calculated insights about all the ways the current approach is imperfect and what a more perfect approach would look like. With clarity around the current state, a business might come to some general conclusions about its long-term direction and guiding principles. Summarized, for example, by the following Software Charter to be adopted for the entire Org.

“To approach software development as the combining of value-adding steps with minimal contention and no negative network effects”.

This mission-level Shared Understanding is a type of platform itself for collaboration, consensus-building, and strategic synergies required for the LEAN approach to pay off. It can also be considered a “Belief Network”.

Belief Network Effect: “Most importantly, beliefs become more valuable to believers the more people believe.”

from https://www.nfx.com/post/network-effects-manual/

Platforms Create shared understanding
The DevOps and Agile communities mean well, but there is no reasoning structure (like Math is to Physics) associated with those “Movements”. They are mostly faith-based philosophies that have good ideas, some valuable ceremonies and a few disputed miracles. In other words, most DevOps thinking is not grounded in a reasoning framework that guides design decisions. This makes it hard for outsiders to support their strategy and choices. Again, we need a shared understanding of cause and effect. If your goal is to rationally understand the Goals and Practices of these communities you have to use a reasoning framework that transcends slang, buzz-words, and monkey-see-monkey-do thinking.

One approach to consider in creating a Shared Understanding is to take a Platform approach. Platforms are well understood in Politics, Business, and Technology. We can build on this concept to craft an evolving “Platform Message” and design a corresponding “Technology Platform” that meets the (often conflicting) needs of adjacent groups of the Org. Finding “Win-Win” technical solutions at these adjacencies is key to removing “Conflict”, “Dis-belief”, and, from a value stream analysis standpoint — “Delay & Waste”.

Value stream reasoning helps to analyze and understand the negative network-effects created by lack of shared understanding. These effects can be measured in terms such as “lead time”, “time-to-market”, “defects”, and “time- to-resolve-defects”. Adopting a #PlatformFirst approach that provides structure and clarity around the Software-Change-Lifecycle is one of the most important steps Organizations can make to improve Software Productivity.

Platforms therefore provide clarity for how software components are built, tested and how different groups collaborate. Clarity - for mission, task, and structure - is informed by understanding the Platform First. All participants benefit from this understanding -especially when changes are required to the existing structure and behavior. So, start with a Shared Understanding. Start #PlatformFirst.

--

--

Matt Gunter

Critical Thinker about Software’s Potential for Organizations.