Book Summary: Accelerate

Trev de Vroome
11 min readOct 18, 2019

--

Accelerate, by Nicole Forsgren PhD, Jez Humble, and Gene Kim

Accelerate — Building and Scaling High Performing Technology Organizations

by Nicole Forsgren PhD, Jez Humble, and Gene Kim

Buy now from Amazon

Resonating Message

By making meaningful steps to introduce and improve your capabilities in continuous delivery, architecture, product & process, lean practices, and culture — you can create a profound impact on overall organizational performance.

Chapter in one sentence

  1. Accelerate: We now live in a world where organizational success is frequently enabled by technical innovation — where we must look to methods to create the right culture, approach, and speed to support rapid value creation to remain competitive.
  2. Measuring Performance: While there are many approaches and frameworks to software delivery, the performance of that delivery can be assessed via how frequently you release (Deployment Frequency), how long it takes for those changes to go from ideation to customer (Lead time), how quickly you can restore failures (Mean time to recovery), and how often you introduce failures to production (Change failure rate).
  3. Measuring & Changing Culture: Organizations should strive to move towards a culture in which trust, shared responsibility, safety for failure, innovation, and collaboration are all encouraged — levering Lean and Agile practices as the catalyst to start the cultural change.
  4. Technical Practices: Create an environment that enables Continous Delivery of valuable software to your customers in small and fast feedback loops. Do this by incorporating the necessary technical practices, designs, and culture to enable empowered, automated, and high-quality software teams.
  5. Architecture: Create an architecture that doesn’t focus on tools and technologies, but instead focuses on creating independent and efficient delivery of the business outcomes through loose coupling across products/services, and a focus on deployability, and testability.
  6. Integrating Infosec into the Delivery Lifecycle: Create an environment where the collaboration is high, and dependencies low between dev teams and infosec — building security into the processes and tooling of software development, rather than an independent stage-gate that occurs only when development is complete.
  7. Management Practices for Software: The goal of leadership is to provide the governance to drive culture and support software delivery performance — providing the tools, coaching, goal setting, and metrics and monitoring to enable self-organizing and empowered teams. This allows those teams to move forward independently, empowered with the knowledge of why they are doing what they’re doing, and how success will be measured.
  8. Product Development: The goal of your Product organization is to embrace and adopt lean practices — driving small batches of customer and metric informed features, empowering and enabling teams to discover and experiment rapidly — to move through the product lifecycle quickly in a fast, and visible manner.
  9. Making Work Sustainable: By creating an environment, culture, technical design that embodies Lean management practices and continuous delivery — organizations can not only align their ambitions of improved software delivery but create an engaging environment for their staff that is sustainable, avoiding employee burn-out.
  10. Employee Satisfaction, Identity, and Engagement: Provide your employees with control, empower them with a clear vision and goal, provide an environment that encourages experimentation and learning, create diversity in teams, and connect them with the products and customers they are building — and they will develop a strong sense of identity, and in turn, software delivery performance.
  11. Leaders and Managers: Leadership and management need to focus on creating a compelling and engaging vision for teams, then empowering them with the tools, safety, budget, and support to execute towards that. Focus your time on developing and retaining talented individuals — removing impediments that stand in their way.
  12. High-Performance Leadership & Management: The goal of leaders and managers is to facilitate the creation and improvement of a high-performance culture — being open and willing to change, adapting to your changing organizations’ needs, embracing rapid learning to create an incremental and collaborative introduction of change.
Accelerate — Capabilities to Drive Improvement

Accelerate P3–10

  • Businesses remain under pressure to adaptive to the changing world, leveraging technology and innovation to compete in this new age.
  • “The key to successful change is measuring and understanding the right things with a focus on capabilities — not on maturity”
  • Four reasons for using Capabilities Models, and not Maturity Models:
1. Maturity Models indicate there can be a 'finished' state, rather than establishing a mechanism for continuous improvement.2. Maturity Models are often perscriptive, and not adaptive to the needs of the organization.3. Capability Models are based on measured outcomes, as opposed to vanity metrics that tell us only about maturity and adoption.4. Maturity Models define static technological processes and ability, and are not adaptive to the changing technical landscape.

Measuring Performance P11–29

  • Our measurements need to focus on outcomes, rather than outputs — ensuring we understand, optimize, and improve our systems of delivery as a whole
  • Building slack into the system is critical to allow for responsiveness — “As utilization approaches 100%, lead times approach infinity”
  • Software delivery performance can be measured with four key metrics:
1. Deployment frequency - Releasing to production very frequently
2. Lead time for changes - Low cycle time in ideas becoming production release code
3. Mean time to recovery - Being able to recover in production quickly
4. Change failure rate - Minimizing the failures that are incurred from changes
  • Software delivery performance directly impacts organizational and noncommercial performance.

Measuring & Changing Culture P29–40

  • There are three levels of organizational culture:
Basic assumptions - The things we just "know" and are formed over time
Values - Social norms, events, and relationships which shape our behaviour and lense of the organization
Artifacts - The visible artifacts showing and telling people about the rules of engagement
  • Measure DevOps culture leveraging Westrum’s three cultural topologies:
Pathological - Power orientated
Beaurocratic - Rules orientated
Generative - Performance orientated
  • A generative organizational culture creates an environment with strong information flow — but requires trust, shared responsibility, safety for failure, new ideas encouraged, and high collaboration across the business.
  • Beaurocracy isn’t necessarily bad, so long as it is formed by the best collective knowledge of the organization. Where ambiguity, unknowns, or lack of quantified best practice exist — generative cultures should be the target.
  • The incorporation of generation culture into organizations has a direct impact on software delivery and organizational performance.
  • “Accident investigations that stop at ‘human error’ are not just bad but dangerous. Human error should, instead, be the start of the investigation.”
  • Before you can change what people think, you need to change what they do — this starts with implementing the practices from Lean & Agile to start building the cultural change momentum.

Technical Practices P41-P58

  • The goal of Continuous Delivery is to get value into the hands of those who need it as quickly and safely as possible — to get fast feedback, and incorporate that feedback into future development cycles.
  • There are five key principles at the heart of Continuous Delivery:
1. Build quality in
2. Work in small batches
3. Automate repetitive work
4. Relentless improvement
5. Take shared responsibility
  • For Continuous Delivery to be possible, you need:
1. Comprehensive configuration management - Software & environments
2. Continous Integration (CI)
3. Continous Testing - Ideally automated
  • Practices that drive successful Continuous Delivery:
1. Version Control
2. Deployment Automation
3. Continuous Integration
4. Trunk-Based Development
5. Test Automation
6. Test Data Management
7. Shift Left on Security
8. Loosely Coupled Architecture
9. Empowered Teams
10. Monitoring
11. Proactive Notifcation
  • “Investments in technology are also investments in people, and these investments will make our technology process more sustainable”

Architecture P59–68

  • “High performance is possible with all kinds of systems, provided that systems — and the teams that build and maintain them — are loosely coupled”
  • The implementation details of your architecture are largely irrelevant to performance — what is more important, is they have application/team independence by applying two key characteristics:
1. Deployability - Ability to independently deploy an application (ideally - as a component level) separate to other applications or services
2. Testability - Ability to independently test an application (ideally - as a component level) without requiring an integrated environment
  • To create loose coupling — you need to create both architecture and an organizational structure that removes dependencies across components and teams — creating empowered, independent, and autonomous structures.
  • By creating “a goal-orientated generative culture, a modular architecture, engineering practices that enable continuous delivery, and effective leadership” — you can circumvent Brooks’² findings and move faster as you add more people.
  • Software delivery performance is better when teams can choose the tools they use — but there are still significant benefits in standardizing architecture and configuration of infrastructure to improve supportability.
  • Architects and architecture shouldn’t focus on tools or technologies. Instead, focus on their users — the engineers building the system — providing the tools they like, and can effectively use to achieve business outcomes.

Integrating Infosec into the Delivery Lifecycle P69-74

  • Teams should aim to “shift left” on information security — building security into the software development process rather than having it as a separate process (ie. waterfall) at the end of development and testing.
  • Integrating Infosec into Development can be done by:
1. Application designs are made with security in mind
2. Security is tested as part of test automation
3. Secure tools/packages/processes are made easy for developers to obtain and consume, providing developers real value
4. Security feedback is obtained and incorporated into product improvements
5. If cross-functional teams are not possible with infosec experts - an environment is created where dependencies between infosec and dev teams are low, and communication and collaboration is high

Management Practices for Software P75–82

  • There are four key components to Lean Management:
1. Limit Work in Process (WIP)
2. Visual Management
3. Feedback from Production
4. Lightweight Change Approach
  • WIP limits are not effective on their own — they must regularly lead improvements to flow, and be accompanied with visual displays and transparency.
  • Lean Management drives the adoption of Westrum Culture, Software Delivery Performance, and Lower Staff Burnout
  • External change approvals, regardless of the riskiness of the change, lead to lower software delivery performance — the goal being empowered and trusted teams to support and maintain their own code.

Product Development P83-88

  • These four key tenants of Lean Product Development make a notable impact on organizational performance:
1. Work in small batches
2. Make Flow of Work Visible
3. Gather & Implement Customer Feedback
4. Team Experimentation
  • “The key to working in small batches is to have work decomposed into features that allow for rapid development”
  • The goal of experimentation is to make informed decisions — by rapidly obtaining customer feedback and observing software performance, feeding those into data-driven hypothesis for rapid testing and validation.

Making Work Sustainable P89–100

  • “The technical practices that improve our ability to deliver software with both speed and stability also reduce the stress and anxiety associated with pushing code to production”
  • If you’re deployments to production outside of normal business hours — it’s a strong indicator there are fundamental issues in your software architecture and/or processes.
  • Common issues & solutions for deployment issues
1. Environments and dependencies are inflexibile - Build change tolerant systems
2. The need for manual intervention and steps - Provide automated means of reproducing the state of production systems
3. Multiple handoffs between teams - Simplify the architecture
  • When trying to address burnout “…managers… often try to fix the person while ignoring the work environment, even though changing the environment is far more vital for long-term success”
  • Create an environment that provides psychological safety by creating a learning environment, embracing failure as opportunities, supporting & growing teams, and developing highly collaborative and candid communication that focuses on behaviours and processes and not on people.
  • Six key factors that cause burnout:
1. Work overload
2. Lack of control
3. Insufficient rewards
4. Breakdown of community
5. Absence of fairness
6. Value conflicts
  • The key factors to reduce burnout are
1. Creating a Westrum organization culture
2. Removal of deployment pain
3. Leaders focused on removing impediments over command & control
4. Investment in DevOps
5. Embrace lean management & continuous delivery practices to create an organization founded on continous improvement

Employee Satisfaction, Identity, and Engagement P101–114

  • Employee satisfaction has a significant correlation to:
1. Customer feedback driven product development
2. Openness and visualization of products/features through development
3. The extent in which employees identify with their organization's values and goals
  • “People are an organization’s greatest asset — yet so often they’re treated like expendable resources”
  • The “cycle of continuous improvement and learning is what sets successful companies apart, enabling them to innovate, get ahead of the competition — and win”
  • Job satisfaction is a result of:
1. If you are satisified with your work
2. If you have the right tools and resources to do your work
3. If the work is making good use of your skills and abilities
  • Teams with more diversity of gender, minorities, and experiences — achieve better business outcomes. But this only works in an inclusive organizational culture.

Leaders and Managers P115–127

  • “Being a leader doesn’t mean you have people reporting to you on an organizational chart — leadership is about inspiring and motivating those around you”
  • Transformational leadership needs to:
1. Establish and support Westrum organizational culture
2. Drive technologies that enable developer productivity
3. Support and empower teams with experimentation and innovation
4. Remove the constraints of organizational silos through strategic alignment and shared goals
  • Characteristics of a transformational leader are:
- Vision
- Inspriational communication
- Intellectual stimulation
- Supportive leadership
- Personal recognition
  • Transformational leadership is similar but different to servant leadership — servant leaders focus on the performance of followers, where transformational leaders rally and support the business in the execution of compelling organizational objectives.
  • Managers need to create space and safety for continuous improvement, experimentation, and staff development — and align incentives with Lean practices and continuous delivery objectives.
  • Enable cross-functional collaboration as a manager by:
- Building trust with your counterparts in other teams
- Encouraging practitioners to move between departments
- Actively seeking, encouraging, and rewarding work that facilitates collaboration
  • And managers can help create a climate of learning by:
- Creating a training budget and advocating for it internally
- Ensuring that your team has the resources to engage in informal training and the space to explore ideas
- Making it safe to fail
- Creating opportunities and spaces to share information
- Encourage sharing and innvation by having demo days and forums
  • Managers can make effective use of tools by:
- Making sure your team can choose their tools
- Making monitoring a priority

High-Performance Leadership & Management P179–197

  • Grow a generative culture by “going deep, before you go wide” — fully realize the practices in a single team through all levels of delivery, before trying to scale it out to the wider business.
  • Following standard processes saves time and energy — but will prevent generative culture if the business doesn’t regularly re-evaluate it and improve it by empowering interested and skilled individuals to come together and be empowered to make the change from all levels.
  • A good leader encourages all (including themself) to challenge assumptions and try new behaviours — inspecting and adapting from the learnings obtained. The behaviours that work and are endorsed become a habit — and habit drives culture.
  • There is no standard approach to cultural change — it requires consistent behaviours to create new organizational assumptions and norms, building trust and predictability in behaviours.
  • “High-performance culture… is the development, through experimentation and learning guided by evidence, of a new way of working together that is situationally and culturally appropriate to each organization.”
  • Guidelines for creating a high-performance culture:
- Develop and maintain a mindset of shared learning
- Don't copy models or contract out - develop your own coaches and models right for your organization
- You need to change along with your business
- Practice discipline
- Practice patience
- Learn by doing, repeatedly, and incrementally evolving based on learning outcomes

References

  1. Poppendieck. M & T (2006), Implementing Lean Software Development: From Concept to Cash, Pearson Education (US)
  2. Brooks. F (1975), The Mythical Man-Month, Addison-Wesley

--

--

Trev de Vroome

Information technology program and agile transformation leader, change catalyst, and educator.