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