DevOps and 40 years of Continuous Improvement in the Software Industry
W. Edwards Demings 14th principle of Total Quality Management is “Commit to ever-improving Quality”.
There have been so many methodologies and frameworks that have been implemented in the software industry in the last 40 years. To name a few waterfall, V-Model, Agile frameworks like Crystal, Scrum, KanBan, DSDM, FDD etc. All these methodologies/frameworks led to improving the way software was being built.
Each Method or model attempted to improve the way we delivered our software products.
Software Development is primarily a people driven industry and processes have to be people inclusive.
The Waterfall Wave helped in taking care of risk that posed large projects or long term projects by breaking down projects into logical phases with documentation enforced to ensure a healthy hand-off and sign-off from one phase to another.
The Agile Wave (2001) managed to dig deep into the way people worked in this industry and created and used frameworks to remove silos and encouraged teamwork by more collaboration.
Most of the Agile Leaders were from Development and focused on getting Customer centric processes and delivering software earlier in smaller chunks.
Somewhere the emphasis to include Operations persons was reduced or almost missing in most frameworks. So though benefits of collaboration were visible in many cases the time between business idea and actual production was missing.
DevOps takes care of this important issue that was majorly ignored during the Agile Wave. So Devops is an extention of the Agile movement.
One of the definitions of DEVOps is “DevOps is a culture of trust and collaboration in which people use the right tools for automation to achieve continuous improvement”
Another more apt one is “DevOps is the practice of operations and development engineers participating together in the entire service lifecycle, from design through the development process to production support”
In 2008 Adam Jacob at Velocity Conference spoke about “Building an Automated Infrastructure”
Patrick Debois coined the term DevOps in October 2009.
Factors that lead to successful Devops Transformation
- DevOps is not a goal, but a never-ending process of continual improvement.
- IT performance metrics are not the same as IT performance predictors.
- You don’t have to trade throughput for stability.
- External change approval processes don’t work.
- Having an emergency change process is a terrible idea.
- Continuous delivery requires developers to check their code into the trunk daily.
- Leaving broken code in the trunk is selfish.
- Software testers are not responsible for quality.
- Less is more, more or less.
- Enable and inject Learning from Daily Work
- Convert Local Discoveries into Global Improvements
- Reserve Time to Create Organisational Learning and Improvement