DevOps adoption has skyrocketed over the past few years, rapidly becoming the standard work mode for a growing number of software development teams. But as organizations gleefully climb aboard the DevOps bandwagon, many are discovering that launching a DevOps initiative and supporting it in the long term are entirely different matters.
Premanand Chandrasekaran, vice president of software engineering at Barclaycard, a global provider of credit card and payment services, said in an interview that many organizations storm into DevOps without first building a strong base. "The best way to ensure a DevOps initiative’s long-term success is to make certain that the foundation of the program is collaborative" and that participants understand how each function works, he explained.
Professionals from a variety of backgrounds should be selected to plan and structure the DevOps initiative, providing a holistic, well-rounded approach to aim for. "Executives who value open-source software, as well as developers and operations professionals who understand the value of cross-pollinating, are best when building out these programs," Chandrasekaran said.
DevOps-dazzled organizations often overload their teams with too many members. "A lot of companies have 50-person teams, but the best way for a DevOps team to work together is to break those 50-person teams into eight- to 12-person teams that can focus on business outcomes," recommended Tim Curless, senior technical architect at AHEAD, a Chicago-based cloud consultancy.
"In addition to understanding their individual roles, team members should also understand" the roles of other team members; this facilitates collaboration and communication across verticals and responsibilities, he said.
A cultural thing
DevOps starts with culture, not technology. "One does not simply 'Do DevOps'," stated Mike Kail, CTO at security consulting firm CYBRIC and a former Yahoo CIO. "The initiative needs to have leadership buy-in and a well-defined set of goals that are able to be measured and tracked continuously," Kail explained.
A DevOps journey should begin by taking into account the organization's familiarity with the practice from a cultural, tools, and processes perspective, advised Jitendra Thethi, assistant vice president for technology and innovation at Aricent, an engineering and design company. "This will help the organization get its bearings right on what initiatives will deliver the most value and not disrupt any existing practices too much within the business when it comes to the way software is delivered," he said.
Many successful organizations roll out DevOps gradually to let different stakeholders see and appreciate the practice's value. This, in the long run, "accelerates the adoption of DevOps practices within the organization," Thethi explained.
Looking for a quick start, many enterprises opt to create a DevOps team by simply rebranding their existing ops staff. "Don’t do that, as it keeps the silos running," warned James Wickett, an author of DevOps courses on Lynda.com and head of research at Signal Sciences, a cloud security platform provider. "Instead, rally the team around the aspirational goals of DevOps to deliver software faster through continuous delivery, automation and instrumentation," he suggested.
Building support, overcoming resistance
Don't expect employees to be as enthusiastic about DevOps as is management. "Since DevOps is mostly about processes and a way of working and collaborating, one of the major blockers can be from team members who do not understand or refuse to work with this new methodology," cautioned Sylvain Kalache, co-founder of the Holberton School of Software Engineering. "It’s important to educate the team on the what and whys," he stated.
Internal opposition can be expressed in many different ways. "Developers might resist being on call; operations staff may resist using development tooling," Signal Sciences' Wickett said. Such reactions are normal, and management shouldn't be surprised to see them. "But there needs to be an expectation that everyone aligns with the idea: you build it, you deploy it and you run it," Wickett added.
To achieve maximum effectiveness, the DevOps initiative needs to be led by someone who understands the concept and is convinced of its value. "The next generation of software engineers are all using DevOps; for them it’s the normal way of working," Kalache said. "I believe that recruiting young talent can bring to the table this new mindset that is needed to get into DevOps," he stated.
According to Aricent's Thethi, a DevOps initiative should be championed by a technology executive, such as a chief product officer, so that each group within the organization understands the project's importance. Such high-level leadership also tends to encourage collaboration between teams. "On the execution front, the vice president of engineering should drive the strategy and measure the metrics and KPIs from DevOps initiatives," Thethi said.
DevOps shouldn't be viewed as a trendy, flash-in-the-pan project with a limited scope and timeline, Thethi advised. "Instead, a DevOps initiative should make a cultural shift in the organization so that it continually delivers often and fast, and evolves to be the default model," he said.
It's also necessary to be clear about the initiative's motives and goals. "Set the context from the onset that DevOps transformation is a continuous journey, not a destination," CYBRIC's Kail said. "Always refer back to the core tenets of the DevOps culture: Collaboration, automation, measurement and sharing."
Just a Bit of Advice
Measuring Devops Progress
Measuring results is a key step for judging the success or failure of most projects, and this tenet also applies to DevOps. The initiative "should increase work efficiency, stability of the product — perhaps even the mood of the team," explained Sylvain Kalache, co-founder of the Holberton School of Software Engineering. "Progress should be measured and shared with the teams so that everybody is motivated to stick with it."
Improved collaboration and matrices need to be based on KPIs, said Jitendra Thethi, assistant vice president for technology and innovation at Aricent. Accurate measurements will encourage closer cooperation, helping teams work together more effectively and redefine role responsibilities. "Teams should be able to clearly see the value of how DevOps and faster release cycles can help them and the business," he noted.
Premanand Chandrasekaran, vice president of software engineering at Barclaycard, added that automated testing is imperative to uncover problems that would otherwise only be found in production. "If all the bases are covered, and the process is streamlined and collaborative, the overall quality of your DevOps function will be much higher," he said.
Get beyond the basics of DevOps and learn about building sustainable culture and engineering practices, along with the latest in technology. Attend the DevOps Track at Interop ITX, April 30-May 4, 2018. Register now!