Development teams need to build internal platforms and make the change management process less rigid, according to a new report.
DevOps needs to build internal platforms and modernize change management to expand its reach beyond the technology department and across the entire enterprise, according to a new report.
Puppet, which makes automation software, released its ninth annual State of DevOps Report Thursday. Alanna Brown, senior director of developer relations at Puppet and author of the report, said that most organizations struggle to move past the middle state of the DevOps transformation with 79% of respondents operating in that midevolution stage. She identified two key structural changes required to move from the early stages of the DevOps evolution to a more advanced state. The two steps are:
- Scaling DevOps practices by building internal platforms
- Modernizing change management processes to be more flexible and automated
This year's study included 2,400 people around the world in IT, development, information security, and other related areas.
Brown said that tech practices are important, but deeper structural issues need to be addressed also.
"Nearly everyone is employing these practices to some degree, but they tend to be concentrated in small pockets within an organization," Brown said. "How do we get change management on board and how do we work with finance and procurement teams?"
SEE: Top 5 programming languages for systems admins to learn (free PDF) (TechRepublic)
In the report, Brown wrote that:
"When organizations successfully establish a platform model for enabling application development, or significantly improve their change management effectiveness, they achieve the goal that DevOps initiatives aim at: faster and easier delivery of better-quality, more secure software. For DevOps principles to spread further, though, people who care about the movement need to extend their empathy and passion beyond the teams that are closest to them, and learn to collaborate with teams whose functions are further away."
Puppet hosted a roundtable discussion earlier this week to discuss DevOps work habits and what companies can do to implement this way of working more broadly. In the 2018 report, Brown developed a DevOps evolution model with five stages. In this year's report, she looked for characteristics of companies that were highly evolved.
Here is a look at how companies can make these two structural shifts to continue the DevOps evolution.
Building internal platforms to support DevOps
Brown said that high DevOps evolution correlates with a high use of internal platforms that include self-service capabilities such as:
- CI/CD workflows
- Internal infrastructure
- Public cloud infrastructure
- Development environments
- Monitoring and alerting
- Deployment patterns
- Database provisioning
- Audit logging
Brown said using a platform approach is compelling because one team can build and manage the infrastructure that the entire development team can use.
"If you're doing it right, there's a certain amount of standardization and autonomy for the dev team to pick their own tools," she said.
Brown said that when teams start to move toward a platform model for all software development, that changes the thinking about funding these teams and initiatives.
James Turnbull, the vice president of engineering at the web app builder Glitch, said that it's relatively easy to quantify the ROI of building a platform team because the work has quantifiable results. Software development goes faster and customers (internal developers) are happier.
"Platforms teams change infrastructure work into a revenue center, not a cost center," he said.
Michael Stahnke, vice president, platform at CircleCI, which helped write the report, said the best approach is to have product engineering build a platform infrastructure team that runs just like a regular product team. Stahnke said that hiring one person on the platform team can save a hire on each project team.
"This shows that the platform model works over and over again instead of project teams having to absorb that cost," he said.
The report identified a lack of time, standardization, and technical skills within the team as the biggest barriers to developing internal DevOps platforms.
Stahnke said that he looks for product thinking among infrastructure experts to build an internal platform team.
"I want someone who can spot user needs versus being in love with the tech," he said.
Stahnke said that the key to success with an internal platform is to orient the work around the problems the development team is having.
"Focus on the way your teams work and what matters to them," he said. "That's the difference between buying a product and hoping everyone uses it versus building something compelling and making it easy to use."
Modernizing change management
Another crucial structural shift is involving employees in the change management process and making it more flexible.
Turnbull said that the goal should be to standardize the change management without making it incredibly onerous.
"The way to reduce risk is to repeat something, not add more friction to the process," he said.
Stahnke said that an important shift in determining whether the default answer to "Can we change this?" is yes or no.
"What you see is in organizations where outcomes are the best, the default is yes when someone wants to make a change," he said. "When change is the unit of work for the whole system, you can reduce risk by not doing much or by changing other variables."
Stahnke said that the other goal is to make sure change is repeatable and increment on them over and over again
"A lot of people are using continuous improvement as their primary backbone for their change process and then they don't have to use a ticket for everything," he said.
Change management processes with these characteristics are most helpful in supporting DevOps:
- High degree of testing and deployment automation
- Automated risk mitigation
- Less rigid and much less manual approval processes
- Writing changes in code
- Allowing employees more scope to influence change management
- DevOps processes and culture
Brown also found that organizations that have high employee involvement in the change management process are more than five times as likely to have highly effective change management than those with low employee involvement.
Also, companies that focus on automation the most also involve their employees the most in their change management process, according to the report.
"When people have more control over the change management process, you have higher effectiveness because all of that context is a part of the team and they are the ones to make the decision," Brown said.
The report identified the top challenges to automating the change management process as:
- Incomplete test coverage
- Organizational mindset
- Tightly coupled application architecture
The survey collected data from technical professionals with a working knowledge of their IT operations and software delivery process. A third-party research firm, ONR, hosted the survey and conducted the data analysis. The resulting report was written by Puppet and CircleCI.
- Listen to TechRepublic's Dynamic Developer podcast (TechRepublic)
- How to become a developer: A cheat sheet (TechRepublic)
- Microservices: A cheat sheet (free PDF) (TechRepublic)
- Hiring Kit: .Net developer (TechRepublic Premium)
- Programming languages: Developers reveal most loved, most loathed, what pays best (ZDNet)
- It takes work to keep your data private online. These apps can help (CNET)
- Programming languages and developer career resources (TechRepublic on Flipboard)