Accelerate
Accelerate
- Research foundation: Book is based on rigorous scientific research, not just anecdotes
- Performance metrics: Focus on four key metrics to measure software delivery performance:
- Deployment frequency
- Lead time for changes
- Mean time to restore service
- Change failure rate
- Capability building: Treat technology as a strategic capability, not a cost center
- High vs. low performers: Recognize the dramatic performance gap between top and bottom performers
- DevOps impact: Apply DevOps practices to achieve better business outcomes
- Year-over-year improvement: Note that high performers keep improving, widening the gap
- Key insight: Implement these practices regardless of industry, size, or tech stack
- Performance measurement: Measure delivery performance using outcome-based metrics, not output
- Deployment frequency: Increase how often you deploy to production
- Lead time: Reduce time from code commit to code running in production
- Mean time to restore: Decrease time to restore service after a failure
- Change failure rate: Reduce percentage of changes that cause a failure
- Avoid vanity metrics: Don’t measure lines of code, story points, or other volume-based metrics
- Throughput and stability: Improve both simultaneously, not as trade-offs
- Cluster analysis: Note that organizations fall into distinct performance clusters
- Practical application: Track these four metrics to benchmark your improvement
Measuring and Changing Culture
- Culture definition: Understand culture as how work gets done when nobody is looking
- Measurement approach: Measure culture using the Westrum typology
- Pathological (power-oriented)
- Bureaucratic (rule-oriented)
- Generative (performance-oriented)
- Information flow: Ensure information flows freely across the organization
- Psychological safety: Create environment where people feel safe to take risks
- Job satisfaction: See it as a predictor of organizational performance
- Transformational leadership: Practice vision, intellectual stimulation, inspirational communication
- Cultural improvement: Change culture by changing behavior and systems, not with slogans
- Key practice: Make decisions based on facts and data, not politics
Technical Practices
- Version control: Keep everything in version control, including infrastructure code
- Trunk-based development: Limit branch lifetimes to less than a day
- Test automation: Implement automated testing that doesn’t require manual intervention
- Continuous integration: Integrate code frequently (multiple times per day)
- Deployment automation: Automate deployment processes to eliminate manual steps
- Test data management: Create test data as part of your automated testing
- Shift left on security: Integrate security into development process, not as an afterthought
- Architecture independence: Design loosely coupled architectures that teams can test independently
- Continuous delivery: Make deployment a routine operation, not a crisis event
Architecture
- Loosely coupled architecture: Design systems so teams can test and deploy independently
- Empowered teams: Allow teams to choose their own tools when appropriate
- Architectural decisions: Make them within teams, not by separate architecture group
- API boundaries: Design clear APIs between components and services
- Team independence: Enable teams to complete work without external dependencies
- Organizational structure: Shape team boundaries to match desired architecture (Conway’s Law)
- Testability: Architect systems to be testable without production-like environments
- Deployment independence: Make components deployable independently
- Key insight: Consider architecture and organizational design together
Integrating Product and Process
- Product teams: Organize into cross-functional product teams, not project teams
- Lean product management: Apply Lean principles to product development
- Minimum viable products: Start with MVPs and iterate based on feedback
- Work in small batches: Break work into small, releasable chunks
- Feedback loops: Create tight feedback loops with customers
- Software delivery + product development: Integrate these disciplines, don’t separate them
- Visibility: Make work visible across functions
- Customer focus: Drive work based on customer needs, not by project plans
- Experimentation: Design products to enable A/B testing and experiments
Management Practices
- Lightweight change approval: Avoid heavy change approval boards and processes
- Peer review: Use peer review rather than manager approval for changes
- Resources for improvement: Allocate time for teams to improve their work
- Training investment: Provide technical and process training opportunities
- Outsourcing caution: Avoid outsourcing your core capabilities
- Deployment pain: Look for and eliminate sources of deployment pain
- WIP limits: Limit work in progress to improve flow and quality
- Visualization: Make work visible through information radiators
- Psychological safety: Create environment where it’s safe to take risks and fail
Product Development
- Team experimentation: Allow teams to experiment and try new approaches
- Customer feedback: Collect feedback from customers on a frequent basis
- Value stream: Optimize the entire value stream, not just development
- Working in small batches: Break large features into small, testable increments
- MVPs: Create minimum viable products to gather early feedback
- Hypothesis-driven development: Form hypotheses about features and test them
- A/B testing: Use A/B testing to validate feature impact
- User research: Incorporate user research into product development process
- Design thinking: Apply design thinking principles to understand user needs
Making Work Sustainable
- Deployment pain: Eliminate painful, risky deployments
- Work-life balance: Create sustainable pace and avoid burnout
- Team cohesion: Build supportive, collaborative teams
- Learning culture: Foster a culture of continuous learning
- Controlling WIP: Limit work in progress to reduce context switching
- Tools investment: Provide teams with the tools they need to succeed
- Technical debt management: Allow time to address technical debt
- Automation of repetitive work: Automate toil to focus on high-value work
- Physical environment: Create work environments conducive to focused work and collaboration
Employee Satisfaction, Identity, and Engagement
- Job satisfaction: Measure and improve employee satisfaction
- Organizational identity: Create strong sense of identification with organization
- Net Promoter Score: Use employee Net Promoter Score as leading indicator
- Meaningful work: Connect daily work to larger purpose
- Learning opportunities: Provide continuous learning and growth
- Decision authority: Give teams authority to make decisions affecting their work
- Vision sharing: Communicate clear vision that connects to daily work
- Challenging work: Provide work that stretches but doesn’t overwhelm
- Transformational leadership: Practice leadership that inspires and motivates
Leaders and Managers
- Transformational leadership: Practice vision, intellectual stimulation, inspirational communication
- Servant leadership: Serve the team, removing obstacles and providing support
- Clear direction: Provide clear vision while giving teams autonomy on implementation
- Feedback loops: Create and maintain feedback loops at all levels
- Psychological safety: Build environments where people feel safe to take risks
- Learning from failure: Treat failures as learning opportunities, not blame opportunities
- Information sharing: Make information widely available, not hoarded
- Systems thinking: Look at whole systems, not just components
- Improvement culture: Create culture of continuous improvement
The Science Behind the Research
- Research methodology: Understand the scientific approach behind the findings
- Statistical validity: Appreciate the rigor applied to establish causation, not just correlation
- Construct validity: Ensure measurements actually measure what they claim to measure
- Latent variables: Identify variables that can’t be measured directly
- Structural equation modeling: Use SEM to test causal relationships
- Cross-population validity: Apply findings across different organization types
- Longitudinal studies: Track changes over time, not just at a single point
- Evidence-based management: Base decisions on evidence, not just opinion
- Research limitations: Be aware of research limitations while applying findings
From Data to Insights
- Capability models: Use capability models to assess your organization
- Data-driven decisions: Make decisions based on data, not opinions
- Statistical thinking: Apply statistical thinking to organizational improvement
- Outcome focus: Measure outcomes, not just activities
- Leading indicators: Identify metrics that predict future performance
- Benchmarking: Compare your performance to industry benchmarks
- Improvement hypotheses: Form hypotheses about what will improve performance
- Experiment design: Design experiments to test improvement hypotheses
- Learning cycles: Create rapid learning cycles to improve continuously
Conclusion
- Competitive advantage: Treat technology as a competitive advantage, not a cost center
- Continuous improvement: Create a culture of continuous improvement
- Value delivery: Focus on delivering value to customers rapidly
- DevOps culture: Build a generative, high-trust culture
- Leadership support: Secure leadership support for transformation
- Measure what matters: Track the four key metrics to guide improvement
- Start where you are: Begin improvement journey from your current state
- Small steps: Take small, continuous steps rather than big bang changes
- Never done: Remember that improvement is a continuous journey, not a destination
Key Takeaways
- Four key metrics: Track deployment frequency, lead time, MTTR, and change failure rate
- Technical practices: Implement continuous delivery, trunk-based development, and test automation
- Architecture: Design loosely coupled systems that enable team independence
- Culture: Build a generative, high-trust culture focused on performance
- Leadership: Practice transformational leadership that inspires and enables
- Product focus: Organize around products, not projects, and gather frequent customer feedback
- Work management: Limit WIP, work in small batches, and visualize workflow
- Improvement: Make continuous improvement part of everyday work
- Evidence-based: Base decisions on evidence and data, not opinions
- Sustainability: Create sustainable work environments that prevent burnout