Tolerating, then Eliminating Duplication at Amazon
I learned early on that operating digital organizations in separable single-threaded teams prevents coupling in product development and enables the organization to run multiple initiatives in parallel with minimum coordination. The downside of decentralization is duplication. Suddenly, teams need to coordinate. These teams are small, nimble, agile, and fast-moving, but they don’t have additional people to help with coordination. Each team has its own goals and roadmaps, which lead to a natural tension between duplication or synchronization of work. In most cases, speed is more important than efficiency.
We allow teams to just do a lot of things themselves, even if that duplicates some functionality. We’re willing to exchange that for moving fast
Werner Vogels, CTO of Amazon
Two solutions are better than zero, but one is better
Although duplication is expensive, teams solving complex problems and moving fast would rather have two working solutions than being slow down. Competing requirements make it hard for one single solution to meet every use case. Avoiding duplication requires coordination—two or more people sitting down to hash out a solution—and coordination takes time. As companies grow, teams spend too much time coordinating and not enough time building and while one working solution is ideal, building multiple working solutions is better than being stuck with no viable solutions.
Two solutions might create waste, but the increase of velocity will outweigh the duplication effort. Allowing teams to build multiple similar solutions for similar problems enable them to do efficient exploration of the problem space.
When Digital (for example, Kindle or Amazon Video) wanted to add something to the order pipeline, a physical delivery address was required. There was no way around it. They would walk to the 80 different ordering teams and say, “We need to change this.” The ordering teams would respond that they hadn’t budgeted for it. One of the consequences was we allowed duplication to happen. We allowed the Digital team to build their own order pipeline for speed of execution. There are advantages; otherwise, we wouldn’t be doing it. There are disadvantages as well.
Wener Vogels, CTO at Amazon
Although duplication of effort is part of the price of the single-threaded model, leaders need to recognize those areas where building two solutions faster may not be the best option. Single-threaded leaders are responsible for (almost) never presenting two functionally identical but distinct solutions that will create confusing and fragmented experiences for customers. If a leader fails to do so, there is a risk that the customer experience suffers from the organizational structure.
Technical leaders and architects can identify emerging patterns, and step in when multiple teams have developed similar things. Technical leaders can create a new single-threaded team to solve that problem for the other teams—thus achieving efficiency. That’s the essence of platforms.
Beyond Amazon
I’m often asked how we prevent duplicate work in our small, empowered teams culture. My answer is: we don’t.
Jeff Lawson, Founder and CEO of Twilio
In Conclusion
In flat, decentralized organizations, most of the work is done by separable teams. Relearn, rework and reinvent happen causing a loss of efficiency due to duplication. Digital scaled companies are willing to sacrifice efficiency for speed.
As a rule of the thumb optimize for speed:
- Organize in small autonomous teams
- Tolerate, then eliminate duplication
- Eliminate duplication when a clear pattern has emerge and a platform team can speed up autonomous teams offering a self-service product
- Centralize when governance is necessary but use automated guardrails, for example, today we can do compliance-as-code, policy-as-code, or auditing-as-code
You May Also Like
In business, speed disproportionately matters. Over the last decades, we have learned that the most critical metric in innovation is time-to-value; … Read Article
Two critical characteristics of successful teams at product-oriented organizations are autonomy and bias for action. Teams should be able to … Read Article