The notes from my October 2018 reading of Accelerate by Nicole Forsgren PhD.
- pg 6 – Capability Models > Maturity Models
- pg 27 – “Whenever there is fear, you get the wrong numbers” (Deming) Use your measurement tools very carefully
- pg 29 – Culture consists of basic assumptions, values, and artifacts
- pg 31 – Characteristics of good information
- It answers questions the receiver needs answered
- It’s timely
- It is presented in a way to be effectively used by the receiver
- pg 38 – Google found team dynamics is more important than the individuals on the team. How the team interacts with each other, how they structure their work, and how they view their contribution is the most important. (also see pg 105 in Team of Teams)
- pg 39 – When investigating an error you should start with the person involved with the error, but you should always end at an improvement of the information flow.
- pg 41 – We can’t forget about technical agile practices. (like TDD, CI/CD, etc.)
- pg 47 – Continuous Deployment helps create a better culture. It creates an accountability for quality and stability.
- pg 54 – Engineers should be responsible for test automation
- Devs will create a more testable design if they have to test it
- Devs will invest more into effort into maintaining the tests as they engineer the product
- pg 62 – Signs of a good architecture
- Large-scale changes in design can be made without permission from someone outside the team, or without a dependency on another team
- Work can be completed without coordinating with people outside the team
- Can be deployed and released on demand, regardless of what services depends on it
- Testing can be done on demand without requiring an integration testing environment
- Deployments can be made during normal business hours with negligible downtime
- pg 62 – High performing teams don’t use a staging environment and can do independent deployments
- pg 63 – Teams must be cross-functional
- pg 64 – Productivity should be measured by the number of deployments per day, per developer.
- pg 67 – InfoSec team could provide pre-approved libraries
- pg 90 – DEPLOYMENT PAIN – Where code deployments are painful you’ll find the poorest delivery performance, organizational performance, and poorest culture. Team satisfaction goes up with continuous deployment.
- pg 93 – List of ways to decrease deployment pain
- Build systems that are designed to be deployed easily into multiple environments, can detect and tolerate failures, and can have various components of the system updated independently
- State of the production system can be reproduced (with the exception of data) in an automated fashion from information in version control.
- Simple deployment process through intelligent applications and platforms
- pg 94 – Burnout is correlated w/ pathological cultures
- pg 95 – Outlines how to combat burnout
- pg 103 – we should be using a team NPS
- pg 109 – DevOps tools & automation matter. DevOps technical practices breed job satisfaction. Let computers do what they are good at and let humans weigh evidence, think through problems, and make decisions.
- pg 117 – A transformational leader has the following:
- A clear vision of how things should be in the future
- Inspirational communication
- Ability to intellectually stimulate their followers
- Care for the personal needs of their followers
- Ability to compliment others and give them recognition
- pg 180 – The ability to build and deliver value is a key differentiator