Image for post
Image for post
Groundwork Required before Speeding up Releases

An excellent way to learn more about Improving Software Delivery Speed is to walk through an implementation example. This paper provides a step-by-step roadmap for a simple and pragmatic approach to “laying the necessary groundwork” for success.

Virtually every software system that undergoes repeated changes can benefit from additional Speed and Productivity. If you are releasing software slower than weekly, this guide may help. There is a huge opportunity to make software changes faster (e.g. Patching, Upgrades, New Features can be 2–4 times faster and more productive). …


In the notional graph below, the Modernization Curve (of Restructuring Code, Building Tests, and Process automation) and the Learning Curve(of New Practices and Technologies) are shown as separate efforts proceeding from 0% complete to 100% on a timeline:

Image for post
Image for post

The paths shown for the two lines are notional. The intent of the graph is to think through what duration is reasonable and what level of coordination between these curves is possible and desirable:

  1. Can Modernization and Learning progress better if they are not coordinated?
  2. Learning takes time — how fast can staff learn? and the organization adapt to change? …

…My summary of the book Red Teaming by Bryce Hoffman

Image for post
Image for post

Decision Quality is what characterizes the best companies…and the worst companies. For example, I recently read How Apple is Organized for Innovation which explains how Apple’s structure and principles support high quality decision-making. Instead of org units aligned with different products and lines of business, Apple aligns their units by area of expertise. “Experts lead Experts”. The following is an excerpt from the article…

“One principle that permeates Apple is “Leaders should know the details of their organization three levels down,” because that is essential for speedy and effective cross-functional decision-making at the highest levels. If managers attend a decision-making meeting without the details at their disposal, the decision must either be made without the details or postponed. …


(Part 2 of 3)

In part 1, we covered the challenges faced by systems as they scale up in size and emphasized how the myth of “the iron triangle” obscures the path to software productivity and agility. Research, as well as ample anecdotal evidence, shows that defects are counter-productive to Speed, Cost, and Quality of software development. Over time, many large system can no longer be changed without extensive regression testing, high risk and high costs. This problem of systems becoming brittle and hard to change and hard to replace is well documented across many industries. …


(Part 1 of 3)

The ability of Enterprises to stay current and competitive depends on maintaining the agility of their largest systems over time. Research confirms that systems which have low defects and those that can easily test new changes are much cheaper to support and maintain. Achieving large-system agility then should be a huge win-win!

Image for post
Image for post

Making decisions with the so-called “iron triangle” trade-off between cost, speed, and quality is misleading and incompatible with the research showing a quality-first mindset allows simultaneous improvement of all three dimensions.

The key is adopting practices that actively promote modular system architectures, continuous change, and drastically reduce risk via continuous testing and feedback.


Kubernetes is overkill for so many scenarios. The kubernetes api, on the other hand, is driving a surge of innovation by introducing important container patterns such as “pods”, “deployments”, and standardizing operational concepts like “liveness” & “readiness”. These capabilities are also being used to drive innovation in the Kubernetes (aka ‘K8s’) ecosystem. Examples include: helm, istio, calico, garden.io, Open Policy Agent (OPA), k3s, etc.

All of these ecosystem projects embrace kubernetes in all it’s glory.

Podman, however, is moving in a different and intriguing direction — using only the K8s api as a bridge to another runtime architecture. …


There is no end to Learning. This is a truism for Individuals and for Enterprises. Platforms, however, establish a Shared Mental Model which provides consistency and allows predictable communication, avoiding the compounding negative effects of complexity & scale (i.e. Brooks’ Law)

There is, however, a Limit to How Fast Learning Can Happen.
What sets that Limit on our Learning & Communication? What is holding us back? Let’s Dig in!

Image for post
Image for post
photo from https://healthcare.utah.edu/publicaffairs/

First, Learning is the ability to assimilate information from our environment with existing knowledge in order to enhance our ability to respond to or predict future patterns in the environment.

Individual…


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”.)

Image for post
Image for post

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. …

About

Matt Gunter

Critical Thinker about Software’s Potential for Organizations. Engineering outcomes for Rise8 customers.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store