Good to Great with DevOps
DevOps is continuously evolving. Ever since the term was coined in 2009, the state of DevOps evolved exponentially year on year. Fast forward in 2019, organisations of every sizes and shapes (enterprises to start-ups) share great amount of excitement around DevOps. Each organization has their 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 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 of DevOps for achieving business outcomes i.e. speed, quality and time to market etc.
The 2019 State of DevOps Report is one of the great resources available online to understand and learn how DevOps is shaping the 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 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 change that I also liked it addition of operational metrics to complete the software delivery cycle. The report highlights total 5 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 “must-note” observation. It highlights that automation is not the answer always. If you automate a wrong process, all you get is wrong outcome, and faster.
Relentless improvement, learning and sharing and leveraging expertise take 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 breakthrough from low or medium performance level to reach 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. Where as test requirements, tech debt and increased complexity would be your blockers. I find the Anchors and Engines (SailBoat Retrospective) format provides a quick & 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 tripped, the proportion of low performers has gown 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 organizational 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.
#Software #SoftwareDeliveryPerformance #DevOps #GoodtoGreat #DevOpsTransformatio #StateOfDevOps #ElitePerformers