7 DevOps roles you need to succeed
Nearly every IT organization wants to embrace DevOps, and the promise of increased software development speed and greater business agility that stems from streamlining and accelerating the interactions between development and operations.
The problem is that there's no easy or quick way to get there. "A lot of organizations have gone down this path, approaching it as a pure technology play—let's get a DevOps tool, and life will be so much better," says Rohit Antao, partner and enterprise DevOps solution leader with global IT consultancy PwC. Usually, those are the DevOps attempts that fail. A successful journey to become a DevOps leader starts with the right people in the right DevOps roles with the right skills—including key soft skills—and a willingness to collaborate.
IT leaders need to employ—and empower—seven new or evolving professional roles. In addition to a lead change agent to oversee the transformation to DevOps, these roles include release managers to handle adaptive release governance, automation architects, developer-testers, experience assurance experts, security engineers, and utility technology players who understand development and operations.
New skills, new roles
There's no such thing as a DevOps team, Antao and other experts say. Rather, it's an approach. What's more, there's even less clarity around DevOps roles. It's not surprising, then, to hear DevOps described as "a thing everybody wants but nobody wants to do," says Mark Warren, director of product marketing for source code management and collaboration platform maker Perforce.
Figuring out the right DevOps roles is a journey, not a destination, says Martin Croker, managing director with IT consultancy Accenture—and a long journey at that.
One PwC client, a software company, shifted its business model from delivering an on-premise product to serving customers in the cloud. The move had implications for every aspect of the company, from sales and marketing to human resources and R&D. But the biggest shift came in the technology organization, which suddenly had to deliver new features and capabilities daily and weekly, rather than annually. To achieve that, it embraced DevOps.
"The business model changed drastically, and they suddenly had a great need for speed," Antao says. IT needed to put in place more than a new DevOps tool chain: it needed to reorganize and develop new skills in both the IT and operations teams to achieve faster velocity. That process has taken five years—so far. "There were no answers readily available in year one. It's a lot of trial and error to figure out what works and what doesn't," Antao says.
Making the DevOps roles transition
While there's no single blueprint you can use to reorganize and develop those new skills, the experiences of early adopters offer some best practices. "DevOps represents both a technology and a culture change," says Croker. "The most common thing people get wrong is attempting to address the twin silos of Dev and Ops by creating a third silo, DevOps, without giving any thought to the wider context." That's a superficial response, and it doesn't work, he adds. "New labels, roles, and job titles do not always bring about real change."
To only say that there are key roles in DevOps is misleading, says Neeharika Nagisetty, group product marketing manager at Vantiv, a provider of payment processing services. "The key to DevOps is greater collaboration between engineering and operations." That means rethinking existing development and operations roles and reorienting them around continuous software delivery, from ideas and development to production and maintenance. "DevOps fully encompasses existing roles of the agile teams, product, engineering, security, information technology, quality assurance, and operations—all orchestrated by a laser business focus," she says.
"If you think about what this movement is about—increasing the velocity of software delivery throughout the value chain—every role is shifting," says PwC's Antao. Every IT function must be engaged earlier on in that value chain, whether it's IT operations participating in design, or testing becoming an integral part of development. "Everyone involved in DevOps needs to have a broader and deeper understanding of what they're required to achieve. A developer is no longer just a developer responsible to commit X lines of code. [They are] required to understand the need, implement it, test it, and deploy it," says Yoram Mizrachi, chief technology officer at Perfecto Mobile, a provider of on-demand mobile testing infrastructure. "A tester is no longer responsible just to make sure the functionality is as expected. [They are] required to validate [that] the user experience of the application is working as expected under real-life conditions and on real devices and networks."
The seven critical roles
While embracing new or redefined roles isn't in itself sufficient for a successful DevOps transformation, it's an essential first step. "In unsuccessful DevOps initiatives the organization fails to realize that people are the most important component of the equation," says Gerry Leitao, vice president of managed services delivery and platforms for business consultancy Capgemini North America. "These organizations often assign members to their new DevOps teams before they have fully understood and documented both the soft and technical skills required for a high-performing DevOps team. They fail to realize that not all personnel have the acumen or desire necessary for success in a highly fluid and collaborative environment."
Here are seven roles—and related skill sets—that are pivotal for any organization that wants to adopt a successful DevOps approach.
1. The DevOps evangelist
"There are IT organizations that have evolved to exploit DevOps practices and capabilities, and there are IT organizations that are in the process of doing so," says Croker. "That evolution won't happen on its own, and the vital role here belongs to the person who is going to own and deliver that change." The DevOps evangelist is your leader.
This person must promote the benefits of DevOps by identifying and quantifying the business benefits that come from the greater agility DevOps delivers. As a change agent, the DevOps evangelist ensures buy-in from development and operational teams, identifies the key roles to support DevOps delivery methods, and makes sure IT professionals are trained and empowered to make those changes, says Nagisetty. In addition, the leader of your DevOps movement needs to remove the fear of failure from the organization, says Antao. "You have to build a culture that is a learning culture where it's safe to fail, fail fast, learn from it, and improve."
Croker agrees. "In a DevOps-led organization, there are some new roles...but it's far more important that cultural change is achieved in order to address the challenges of IT delivery and IT operations existing in silos," he says.
2. The release manager
Whether you call this role release manager, release engineer, or product stability manager, the focus is the same: "Release managers work to address the management and coordination of the product from development through production," says Nagisetty. "Typically they work on more of the technical details and hurdles in which a traditional project manager would not be involved." Release managers oversee the coordination, integration, and flow of development, testing, and deployment to support continuous delivery. They're focused not just on creating, but also maintaining the end-to-end application delivery tool chain, says Antao.
3. The automation architect
Because DevOps relies heavily on automated systems, this role is key. Sometimes called integration specialists, automation architects analyze, design, and implement strategies for continuous deployments while ensuring high availability on production and pre-production systems, says Nagisetty.
"Automation architects have a comprehensive automation role across DevOps tools and cloud platforms," says Leitao. "This role can also encompass lean thinking across key DevOps processes."
The automation architect role becomes critical in the DevOps world. "DevOps organizations must provide an extremely reliable environment that is fully automated and free from obstacles," says Mizrachi. "With waterfall, everybody had to have 4x4 cars to drive off-road on tough terrain. The DevOps automation role is tasked with building the highway so the rest of us can use fast cars."
The position is particularly important for geographically distributed organizations, he adds.
4. The software developer/tester
The software developer is at the heart of the DevOps organization. Under DevOps the title of software developer may remain the same, but the new role of software developer/tester dramatically increases the scope of responsibilities. The developers are responsible not only for turning new requirements into code, but unit testing, deployment, and ongoing monitoring as well. "They don't just build code to a spec and throw [it] over the wall to the QA team," says PwC's Antao.
While DevOps implies more extensive collaboration between the development and operations groups, it's also sometimes referred to as DevTestOps, a name that reinforces the idea that testing is a part of the process, says Nagisetty.
This shift often requires a move to more automated testing so that quality doesn't suffer. "The problem is that teams still think they can do manual testing and still be agile. You can't," says Mizrachi. "If you need to test new builds every day and you're doing manual tests that last two weeks, you're in an impossible situation. Product quality usually degrades until the organization and processes change accordingly."
5. The experience assurance (XA) professional
While the quality assurance (QA) function is often part of software development, a new type of control becomes necessary when organizations embrace DevOps. The need for QA testers is replaced by a need for XA experts charged with ensuring that all new features and functions are released with the end user experience in mind. "The current expectation for QA roles is to test functionality, but the role needs to evolve to include user experience testing," Mizrachi says.
6. The security engineer
In traditional waterfall development, system security is largely an afterthought. It's a "nonfunctional requirement" that, like quality assurance, is often tacked on at the end of system development, says PwC's Antao.
DevOps-minded shops have security engineers working side by side with developers, embedding their recommendations much earlier on in the process. "They build security into the product, not at the end," says Antao.
7. The utility technology player
Traditional IT operations or systems administration professionals focus on keeping the servers running. "In general, their machines work best when there is little change," says Perforce's Warren. "The most common cause of interrupted service is likely to be the applications being run on those servers, so the admins introduce very stringent controls on what is allowed to run on their precious servers. They require extensive QA in a staging environment, voluminous handover and operations documentation, and very infrequent releases." Traditional developers have been heads-down coders with no involvement in post-production systems.
The fast-paced DevOps environment requires a new breed. "Those operations or admin experts are now getting involved throughout the development process," Warren says. "Today, it wouldn't be uncommon for these operations experts—sometimes called DevOps engineers—to be involved in sprint planning to ensure that improved quality of service, resource management or security are prioritized alongside those delivered from the [business]."
Whether their traditional background is IT development or operations, "DevOps requires utility team members who can operate effectively across development platforms, tools, networks, servers and databases, and even across development and support," says Leitao.
An effective transition to the DevOps environment is more about people and they way they work together to deliver products in new ways than it is about technology. By recruiting or retraining IT professionals to fill these seven DevOps roles, IT leaders can take an important first step toward achieving a successful DevOps delivery model.
Image source: Flickr