From the book: ACCELERATE The Science of Lean Software and DevOps: Building and Scaling High Performing Technology Organisations
24 key capabilities that drive improvements in software delivery performance, classified into five categories:
- continuous delivery
- architecture
- product and process
- lean management and monitoring
- cultural
continuous delivery
- use version control for all production artefacts
- automate your deployment process
- implement continuos integration (CI)
- use trunk-based development methods
- implement test automation
- support test data management
- shift left on security (integrating security into the design and test phase of the software development process)
- implement continuous delivery (CD)
Architecture
- use a loosely coupled architecture
- architect for empowered teams
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 processes
- monitor across application and infrastructure to inform business decisions
- check system health proactively
- improve processes and manage work with work-in-progress (WIP)limited
- visualise work to monitor quality and communicate throughout the team
cultural
- 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