In this blog, I look at the rich history behind DevOps, which goes back over 200 years.
Actually, it’s two centuries (and arguably two millennia) old.
Welcome to a new series of blog posts on lean software development. This is a topic very close to my heart. Over the years working as a software developer, architect, consultant and more recently coach, I’ve seen just how much waste there is in our profession. Wasteful software, wasteful development, wasteful processes. And I passionately believe that by drastically reducing that waste we can drive a minor revolution in our industry.
And if you think revolution sounds a bit over-the-top, consider these figures: when properly implemented, a DevOps culture can reduce time-to-market by 400-500% and deliver software within minutes instead of weeks. Turbo-boosting your digital transformation journey. In this first post I trace the origins of lean software development (LSD) from late 1800s right through to ‘DevOps’ today.
Many of you will be familiar with the 3 DevOps principles (a.k.a. The Three Ways), and some of you probably also know that they’re based on the principles of LSD? In which case, unfortunately, you know a good deal more about the topic than many organisations that claim to be ‘doing’ DevOps. All-too-often, software development teams assume that having a few experts working in the infrastructure domain, or doing their own deployments to production, means they’re doing DevOps. This is, to put it mildly, a misunderstanding.
DevOps is much more than having some ‘operation’ expertise in-house. It’s about having the culture of team cooperation and technical excellence needed to be able to focus on speed and waste elimination. So what exactly are the fundamental principles on which DevOps is built, and where do they originally come from?
In 1910, legendary car maker, Henry Ford, took manufacturing to another level by championing and refining the assembly line technique of mass production. In fact, his operations were such a step change in manufacturing efficiency that many historians argue that his methods were a key determining factor in the Allies’ victory in World War II.
Then between 1949 and 1975, the Toyota Production System was developed by Taichii Ohno and Shigeo Shingo, including Lean Manufacturing or ‘Just-in-time’. The principles and behaviors behind TPS are captured in ‘The Toyota Way’. But because a production system can’t be directly applied to product development, Toyota later created Lean Product Development (LPD), based on the same principles.
LPD has been shown to deliver a 10-fold increase in innovation1 and 400-500% increase in the introduction of new products1. There’s no empirical evidence yet confirming that Lean Software Development delivers the same high-efficiency percentage gains, but they likely fall in the same range.
But it was only in 1990 that the terms ‘Lean Thinking’ and ‘Lean’ were introduced when, following an in-depth study of TPS, Womack et al. wrote The Machine that Changed the World. The book became a bestseller and industries across the globe came to recognize the significance of lean production systems.
In 1799, the American Eli Whitney (also, incidentally, inventor of the cotton gin, a key breakthrough in the USA’s Industrial Revolution with the tragic side-effect of galvanizing the slave-based cotton industry) adopted and popularized the principle of ‘interchangeable parts’ (though he didn’t invent them: archaeologists have found interchangeable weapon parts from the Punic War waged between Rome and Carthage from 264 to146 BC). As a result, Whitney could provide the US War Dept. with 10,000 muskets for the incredibly low price of $13.40.
Over the years, modifications in the production system by people such as Frederick W. Taylor, Frank and Lillian Gilbreth, and others developed the principle of eliminating waste in manufacturing. And eliminating waste is, of course, one of the core principles of Lean.
In their 2007 book, Implementing Lean Software Development: From Concept to Cash Mary & Tom Poppendieck2 did a wonderful job of translating TDS to the software development domain, heralding the birth of lean software development. Which brings us back full circle to the ‘Three Ways’3. Because these three principles are based closely on the 7 LSD principles:
- Eliminate waste
- Amplify learning
- Decide as late as possible
- Speed: deliver as fast as possible.
- People: respect for people. One of the key pillars of Lean.
- Build integrity in
- See the whole: refers to systems thinking.
A quick look reveals that ‘the three ways’, from which all DevOps patterns can be derived, map easily onto these 7 LSD principles:
- The First Way: systems thinking can be mapped onto ‘see the whole’ and ‘eliminate waste’ to optimize business value streams.
- The Second Way: amplify feedback loops also maps onto ‘eliminate waste’, as well as ‘decide as late as possible’, ‘deliver as fast as possible’ and ‘build integrity in’.
- The Third Way: culture of continual experimentation and learning clearly maps onto ‘amplify learning’.
But the foundation underpinning all the principles is ‘respect for people’. Without great teams and great people, you simply can’t implement the others principles. Respect for people also includes fostering a work culture and morale consistent with research into workplace satisfaction and increased motivation, as this will support continuous improvement4.
So next time at the coffee machine someone from another department asks what this new thing ‘DevOps’ is, and your colleague answers it’s all about time-to-market, there’s your chance. To point out that (a) the principles actually go back 200, and arguably even 2000, years and (b) it’s not just about time-to-market. First and foremost, it’s a culture thing. About growing a culture of people- and teams-first. Only then can an organisation hope successfully to implement the principles of lean software development.
- Allen Ward – Lean Product and Process Development Oosterwal, Dantar (January 13, 2010). The Lean Machine. Productivity Press. pp. 237–240. ISBN 978-0814432884.