Overview
To succeed in the face of constant changes in trends, approaches, products, we must be highly productive. In high-performing teams, nothing is someone else's problem. Developers are responsible for the quality and stability of the software they create. Everyone works together to achieve organizational goals rather than optimizing what's best for their team or department.
Principles
- Work on the riskiest things first.
They tackle riskiest things upfront rather than at the end. Sometimes it's useful when you need to change decision because then you have buffer to do that.
- Execution alignment.
They collaboratively work on a solution to a problem, not on feature for the sake of a feature. Team is aligned on why are they working on this specific item in this specific moment.
- Work in small batches.
They do work in small batches continuously deploying to production. This keeps the team super engaged and motivated because they can see the end result of their work.
- Accountability.
They are efficient in their process, and when they fail they introduce change to prevent failures of this specific type in the future. Always going deeper and asking - why did this happen? and how can we prevent it from happening in the future?