- Scrum gave them a team-based culture starting point
- It didn't scale for several teams so they made Scrum optional, but continued embracing Agile principles.
- Are around 8 and have end-to-end responsibility for the stuff they build (design, code, commit, deploy, maintain, devops) and full autonomy to do it.
- They have a mission/vision and short-term goals that are renegotiated every quarter.
- Area: work zone with adjustable desks, lounge zone for planning sessions and retrospectives with whiteboards (kanban, brainstorming) another room for small meetings.
- Leads to motivation which leads to build better stuff
- Leads to be faster, working locally, avoiding managers and intermediators
- Minimize dependencism and over-coordination, improve scale-out
- Continuous delivery based on small, easy releases based heavily on automated tests
- Teams' mission needs to be aligned with the core strategy of the company
- Teams need to be loosely coupled but tightly aligned
Alignment vs Autonomy
- Leader must communicate what needs to be solved and why (mission), but not how
- Teams must coordinate to solve it
- Everyone can change others code even in different teams but must pass through peer code reviewing
- Design guidelines and code standards reduce engineering friction but not too strict
- Built around talent
- Keep the motivation high
- Trust > Control