What is Devops?
By Hunter Maxwell | 2 min read
DevOps is a cultural strategy for management, using management methods, philosophies, and tools to shorten deployment lead time. When implementing Development Operations strategies, there are many benefits, including more transparent communication, faster times to market, and more focus on improving a business.
There are three fundamentals in a DevOps strategy.
- To enhance project flow to expedite the distribution of work from Development Operations to customers.
- To use Feedback to optimize applications and to create safe systems of work.
- To refine a culture of constant learning that encourages experimentation through trust and a scientific approach.
To do this, DevOps attempts to create high-reliability, built on highly trusted teams, and a continuous development culture. These improvements should take place within individual team members, organizations, and company processes. DevOps' was born from time tested operations resulting from best in class manufacturing models. These refined processes come from successful stores like Toyota.
A Brief History of DevOps
The term DevOps was coined in 2009 by Patrick Debois and inspired by John Allspaw and Paul Hammond's presentation titled "10 Deploys per Day: Dev and Ops Cooperation at Flickr".
To understand DevOps, we start by focusing our attention on the roots of it all. We want to explore the surface layer of a few project management methodologies. First, we will look at the Lean Product & Process Development Movement. It involves production management tools coined by the Toyota Production System in the 1980s. Such as Value Stream Mapping, Kanban boards, and Total Productive maintenance. In 1997 the Lean Enterprise Institution set out to extend the manufacturing industry's lessons into a reusable framework for any industry. The technology industry immediately recognized the Lean Movement's value, adopted its lessons, and innovated it into a more appropriate project management tool. The key ingredients added to the lean model later forming the DevOps culture were the Agile Movement and the Continuous Development Movement.
The Agile Movement, also known as Agile modeling, is an iterative and incremental process model. It took the lessons gleaned from mass production optimization, such as breaking large tasks into small batches of single processes and optimizing the feedback cycle to be built into deployments. The Agile Model allows quick updates and rapid production deploys through a flywheel approach.
The Continuous Development approach releases small updates and has a feedback loop of improvements that shorten the time between source code versions. The source code updates are accepted manually, where the agile movement attempts to make deployment automated. Distilling the golden nuggets from all three methods gives us DevOps.
So, you likely have some questions.
How can DevOps help my company?
There are virtually unlimited benefits to creating a DevOps centric culture, here are only five.
- IMPROVED EMPLOYEE MORALE
- ALLOW MORE INNOVATION
- SEE PROBLEMS AS THEY OCCUR
- FASTER PROBLEM RESOLUTION
- REDUCING COMPLEXITY
What can my business do to improve DevOps?
Well, these five steps will give you a headstart to optimize your DevOps.
- MAKE WORK VISIBLE
- LIMIT WORK IN PROCESS
- REDUCE BATCH SIZES
- REDUCE THE NUMBER OF HANDOFFS
- CONTINUALLY IDENTIFY AND ELEVATE CONSTRAINTS