- Cultural differences often make DevOps an uneasy alliance in many organizations
- DevOps leaders should start small and look for partnership opportunities
- Automation can accelerate DevOps by eliminating tests and reviews
When DevOps first emerged roughly a decade ago, it looked like a smart solution to a longstanding problem. Developer and IT operations teams often worked separately and antagonistically, rarely collaborating. So why not bring the opposing sides together into a single department with a shared mission?
Since then, DevOps has become an industry‑standard methodology for rapid‑fire software development. Properly implemented, DevOps can help organizations operate faster, more cheaply, and more securely. An annual State of DevOps study found that teams practicing DevOps experience 24 times faster recovery from failures, 22% less time spent on unplanned work and rework, and 50% less time remediating security issues.
Still, in many organizations DevOps is something of a shotgun marriage, an uneasy union of clashing cultures and conflicting goals.
“The friction centers on change,” says RJ Jainendra, general manager and vice president of the DevOps business unit at ServiceNow. “Development teams are measured by the innovation they create. People on the operations side are measured by keeping things stable.”
For developers, the focus is on rapid experimentation—continually writing and debugging code to create new software and applications, and modifying existing products to make them better. A developer’s value (and often salary) is tied to the ability to innovate quickly.
[Learn how automation can strengthen DevOps partnerships.]
In IT operations, managers focus on system reliability. Ops teams ensure that networks, cloud services, core business applications, and other assets are functioning as much as possible at optimal performance. Ops personnel have an inherent incentive to resist change, such as frequent code releases, because they threaten system stability.
Effectively merging development and operations teams isn’t easy, and it doesn’t happen overnight. But many organizations have found success by following a handful of best practices.
The first step is to build trust between developers and operations. “It starts with creating visibility,” says Jainendra. “You need to be able to see what’s happening on the other side.”
In the pre‑DevOps era, developers would routinely toss code “over the wall” and leave it to operations to deal with any problems that might arise during deployment. Today, well‑integrated DevOps groups have torn down that wall. Each team can see what the other is doing throughout the entire development and deployment process. That feedback between the two sides builds trust.
“Developers have to know that the ops team has their back, as opposed to everyone pointing fingers about who broke what,” says Tameem Hourani, DevOps principal at RapDev, which provides enterprise DevOps integration tools.
Start small for big cultural change
Creating a successful DevOps team often requires significant cultural change. The practice is less of a toolset and more a different way of thinking and working, based on the belief that organizations work best when teams share information and collaborate where possible. This requires each side to understand the objectives of the other and to set aside conflicting agendas. In many organizations, that’s a huge hurdle.
DevOps leaders should start small and look for early successes that encourage a partnership based on mutual respect and shared goals, says Andrew Hatch, platform engineering manager at Seek, an Australian career and recruitment firm.
“If a company decides that the best way to ‘do some DevOps’ is to create a DevOps team to solve all their delivery issues, then they’re going about it the wrong way,” says Hatch.
For example, an organization struggling with sluggish product or code releases can start by putting together a small team with members from both sides that troubleshoots a specific aspect of the bottleneck. By working quickly to solve even a minor issue, the team can quickly start proving its value and building trust.
Create change enablers
Organizations that have created successful DevOps teams don’t try to avoid or minimize change. They embrace it.
“Rather than being all about change management, organizations need to think more about change enablement,” says Jainendra. “Change enablers can communicate with development teams and give them early warnings about something that’s not going to work when the operations team takes a look at it. So when it comes time for deployment, there’s not the usual friction at the tail end of the process.”
By turning change managers into change enablers, organizations can reduce the inherent friction between Dev and Ops teams. The attitude shifts from “Hold on, slow down” to “How can we make this happen in the best way possible?” Change becomes a feature, not a bug.
Mutual appreciation of the customer
It’s easy for development and operations pros to focus on their own roles and lose sight of the bigger picture—the customer. A well‑run DevOps team operates with a shared goal of providing customers with new features delivered on time or ahead of schedule, and with fewer bugs.
“The customer isn’t going to look at an app or a piece of software and say, ‘Oh, look what the ops people did,’” says Anders Wallgren, chief technology officer of Electric Cloud, a company that sells DevOps management tools. “They’re going to say, ‘This product sucks.’ You have to create value for your customers, and if you don’t do that, your competitors will.”
Automation fosters collaboration
The volume of code changes developers make has jumped dramatically in recent years. Teams routinely deal with thousands of modifications a week, which puts constant pressure on the system for approving those changes.
One answer is automation. Automated platforms can instantly analyze changes proposed by developers. As long as they satisfy preset criteria, they’re approved with no need for human review. Modifications that once took a month to push through can often be made the same day.
“With automation, developers can continue building and writing code without having to worry about stopping what they’re doing and filling out a form to get approval for a change,” Hourani says.
Automation saves time for operations teams too, freeing them from tedious testing so they can tackle projects that truly add value to the organization.
The DevOps payoff
Getting DevOps right can be transformative for many companies. New features and bug fixes get to market more quickly, with a payoff in increased sales, higher valuations, and greater customer satisfaction.
“Those who are first and frequent to market with new innovations that customers desire will own their markets,” says Derek Weeks, a vice president at Sonatype, which provides an open source governance platform for organizations and software developers. “The biggest consequence of not implementing better collaboration between teams will be the death of your business.”