DevOps doesn't mean your developers take on IT operations tasks. Nor does it require operations staff to learn to code. Instead, it aims to give both disciplines a much better understanding of what the other does and to help provide quicker, more reliable outcomes.
DevOps puts an organization's developers and ops teams much closer together than they are in a traditional structure. Rather than developers doing their thing and then handing over their work to the ops team, the two groups collaborate. This is a fundamental change, and not an easy one to make.
Why should you change to DevOps then? Is it worth the effort? What are the ways DevOps benefits a business?
Let's look at three central benefits of DevOps adoption, and the business value you should expect to get out of them.
1. Faster deployments, more responsive teams
All businesses want a stable environment, but they also want to be able to rapidly deploy changes. DevOps practices help achieve both goals through the use of frequent, but small changes to code -- typically accomplished through a continuous integration/continuous delivery process.
An example of this approach is how Microsoft releases monthly updates throughout its Windows OS and Microsoft 365 products. With a multiring system, only subsets of users get the updates at first. This helps with the early detection of problems, thus allowing the company to remediate or, if necessary, roll back changes without affecting the entire userbase.
The frequent, smaller updates to a software release should give developers more confidence and quicker victories. Smaller, achievable goals can be preferable to having a team spend several months on a complex project that fails when it is launched.
The result will be that an IT staff becomes more responsive. Need a new feature to catch up to -- or stay ahead of -- a competitor? Or maybe customer feedback persuades you to change the way an existing feature works. The entire team needs to be focused on these initiatives. That means everyone looks at how best to reach that goal and anticipates any obstacles that might pop up on the way there.
2. Deployments that keep the UX tight
When developers and operations staff cooperate, everyone can make informed decisions. Developers may assume certain software requirements are met -- for example, a website built on the assumption that all users will access it via Google's Chrome browser. The operations team can weigh in on such decisions before something is fully designed. Ops professionals also typically hear user complaints first, which gives them insight into how people use a given product.
Developers want to code, not maintain infrastructure. They will understand what they want to achieve and how; ops staffers can apply those requirements in a manageable way, such as ensuring that servers are built accordingly. The two groups can also work together to implement infrastructure as code if the platform needs to scale rapidly.
Through this cooperation, a business realizes DevOps benefits in several ways, including:
- increased likelihood that changes deploy correctly the first time;
- greater trust from customers when they see their needs being met, and fewer reasons for them to call for support; and
- creation of an infrastructure that's more flexible, better monitored and more readily adaptable to user requirements, with the happy users none the wiser.
3. Better-informed staff, more customer engagement
A high-performing operations team will have mastered communication with end users. It will know how to share information about outages, upgrades and other useful nuggets. When those ops professionals also understand what developers are trying to achieve, they can provide valuable advice about what should be communicated and when.
Do you need to tell users about a bug that was fixed? The operations team can understand and handle that, while developers can push ahead with their work. Operations staff can also troubleshoot and address user problems. This provides a filter to protect developers from noise, plus it helps ops personnel spot trends and understand problems that arise. Taking that information to the development team for resolution can create a useful feedback loop.
The collaboration that DevOps brings also forces developers and ops professionals to keep quality, up-to-date documentation. Change logs and knowledge base articles are useful for everyone, and anything missing or incorrect can be raised for remediation. When colleagues are invested and see how DevOps benefits them, they will want to help each other more.
In addition, when DevOps is in place, end users see that a company has its act together. They appreciate clear communication about a product they care about. Their support issues are dealt with quickly because the person they speak to understands how the product works. An effective support experience helps retain customers; a bad experience is a great way to lose them.
While DevOps benefits can be impressive, a change of this magnitude is not simple. An organization will likely encounter problems, and it will be difficult to get everyone to buy in to the concept.
Some people are used to their ways. Developers who work by themselves on a test box know everything works, but maybe can't explain the setup to others. Some people who are accustomed to large, months-long change projects might not easily adapt to more rapid tactics. Operations personnel, particularly service desk staffers, may struggle as they learn the products developers deliver, especially if they are used to handing off requests on certain products.
Rather than dictate change, try to gain the support of team members. The transition should be easier once they see how DevOps benefits the business, enhances their own roles in the workflow, leads to process improvements and satisfies end users of the product.