All books

Accelerate

Bookshelf

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

Measuring Performance

  • 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

  1. Four key metrics: Track deployment frequency, lead time, MTTR, and change failure rate
  2. Technical practices: Implement continuous delivery, trunk-based development, and test automation
  3. Architecture: Design loosely coupled systems that enable team independence
  4. Culture: Build a generative, high-trust culture focused on performance
  5. Leadership: Practice transformational leadership that inspires and enables
  6. Product focus: Organize around products, not projects, and gather frequent customer feedback
  7. Work management: Limit WIP, work in small batches, and visualize workflow
  8. Improvement: Make continuous improvement part of everyday work
  9. Evidence-based: Base decisions on evidence and data, not opinions
  10. Sustainability: Create sustainable work environments that prevent burnout