mardi 11 décembre 2018

Continous delivery predicts organisational performance

This spring Nicole Forsgren, Jez Humble and Gene Kim published a vulgarisation of their four-year research endeavour into the impacts of Continuous delivery on the organisation. The book is called Accelerate - the IT revolution. Starting with intuition based on years of first hand experience they took on the task of formalising their assumptions to be able to test using research based on surveys. It turns out that many of the assumptions were correct but there were a few surprises.


Continuous delivery predicts organisational performance

The baseline is that Continuous delivery gives software delivery performance, which in turn is a predictor for organisational performance. This is a  key finding. It gives us confidence that we're very likely to get substantial bottom-line benefits if we invest into improving continuous delivery.

There are a few other benefits established by the research team.
Continuous delivery also reduces the amount of rework that has to be done, in fact high performers spend as much as 22% more time on New work when compared to low performers. Interestingly they also spend less time in meetings.

Continuous delivery also has a good impact on identity, meaning that people identify with their company. It also gives us less burnout and less deployment pain. Not surprisingly it also has a great impact on job satisfaction

Continuous delivery also puts pressure on the organisation to become more healthy with regard to how information flow between people and departments. They use the concept of Westrum organisational culture. In this sense it acts as a regulator towards the enterprise gangrene of power-struggle between managers.
Fruit you can expect when you nurture the roots of the continuous delivery tree

But let's have a look at the key finding, and what they mean by Continuous delivery, Software delivery performance and Organisational performance.

Continuous delivery

This is the practice of teams independently delivering into production safely, quickly and sustainably. The key principles here are
  • Quality inside
  • Small batches
  • Computers do repetitive stuff, people solve problems
  • Continuous improvement
  • Everyone responsible (for the global outcome)

The concrete practices that have been found to have a strong impact on the level of continuous delivery are

  • Version Control
    • Including configuration data and deployment tooling
  • Deployment automation
  • Continuous integration
  • Trunk-Based development
    • Branches are very, very short-lived
  • Test automation
    • Including that the majority of tests can easily be run on a local dev machine
  • Test data management
  • Shift left on security
    • security is built in as features are developed, as supposed to later.
  • Loosely coupled architecture
  • Empowered teams
    • Teams make most decisions without outside approval
  • Monitoring
  • Proactive notification

Software delivery performance

This means that we go quickly from idea to production which is good for minimising time to market. That we deploy frequently, which is good for developing just enough and have less features that are rarely or never used. That whenever we do introduce a bug or some down time it is quickly restored and finally how often we deliver bugs.

  • Lead time
  • Deployment frequency
  • Mean time to restore
  • Change fail percentage

Organisational performance

This the basic investors KPI, how profitable is the company, how  productive is it and how big a market share does it have. Basically what we need to motivate top management.

Research methods

I still have some questions as to how they distinguish between correlation and causation. While they do explain this in the book, my knowledge in statistics and research methods does not allow me to judge their explanation

Conclusion

Scientific findings establish a predictive relationship from continuous delivery to organisational performance. Going towards continuous delivery you can expect to get organisational performance. In particular any "Continuous delivery" transformation could use this as an overarching goal, as it is both likely to succeed and focuses on outcomes, rather than practices. You also get happier employees which in turn will fuel the organisational performance.