This book defines software delivery performance and how to measure it. Software delivery performance can be measured by the four following metrics:
- Lead time
- Deployment frequency
- Mean time to restore (MTTR)
- Change fail percentage
These four measures of software delivery performance are classifiers for three groups:
- High performers
- Medium performers
- Low performers
Finally, the following 24 capabilities are suggested to drive improvement to software delivery performance.
- Continuous Delivery
- User version control for all production artifacts.
- Automate your deployment process.
- Implement continuous integration.
- Use trunk-based development methods.
- Implement test automation.
- Support test data management.
- Shift left on security.
- Implement continuous delivery.
- Use a loosely coupled architecture.
- Architect for empowered team.
- Product and Process
- Gather and implement customer feedback.
- Make the flow of work visible through the value stream.
- Work in small batches.
- Foster and enable team experimentation.
- Lean Management and Monitoring
- Have a lightweight change approval process.
- Monitor across application and infrastructure to inform business decisions.
- Check system health proactively.
- Improve processes and manage work with work-in-progress limits.
- Visualize work to monitor quality and communicate throughout the team.
- Support a generative culture (as outlined by Westrum).
- Encourage and support learning.
- Support and facilitate collaboration among teams.
- Provide resources and tools that make work meaningful.
- Support or embody transformational leadership.