Accelerate - Building and Scaling High Performing Technology Organisations by Nicole Forsgren, Jez Humble, Gene Kim
Date finished 16 May 2021
Recommendation: 7/10
A spin-off from the State of DevOps surveys. This book presents the findings of their research in the form of capabilities that correlate to or predict performance in software organisations. A good high level overview of what will likely make your organisation better performing, but I found it a bit repetitive and the parts on how they carried out the survey were dull.
- Common traps
- Top down mandate to adopt Agile.
- Thinking it’s one size fits all.
- Not focussing on measurement or the right things to measure.
- Leadership behaviour not changing.
- Treating transformation like a program instead of creating a learning organisation.
- 24 capabilities that drive improvement in software performance, split into 5 categories.
- Measuring software delivery performance
- Lead time
- Deployment frequency
- Mean Time to Restore (MTTR)
- Change Fail Percentage
- Maturity models are not the appropriate tool or mindset to have. Instead focus on a capabilities model of measurement.
- The best organisations never call themselves “mature” as they are never done. Capabilities continually improve and progress - forever.
- Capabilities can be chosen from to suit organisational needs rather than a one size fits all maturity model.
- Capability models focus on key outcomes and how the capabilities drive improvement in these.
- Unplanned work is described in The Visible Ops Handbook as the difference between “paying attention to the low fuel warning light on an automobile versus running out of gas on the highway”.
-
Continuous delivery
- Version control
- eg. GutHub or Subversion for all production artefacts.
- Deployment automation
- Continuous integration
- Code is regularly checked in and each check-in triggers tests to discover serious regressions, which devs fix immediately.
- Trunk-based development
- Developing off trunk/master rather than long lived feature branches. Max 3 active branches in a repository. Branches with short lifetimes, less than a day before being merged into master, rarely or never having code freezes.
- Test automation
- That’s reliable - confident that failures indicate a real defect.
- Developers primarily create and maintain acceptance tests and they can easily reproduce and fix them on their development workstations.
- Test data management
- Shift left on security
- Design, demos, test automation (security features are tested as part of the automated test suite) - in a way that doesn’t slow down the development process
- Giving developers the means to build security in rather than Infosec doing security reviews.
- Easier and avoids rework.
- Infosec teams don’t have the capacity to do security reviews when deployments are frequent.
- Continuous delivery (CD)
- The system is kept in a deployable state over working on new features.
- Build quality in
- W. Edwards Deming stated “Cease dependence on inspection to achieve quality. Eliminate the need for inspection on a mass basis by building quality into the product in the first place”.
- Detect and fix issues quickly.
- Work in small batches
- ‘even though working in small chunks adds some overhead, it reaps enormous rewards by allowing us to avoid work that delivers zero or negative value for our organisations’.
- Computers perform repetitive tasks; people solve problems.
- Such as regression testing and software deployments - simplify and automate.
- Relentlessly pursue continuous improvement.
- Everyone is responsible.
- Foundations
- Comprehensive configuration management
- Continuous integration (CI)
- Continuous testing
- Automated unit and acceptance tests should be run against every commit to version control - fast feedback.
- Testers should be performing exploratory testing continuously against the latest builds to come out of CI.
- Requires a significant investment in test and deployment automation combined with relentless work to simplify architecture on an ongoing basis to ensure that this automation isn’t prohibitively expensive to create and maintain.
- Leads to
- High levels of software delivery performance (lead time, deploy frequency, time to restore service).
- Lower change fail rates.
- A generative, performance oriented culture.
- Lower levels of deployment pain.
- Reduced team burnout.
-
Architecture
- Loosely coupled architecture
- Correlates to better performance, especially with scaling.
- “We can do most of our testing without requiring an integrated environment”.
- “We can deploy or release our application independently of other applications/services it depends on”.
- Empowered teams
- Without depending on other teams or systems.
- Giving them a choice of tools.
- Notes
- Low performers were found to be using or integrating with custom software provided by another company - this is why stuff should be brought in-house.
-
Product and process
- Customer feedback.
- Value stream.
- Working in small batches.
- Team experimentation.
-
Lean management and monitoring
- Change approval processes
- Monitoring
- across application and infrastructure to inform business decisions.
- Proactive notification
- of system health through monitoring. Preemptively detect and mitigate problems.
- WIP limits
- Visualising work
- notes
- Burnout
- Physical, mental or emotional exhaustion caused by overwork or stress but more than overworked or stressed. Makes things we once loved about our work feel insignificant and dull. Feeling of helplessness - correlated with pathological cultures and unproductive, wasteful work.
- avert by
- fostering a respectful, supportive work environment that emphisises learning from failures rather than blaming.
- communicating a strong sense of purpose.
- investing in employee development.
- asking employees what is preventing them from achieving their objectives and then fixing those things.
- giving employees time, space, and resources to experiment and learn.
- giving employees authority to make decisions that affect their work and their jobs, particularly in areas where they are responsible for their outcomes.
- Six organisational risk factors that predict burnout (Leiter and Maslash 2008)
- Work overload: job demands exceed human limits.
- Lack of control: inability to influence decisions that affect your job.
- Insufficient rewards: insufficient financial, institutional or social rewards.
- Breakdown of community: unsupportive workplace environment.
- Absence of fairness: lack of fairness in decision making processes.
- Value conflicts: mismatch in organisational values and the individual’s values.
- Employee satisfaction
- “whilst this may seem like a simplistic measure, research has shown that NPS correlates to company growth in many industries (Reichheld 2003). Similar to company NPS, employee NPS (eNPS) is used to measure employee loyalty.” p104
- Transformational Leadership
- means leaders inspiring and motivating followers to achieve higher performance by appealing to their values and sense of purpose, facilitating wide-scale organisational change.
- they found it was highly correlated with eNPS.
- 5 traits from from Rafferty and Griffin 2004
- Vision
- Has a clear understanding of where the organisation is going and where it should be in five years.
- Inspirational communication
- Communicates in a way that inspires and motivates, even in an uncertain or challenging environment.
- Intellectual stimulation
- Challenges followers to think about problems in new ways.
- Supportive leadership
- Demonstrates care and consideration of followers personal needs and feelings.
- Personal recognition
- Praises and acknowledges achievement of goals and improvements in work quality; personally compliments others when they do outstanding work.
-
Cultural
- Westrum organisational culture
-
- Pathological
- Power oriented
- Low cooperation
- Messengers “shot”
- Responsibilities shirked
- Bridging discouraged
- Failure leads to scapegoating
- Novelty crushed
- Novelty leads to problems
- Supporting learning
- Collaboration among teams
- Job satisfaction
- Transformational leadership
- Notes
- Bureaucracy isn’t necessarily bad. Formulated by bureaucrats who are experts in their field, the rules would impose efficient structures and processes while guaranteeing fairness and eliminating arbitrariness.
- In a research project Google discovered that who is on a team matters less than how the team members interact, structure their work, and view their contributions.
- Human error should be the start of an investigation. Our goal is to discover how to improve information flow so that people have better and more timely information and better tools to prevent catastrophic failure whilst following apparently mundane operations.
- The research shows that lean management, along with a set of other technical practices known collectively as continuous delivery do in fact impact culture and change the Westrum organisational culture.
- Many agile adoptions often treat technical practices as secondary compared to the management and team practices that so many frameworks emphasise. Our research shows that technical practices play a vital role in achieving these outcomes.
Related