Are there bits and pieces of your company that suffer from “Never been done before, and therefore not a viable option for us?” The operations best practice entitled DevOps may fall into this category. However, DevOps has been around for at least 10 years now and its success is startling for the companies that implement it well. In this article we’ll explain what DevOps is, why it’s so important, and how to get started.
If your company has developed at least one seasoned scrum team, and are therefore probably driving the most important changes in the software product(s) for which they are responsible, you’ll also notice that there are a lot of new processes to be juggled. These are critical tasks that can be repetitive, ever-changing and, if left to manual execution, will be unscalable and subject to human error. DevOps exists to reduce the toil from executing these processes.
Here’s an example: The software team is ready to release a feature called “One-Click Purchasing” this Thursday. The processes we can improve with DevOps include:
- Run 10,000 tests to guarantee the quality of the software, in under 10 minutes.
- Prepare the code to be copied up to Production within a few minutes (instead of hours or days).
- Install the code onto the Production server seamlessly, without interrupting customers.
- Re-run those 10,000 tests and report on any errors discovered.
Do you recall the combination of these steps taking days, or even weeks, to perform? I do.
Scrum teams are always working on the next new thing, so the people who are required to keep a product’s performance at its peak – the operations personnel – are destined to support systems that grow wider, farther apart and more complex. That’s why the operations people are embracing DevOps.
So What is DevOps?
According to Bill Kleyman’s article DevOps: From a Business and Executive Perspective, “DevOps is a shift in thinking in how you deliver services, applications, and even business capabilities into a digital market.” This shift is inspired by John Allspaw’s 10 Deploys a Day: Dev and Ops Cooperation at Flickr which quickly inspired Patrick Dubois to hold the event DevOpsDays, the tweets during which were hashtagged #DevOps.
In my earlier article, Scrum Exceeds Expected Value Due to Frequent Feedback, I discussed a typical outcome of establishing scrum as a framework to help product development teams build better software with a lower overall investment. The emphasis was on building software rather than on maintaining software. DevOps is all about building better operations with a lower overall investment, and it starts by using development best practices.
DevOps is the answer to maintaining the flow of highest-value work with the highest levels of productivity. We already develop software to automate manual tasks and evolve our companies beyond what our competition can do. The same is true for operations. We can develop operations to reduce the waste and risk associated with software development and, frankly, every technical interface to our organizations.
Why Should I Care About DevOps?
DevOps is the “layer” between solving root cause software issues, and forever making those problems go away.
For my own teams, here’s why I care about DevOps:
- It enables them to deliver innovation more often, with higher quality
- It enables them to pivot sooner, helping the company avoid long capital investments
- It reduces toil, to free them to “hunt bigger buffalo”
- It builds their confidence to make improvements early and often
- It helps them avoid costly regulatory & compliance issues
- It makes securing our assets easier
- It enables value-leaders to safely push their own releases to production
How Do We Get DevOps Started?
The good news is, you most likely already have grassroots support for DevOps. Your scrum teams will want to improve things like:
- Automating builds and releases so they take minutes instead of hours
- Release to production during the normal work day with no interruption to customers
- Increased frequency of releases – from weeks to days to hours, if needed
- Reduce total cost of testing environments
- Automate regression testing
- Enable them to choose what works best
This will get things moving quickly while increasing employee engagement. Tom Smith points out in his 2019 Executive Insights on DevOps, “The most important elements of a successful DevOps implementation are a culture of collaboration and real-time feedback on mutually agreed upon metrics for automated processes.”
The greater news is, DevOps is past the early-adopter phase. There are many proprietary and open-source tools to choose from. A seasoned scrum team is already aware of many or all of the choices. Excellent DevOps material is available in books like…
- The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win
- The DevOps Handbook: How to Create World-Class Agility, Reliability, and Security in Technology Organizations
- Accelerate: Building and Scaling High Performing Technology Organizations
…and in the nifty chart Periodic Table of DevOps Tools from XebiaLabs.
“Get executive management on board early,” says Tom Smith. “Only the management team can align resources within the organization to drive the level of transformation required.”