More on this book
Community
Kindle Notes & Highlights
by
Gene Kim
Punishing failure and “shooting the messenger” only cause people to hide their mistakes, and eventually, all desire to innovate is completely extinguished.
Creating software should be a collaborative and conversational endeavor—individuals need to interact with each other to create new knowledge and value for the customer.
“You should be able to create value by changing one file, one module, one service, one component, one API call, one container, one app, or whatever! Which is why putting cross-cutting concerns in one place is so great, like logging, security, or retry policies. You change it there, and you’ve changed it everywhere,”
The First Ideal—Locality and Simplicity The Second Ideal—Focus, Flow, and Joy The Third Ideal—Improvement of Daily Work The Fourth Ideal—Psychological Safety The Fifth Ideal—Customer Focus
It takes the Data Warehouse team four months to get twenty lines of SQL from Dev to QA to Production. And every time they do, reports break or show incorrect data. Apparently last month, a schema change somewhere broke almost every report in the company.
Last week, she cringed watching as a developer, whose tests failed, just ran them again, and they also failed. So, he ran it a third time, as if it were slot machine in a casino. This time it passed. This is no way to run a development shop, Maxine thought with embarrassment and distaste.
the Hoare principle: “There are two ways to write code: write code so simple there are obviously no bugs in it, or write code so complex that there are no obvious bugs in it.”
In the meantime, Chris has eliminated QA as a separate department, distributing them into the feature teams. Ops is quickly turning into a platform team and internal consultants, with the goal of providing developers the infrastructure they need, complete with a vast army of experts who are there to help, looking for ways to make developers productive.