The latest drivers of software delivery performance
Nicole Forsgren and the Accelerate DORA team has just released the newest iteration of the State of DevOps report. The report investigates what practices make us better at delivering valuable software to our users as measured by business outcomes. Read on for our analysis of the report, and how it can be best put to use.
Everybody wants to be data-driven. How we choose to work and the many micro-decisions we make each day are unfortunately primarily based on gut feeling and anecdotal evidence accepted as pseudo facts.
Fortunately, Forsgren and her team have done the research and condensed their findings and insights into the Accelerate State of DevOps Report 2019 allowing us to make evidence-based decisions.
As well as reaffirming the results of previous studies that DevOps capabilities drives business outcomes, Forsgren adds insights on what works in DevOps transformations.
The recommendation is to start with a foundation of basic automation, monitoring, a clear change process and a healthy culture. On this basis, start a loop of finding constraints and allocating resources to mitigate them.
The report also finds that making the change approval process clear is important, and the more successful companies have re-positioned the role of their Change Approval Boards. They achieve their goals more effectively when they take a coaching and strategy role rather than being a kind of gatekeeper. This is something that challenges conventional business practices at its core!
Fostering independent, empowered teams is so valuable, yet it is easy to forget that it also represents a tradeoff. A common and difficult tradeoff is trust vs. control. A transition that takes time and commitment from both contributors and leaders alike.
It is also great to see that a healthy culture is at the foundation of any DevOps transformation. I would argue that any type of transformation requires healthy culture to be impactful and sustainable.
Culture is not something that we as engineers tend to be comfortable talking about: it is too fluffy and vague. We can, however, take inspiration from Accelerate and measure our Culture using the Westrum Typology.
This allows us to get a baseline of the type of culture that exists in an organization and whether it is healthy or not.
A key finding from earlier Accelerate State of DevOps reports is that your industry does not predict DevOps performance. This year they surfaced another surprising result: the retail business is an outlier. I would have expected the outliers to be in the extreme low end of the spectrum of DevOps performance, but the retail industry is actually more likely to be high performing.
This was a harsh counterpoint to my prejudice around traditional business and DevOps. The report argues that there is an extreme degree of competition in the Retail domain, and those who do not excel are culled from the herd.
While other industries for instance have had the opportunity to blame regulation in order to avoid embracing new paradigms, the retail business has had to adapt and evolve. When we go to cloud native events, we’re surprised to see the retail industry such as Zalando and booking.com show up. They are there to help them hire talent: they brand themselves as an attractive high tech workplace.
Other industries are getting more competitive, such as the finance segment. It will be interesting to see who will manage to adapt in time.
A less surprising, although satisfying, finding is that large corporations (>5000 employees) are less likely to be high performers. With all the coordination and synchronization, slow procurements and planning cycles, this seems to be inevitable.
Focusing on building communities and taking skills where they are needed rather than in knowledge silos with experts disconnected from day to day work are deemed to be the best way to spread DevOps capabilities throughout organizations.
While the many job postings for “DevOps Engineers” often are misunderstood cases of needing someone to build pipelines or provision cloud infrastructure, there is obviously a key technical facet of DevOps and Continuous Delivery.
In the 2019 report we get some numbers on what automation the different performance profiles have.
It is heartening to see that even the low performers are moving heavily on the basics: automated build and unit tests. This could indicate that this soon will simply be permission to play - there will be no discussion about whether these practices must be pursued.
Additionally, more than a third of the low performers already have automatic provisioning and deployment to testing environments. This is truly a feather in the cap of the cloud providers and the Cloud Native Computing Foundation. The products in this sphere have matured both in terms of features and usability to a degree where adoption of infrastructure as code can be a business discussion rather than a question of whether it’s technically possible to do in a low-performing organization.
In conclusion, automation is a sound investment. A fun observation is that Slack and Chatbot integration, or ChatOps, is more likely to occur in medium than high performing organizations. This could either be due to the fact that high performers have been building their integrations and tools starting earlier, when integrations were not as mature and pervasive. Or it might simply be that medium performers are more likely to go for the gimmicky ChatOps than those more focused on outcomes.
Cloud adoption is up, and again this year it’s driving business outcomes. What’s important is not that you use a public cloud such as AWS or GCP. What matters most is the way that you consume those cloud resources.
NIST has provided us with five cloud characteristics: Rapid Elasticity, On Demand Self-service, Broad Network Access, Resource Pooling and Measure Service. These services are difficult to provide on-prem, but not impossible.
If you are not already moving towards cloud adoption, it is time to ask yourself, when we say we can’t use a cloud platform: is that actually true? An oft-repeated argument against cloud is price. With the cloud though, you get better transparency and predictability. Organizations that exhibit these characteristics in their cloud usage is much more likely to be able to predict operating costs.
In a similar vein, custom-built and heavily customized tools are also more likely to indicate a low performing organization. If we do not have the bandwidth nor the skills to build state-of-the-art tooling, it is important to bias towards COTS and Open Source software. The value is also in getting best practices and domain knowledge simply by convention.
Use these findings to start making evidence-based decisions on your DevOps capabilities!
Header picture: Nicole Forsgren talking at CoDe-Conf 2017 in Copenhagen
Digital Transformation is a major challenge for any organization. Our Continuous Delivery and DevOps experts will guide you on the road to true agile through a series of workshops.
When I read Fowler’s new ‘Refactoring’ book I felt sure the example from the first chapter would make a good Code Kata. However, he didn’t include the code for the test cases. I can fix that!
Writing tests for ‘Theatrical Players’
A major challenge of software development is that our work is by and large invisible. This makes our folklore essential in business matters. Some of our commonly used arguments and visualizations are digital urban legends rather than solid foundations for informed decisions. Here, we’ll go through a few examples and some measures to address our misconceptions.
How the stories we tell influence our decisions
When you embark on your cloud native journey there will be important choices to make about cloud providers, continuous deployment, environments’ setup and separation. This guide will help you make the right choices by sharing lessons learnt from running cloud native apps in production.
Kubernetes has become the de facto container orchestration platform. When we help clients of different sizes and domains start their cloud native journeys in Kubernetes, we assist them in making sound decisions and technology choices. There is no one-size-fits-all solution when it comes to choosing cloud providers, CI tools, continuous deployment pipelines etc., so it is important to make the right decisions at the start. Failing to do so can be very costly in terms of lost time and money.
How to make the right technical choices on your cloud native journey
Learn how Docker and Kubernetes work and the key benefits they bring. Using real demos, I show how Docker is a great packaging and distribution technology, and how Kubernetes provides a powerful runtime for containerized applications.
Watch this introduction to Docker and Kubernetes at the Trondheim Developer Conference (TDC)
In the world of Agile and DevOps we use many figures, charts and diagrams to argue and reason about our world and how we prioritize and make choices. However, at all levels of the organization, we misuse and misinterpret figures. It’s time to be explicit, measure the right things and act on them. Watch this talk from DevOpsDays Zurich in May 2019.
Watch this talk from DevOpsDays Zurich
Summer is a great time to catch up on reading, whether you’re at the beach, in a summer house, or cozy at home. If your book backlog is on the short side, don’t worry! We compiled a list of great books for summer reading.
Inspiration for your summer reading list
At Praqma we believe in knowledge sharing, and we love to teach our technical expertise. Watch this series of videos to learn how traefik reverse proxy works step by step.
A video seminar to learn how Traefik works
What testing steps should you include in your Continuous Delivery pipeline? Don’t just string together existing manual processes - use simple, collaborative tools to design something better!
A new card game to design Continuous Delivery pipelines
In the Accelerate book, researchers explain several metrics which they have shown will measure the performance of a DevOps organization, and crucially, drive performance of the organization as a whole. I will explain why this is important, using an analogy with your risk of a heart attack.
Clinical Trials and Software Process
Your repositories are cluttered, you’re storing irrelevant builds, and your disks are full. Luckily, you’ve come to the right place for advice. Here’s how to set up automatic cleanup.
How to set up automatic Artifactory repository cleaning
Hear about upcoming events in Scandinavia, latest tech blogs, and training in the field of Continuous Delivery and DevOps