Each year the Puppet “State of DevOps Report” is published which has become authoritative in predicting trends and directing DevOps effort. It's an analytical report based on a worldwide survey, this is its fifth year. Authors include Jez Humble (Continuous Delivery book) and Gene Kim (Phoenix Project/Visible Ops books).
You can download the report yourself, sign-up with email required. The link: 2016 State of DevOps Report(puppet.com)
- Their analysis over the last few years has found 3 clusters of organisation they have labelled high, medium and low performing. These organisations cluster on deployment frequency, lead time for changes, MTTR and change failure rate (see the table on page 15)
- High performers are not only better on all these measures but are improving at an accelerating rate. A few years ago Amazon and Netflix stunned the world by revealing they deploy at least once a day. They are both now deploying thousands of times a day. If an organisation is not high-performing they are being left behind.
- Employees at high-performing companies are more than twice as likely to recommend their workplace to friends. Employee satisfaction is correlated to performance. High engagement is known to drive revenue, see The Chemistry of Enthusiasm(bain.com): “Companies with highly engaged workers grew revenues at 2.5x those with low engagement” (page 20).
- They attempt to put an ROI on undertaking a technology transformation and provide a formulae you can apply to your own company.
- Those returns should be ploughed back into activities to help you become a high-performing organisation. The benefits begin to accrue as more time can be spent on improving existing processes and the gains accelerate.
What activities lead to a high-performing organisation?
Limiting WIP and use of information radiators increase performance and reduce burnout. They also predict a generative, performance-orientated culture.
Lean Product Management
Predicts higher-performance and lower deployment pain. Defined as:
- Small batches, completed in less than a week, released frequently and use of minimum viable product concept.
- Understanding and visibility of flow from business to customers including status of products and features.
- Actively and regularly seeking customer feedback. Applying that feedback to the design of the product.
- NEW THIS YEAR: use of an experimental approach to product development.
Continuous Delivery Practices
Predicts less time spent on unplanned work, maintenance and meetings. Predicts more time spent on new work.
- Deployment automation
- Continuous integration and testing. Avoid branches older than 1 day, avoid more than 3 active branches, merge code to master daily.
- Version control for all production artifacts
- Code freezes harm performance, avoid them
- Effective test data management:
- Create test data on demand, avoid large data dumps. Use APIs.
- Maintain a minimal amount of data needed to run tests as maintenance is costly