Every year, for the past decade, Puppet have carried out their “State of DevOps” report, apart from 2019, when it was carried out and released by DORA through Google.
The State of DevOps report attempts to gather, aggregate and analyse progress across the technology industry, backed by data and statistical analysis.
DevOps continues to evolve.
One of the things I like about the Puppet approach is that they see DevOps as a continual evolution towards improved delivery, quality and security, and steer away from a more traditional “maturity model” that implies a possibly fictional end state where DevOps is “done”.
From personal experience and what we’ve seen over the past ten years of data, we need to recognise that technical practices are important, but practices that are isolated to a few teams simply aren’t enough to help organisations achieve widespread DevOps success. DevOps is not a CI/CD pipeline, it’s not technology, public cloud, or automation. DevOps is people, culture, mindset, technology, constraints, experience and expertise.*
As the 2019 report by DORA showed, a culture of psychological safety is crucial to both team & organisational performance, and productivity.
Internal platform teams
One major evident transition is the shift to internal platform teams. Unlike product teams, which are responsible for the end-to-end delivery of a product, internal platform teams are responsible for providing a platform that provides the infrastructure, environments, deployment pipelines and other internal services that enable internal customers (such as those product teams) to build, deploy and run their applications.
The platform model can make product teams far more efficient by allowing them to focus on their primary goals and their core competencies: building and delivering products. A platform team can improve governance, compliance and cost efficiency through providing a standardised toolset that can be easily understood and consumed by value stream-oriented teams.
The 2020 State of DevOps report shows that high performing organisations are six times more likely to report the use of internal platforms as compared to low performing organisations.
Shared internal platforms provide a balance between standardisation and team autonomy. Finding where to place this balance and draw the line can be challenging, but the important thing is to start.
A really useful resource is Manuel Pais and Matthew Skelton’s book “Team Topologies”, which will help you understand what team structures will contribute to building high performing products and services, and how internal platform teams could work in your organisation.
Product over project
More organisations are transitioning away from a traditional project mindset, towards value-stream-aligned, product approaches. Organisations that still possess a traditional “project mindset” may suffer from the proliferation of temporary teams that form and disperse as projects begin and end, impacting team cohesion and performance.
A project mindset encourages teams to focus on the next shiny thing, and throw things over the wall for ops to support, rather than own a product or service longer term and ensure that it’s not only fit for purpose, but constantly improving.
Adopting a product-oriented approach and tying work to value streams improves the delivery of features, reduces defects, increases security, and lowers technical debt. Mik Kersten’s Project To Product is an excellent book to learn more about how to adopt a product approach.
The 2020 State of DevOps report shows that a product mindset is a key enabler of performance in the technology space, and accelerates DevOps adoption and evolution.
Ever since Gene Kim wrote The Phoenix Project, we’ve known that fast and lean change management is a precursor for technology performance. Nicole Forsgren describes in her book Accelerate how lead time for changes is an essential trailing metric for high performing teams.
The 2020 State of DevOps report revealed four different approaches to change management based on approval processes (orthodox “gatekeeping” approaches versus adaptive and collaborative), automated testing and deployment, and advanced risk mitigation techniques.
The four approaches described by Puppet are:
- Operationally mature: High levels of both process and automation.
- Engineering driven: High emphasis on automation.
- Governance focused: High emphasis on manual approvals and low emphasis on automation.
- Ad hoc: Low emphasis on both process and automation.
Puppet also showed that organisations that trust in their change management processes are more likely to adopt automation, which further improves performance. Additionally, organisations that encourage high engagement with employees in the change management process are five times more likely to have effective change management processes.
It is interesting to note that ITIL, originally intended to improve the quality and performance of technology, has been adopted by many organisations (90% of Fortune 500 firms have adopted ITIL) and has resulted in cumbersome bureaucratic processes that actually resulted in slower change and higher risk. Fortunately, the latest version of ITIL, v4, departs from this heavyweight approach and instead encourages change enablement and collaboration.
To put it simply:
- Orthodox approvals damage performance
- Automation gives teams confidence in change management
- Giving people agency over the process results in higher performance
Challenges to improving change management practices include incomplete test coverage, organisational mindsets of fear and compliance instead of trust and value, and tightly coupled and or monolithic architectures.
As with any DevOps transformation, improve change management processes but primarily focus on people and culture. Break down silos and build empathy across people and teams: enable and encourage engineers to understand and empathise with the concerns of compliance and risk teams, whilst working with governance to create a culture of shifting security and compliance left.
- The industry still has a long way to go and there remain significant areas for improvement across all sectors.
- Internal platforms and platform teams are a key enabler of performance, and more organisations are adopting this approach.
- Adopting a product approach over project-oriented improves performance and facilitates improved adoption of DevOps cultures and practices.
- Lean, automated, and people-oriented change management processes improve velocity and performance.
Thanks to the team at Puppet and DORA for carrying out the State Of DevOps reports every year, including the team for this years report, Alanna Brown (@alannapb) , Michael Stahnke (@stahnma), and Nigel Kersten (@nigelkersten).