Good to Great With DevOps
Good to Great With DevOps
This article highlights some of the findings of the 2019 State of DevOps Report, including the emergence and prevalence of elite DevOps performers.
Join the DZone community and get the full member experience.Join For Free
DevOps is continuously evolving. Ever since the term was coined in 2009, the state of DevOps evolved exponentially year over year. Fast forward in 2019, organizations of every size and shape (enterprises to start-ups) share a great amount of excitement around DevOps. Each organization has its own DevOps story. Some of these stories are yet to begin, some are in their infancy, some are matured, and some have reached their pinnacle. Unlike other stories, there is no end to a DevOps story as it’s about continuous improvement.
As businesses increasingly become digital and software-driven, there is a greater realization about the nature of DevOps journey and possibilities. Not just engineers or technology leaders but also business leaders are interested in the DevOps concepts, practices and applications. There is a wider acceptance of the need for DevOps for achieving business outcomes.
You may also enjoy: Benefits and Challenges of Taking the DevOps Route
The 2019 State of DevOps Report is one of the great resources available online to understand and learn how DevOps is shaping software delivery across industries. This report greatly summarizes the trends and challenges of software delivery. It helps the teams look at specific capabilities they can use to improve their software delivery performance and ultimately become an elite performer.
In this report, IT Performance is referred to as Software Delivery Performance to differentiate Software Delivery work from IT help-desk and other support functions. This is a welcome change and was long-awaited. One of the key changes that I also liked was the addition of operational metrics to complete the software delivery cycle. The report highlights five measures or metrics called as "software delivery and operational (SDO) performance metrics," which focus on system-level outcomes. This helps avoid the common pitfalls of software metrics, which often pit different functions against each other and result in local optimizations at the cost of overall outcomes.
The report highlights four aspects of Software Delivery Performance as below:
- Deployment frequency – For the primary application or service you work on, how often does your organization deploy code?
- Lead time for changes – For the primary application or service you work on, what is your lead time for changes (i.e., how long does it take to go from code commit to code successfully running in production)?
- Time to restore service – For the primary application or service you work on, how long does it generally take to restore service when a service incident occurs (e.g., unplanned outage, service impairment)?
- Change failure rate – For the primary application or service you work on, what percentage of changes results either in degraded service or subsequently requires remediation (e.g., leads to service impairment, service outage, requires a hot-fix, rollback, fix forward, patch)?
These four aspects are then measured to rank the performance in four buckets: Elite, High, Medium and Low. The table below (referenced from the report) indicates the details for each of these aspects against the buckets.
One more aspect that I highly recommend to be added to this list is “Team Engagement Index” i.e. how happy and engaged are the teams. I am of the opinion that the team performance is directly proportional to the team engagement. The higher the team engagement i.e. the more happier & engaged the teams are, the better outcomes they produce.
Another topic from the report is the J-Curve of Transformation. The diagram below highlights how automation helps low performers progress to medium performance level and then test requirements, tech debt and increased complexity lead to manual controls resulting in slowing down the progress. This is an interesting and noteworthy observation. It highlights that automation is not always the answer. If you automate a wrong process, all you get is the wrong outcome, and faster.
Relentless improvement, learning, and sharing and leveraging expertise takes you to high or elite performance levels – the journey to elevate your teams to elite performance requires more than tools. Persistence, perseverance, and grit at all levels (i.e. team level, leadership level, and sponsor level) are critical to breakthroughs from low or medium performance levels to reach the highest potential of your teams. If we draw the journey to Elite Performance, you would find automation, technical practices and having a continuous improvement plan as the catalysts for your journey. Whereas test requirements, tech debt and increased complexity would be your blockers. I find the Anchors and Engines (SailBoat Retrospective) format provides a quick and interesting way to visualize the catalysts (engines) and blockers (anchors) in one single picture (as below).
Industry Is Seeing Greater Elite Performers
The report confirms the proportion of elite performers has almost tripled, the proportion of low performers has gone down, and the proportion of medium performers is up. One key observation to note is that the movement from low to medium to high performance is not one-directional. Teams (as highlighted in J-Curve) can drop from high to medium or medium to low when faced with increased complexity. Overall, it is great to see an upward increase.
Software delivery performance in many ways determine business outcomes. An organization’s capabilities that drive software delivery performance are culture, technical practices, clear change process, continuous delivery, and value based outcomes. These capabilities are not developed overnight and require fundamental changes to the organisational DNA.
Based on my experience working across different industries and companies, I can confirm that these software delivery performance clusters are not static. The changes in any of the capabilities listed above would have an impact on the software delivery performance and you may find your performance clusters fluctuating from one level to another in both direction. The key is to maintain focus and sustain it through regular cadence by embedding these in organizations ways of working.
Note: This post was originally published at http://www.sandeepmvp.com and reproduced here by the author.
Opinions expressed by DZone contributors are their own.