At Amazon, small teams focus on small, measurable components that customers value.
One example is a team that decided to focus on finding phrases that are unique to a particular book. Says Amazon CTO Werner Vogels: “The Statistically-Improbable Phrases service… turns out to be a mechanism that brings very remarkable collections together… Remember that most of our developers are in the loop with customers, so they have a rather good understanding about what our customers like, what they do not like, and what is still missing.”
Teams are limited in size to about 8-10 people. At Amazon they call them 2-pizza teams: If you can’t feed a team with two pizzas, it’s too large.
Each team has a “fitness function” — a number they are focusing on – and organizes its work in any way it pleases to improve that number. Such data is critical for organizing autonomous pods: “Fact-based decisions overrule the hierarchy” says Bezos. Since each team focuses on a small part of the ecosystem, the company gets closer and closer to the data, tightening up feedback loops and helping the whole system evolve faster.
Amazon’s approach is supported by a strong platform that allows the whole Amazon website to be developed in a massively parallel fashion by podular teams. When you visit an Amazon page, you might be accessing a hundred or more web services that are orchestrated to give you a personalized experience. Behind the scenes is a sophisticated service-oriented architecture that allows Amazon’s podular teams to access common data and functionality without having to worry about interdependency and conflict. “Any algorithm that requires agreement will eventually become a bottleneck… each node should be able to make decisions based on the local state,” says Amazon CTO Werner Vogels. Because of the architecture, services can evolve in parallel without affecting each other.