How Lean is My Software, May 18, 2019
Today, in the world of manufacturing and services, lean principles are applied to optimize nearly all large organizations. Until recently, information technology was a major exception.
Why isn’t software “lean”? Well, optimizing software is much more difficult than optimizing physical widgets. How can we lower the variance in a software system when we can’t even agree on what the product is – the software code, the service provided or the user experience?
In lean production, statistical process control and a flexible organizational culture allow products to be designed and built while always reducing the variance (i.e. errors) of the manufacturing process. Aside from reducing the need for a separate quality control department, the quantitative attention to detail allows for more flexible and customizable products.
The Japanese auto manufacturers of the post WW2 era grew their market share by committing to lean production. By the 1980’s, American manufacturers did too. Today of course, nearly all mass market auto manufacturers are lean – they could not compete without it.
The rudimentary state of software engineering is not surprising. Corporate information technology is barely 50 years old, and as a result, past efforts to apply lean to software development were substantially unsuccessful.
But the past five years have seen the rise of DevOps, information technology’s answer to lean production. DevOps is a term unknown to those outside of IT organizations, yet it is having a revolutionary effect on how we work and interface with technology.
DevOps is short for development/operations, taking into account that in today’s IT world the development of software and its operation (often in the cloud) are symbiotic and must each plan for the other’s efficiency and success. It operates off three core principles, according to Gene Kim, one of the authors of the DevOps movement:
1. Systems thinking – Emphasizing the performance of the entire system, as opposed to the performance of a specific silo of work or department.
2. Feedback loops - Understanding and responding to all customers, internal and external, and shortening and amplifying all feedback loops.
3. Continuous experimentation - Creating a culture that fosters continual experimentation, taking risks and learning from failure, as well as understanding that repetition and practice is the prerequisite to mastery.
To learn more about DevOps, I recommend “The Phoenix Project,” a 2013 DevOps business novel, which tells the tale of a struggling auto parts retail chain that is betting its chips on a new software platform, when it turns out the real power is in customer driven process optimization in the IT department and how it relates to internal and external customers.
Given how much we are evolving into an information driven society, the ability to optimize IT with the rigor of manufacturing or services is a tremendous leap forward.