Building and Scaling High Performing Organizations
A quick review of the insightful book written by Nicole Forsgren, Jez Humble, and Gene Kim after four years of groundbreaking research about ways to measure software delivery performance
2. The authors
Nicole Forsgren
Does research and strategy at Google Cloud following
the acquisition of her startup DevOps Research and
Assessment (DORA) by Google. She is co-author of
the book Accelerate: The Science of Lean Software
and DevOps, and is best known for her work
measuring the technology process and as the lead
investigator on the largest DevOps studies to date.
She has been an entrepreneur, professor, sysadmin,
and performance engineer. Nicole’s work has been
published in several peer-reviewed journals. Nicole
earned her PhD in Management Information Systems
from the University of Arizona, and is a Research
Affiliate at Clemson University and Florida
International University.
Jez Humble
Co-author of The DevOps Handbook, Lean
Enterprise, and the Jolt Award-winning
Continuous Delivery. He has spent his career
tinkering with code, infrastructure, and product
development in companies of varying sizes
across three continents, most recently working
for the US Federal Government at 18F. As well
as serving as DORA’s CTO, Jez teaches at UC
Berkeley.
Gene Kim
Gene Kim is a multiple award-winning CTO,
researcher and author, and has been studying
high-performing technology organizations
since 1999. He was founder and CTO of
Tripwire for 13 years. He has written six books,
including The Unicorn Project (2019), The
Phoenix Project (2013), The DevOps
Handbook (2016), the Shingo Publication
Award winning Accelerate (2018), and The
Visible Ops Handbook (2004-2006) series.
Since 2014, he has been the founder and
organizer of the DevOps Enterprise Summit,
studying the technology transformations of
large, complex organizations.
3. Overview
Through four years of groundbreaking research to include data collected from the
State of DevOps Reports, Dr. Nicole Forsgren, Jez Humble, and Gene Kim set out to
find a way to measure software delivery performance―and what drives it―using
rigorous statistical methods. This book presents both the findings and the science
behind that research, making the information accessible for readers to apply in
their own organizations.
Readers will discover how to measure the performance of their teams, and what
capabilities they should invest in to drive higher performance.
4. Accelerate: How To Drive Improvement
Since 2014, Nicole Forsgren, Jez Humble, and Gene Kim have been publishing the “State
of DevOps Report.” The report is a well-respected survey to help to understand how
DevOps as a set of practices and cultural value supports companies improving software
engineering and release practices, software quality, information security, and generally
receiving feedback on product development. Thus, the “State of DevOps Report”
supports the visualization of the contribution of DevOps to the organization’s overall
business performance, measured, for example, by market-share, valuation, and
profitability.
Based on the statistical analysis of the available 23,000 data-sets, the authors identified
24 key capabilities that improve software delivery capabilities, falling into 5 categories
5. Fact
In 2017, the DORA research team found that high performers executed 46
times more code deployments, and had a lead time, from commit to deploy,
that was 440 times faster; a mean time to recover from downtime that was 170
times faster; and a change failure rate that was 5 times lower. And while the
gap widened for reliability, it narrowed in measures of throughput.
6.
7. 1 Continuous delivery
2 Architecture
3
Product and process4
Cultural5
Lean management and monitoring
Key Aspects
8. Continuous delivery
There are eight success factors in continuous
delivery:
1. Use version control for all production artifacts
2. Automate your deployment processes
3. Implement continuous integration (CI)
4. Use trunk-based development processes
5. Implement test-automation
6. Support test data management
7. Shift left on security (integrating security into the
design and test phase of the software development
process)
8. Implement continuous delivery (CD).
9. Architecture
There are two success factors in
(application) architecture:
1. Use a loosely coupled architecture
2. Architect [the application] for empowered teams.
10. Product and process
1. Gather and implement customer feedback
2. Make the work visible through value streams
3. Work in small batches
4. Forster and enable team experimentation.
11. Lean management and
monitoring
There are five success factors in lean
management and monitoring:
1. Have a lightweight change approval process
2. Monitor across application and infrastructure to
inform business decisions
3. Check system health proactively
4. Improve processes and manage work with
work-in-progress (WIP) limits
5. Visualize work to monitor quality and
communicate throughout the team
12. Cultural
There are five success factors in cultural
aspect:
1. Support a generative culture (as outlined by
Westrum)
2. Encourage and support learning
3. Support and facilitate collaboration among teams
4. Provide resources and tools that make work
meaningful
5. Support or embody transformational leadership.
13. Westrum Organizational Culture
Culture is a key component of DevOps and technology
transformations. They find that technical and management
practices shape culture and that culture in turn helps to improve
performance outcomes.
To measure organizational culture, we reference a typology
developed by Ron Westrum, a sociologist who found that
organizational culture was predictive of safety and performance
outcomes. Westrum’s model of organizational cultures includes
three types of organizations
14. Conway’s Law
“organizations which design systems . . . are constrained
to produce designs which are copies of the
communication structures of these organizations”
Teams that have good communication and collaborate to
merge their needs produce simpler software solutions