Two pizza teams

I’m at the Future of Web Apps Conference, London this week – there are some really interesting presentation, which I will post about over the next little while but to kick things off I wanted to talk a bit about Amazon’s ‘two pizza team‘ philosophy.

Pizza Man

Werner Vogels, Amazon’s CTO presented a paper on “Why and How Its Easier Than Ever Before To Build A Web Business and Compete With Anyone” – in which Werner discussed Amazon’s Web Services S3 (Simple Storage Service) and EC2 (Elastic Compute Cloud) – and how they can be leveraged by third parties (such as Smugmug, Second Life and to build web apps at significantly reduced costs. The services look fantastic, I’ll write about them in more detail another time, but for now I want to discuss something that Werner mentioned in passing, in response to a question: Do Amazon developers use the Web Services?

It appears that they do. The Amazon development teams use the Web Services (such as S3 and EC2) to provide a framework on which to build products. What is interesting is that these project teams are small: if they can eat more than two pizzas, it’s too large (i.e. no more than 8 or 10 people).

The two pizza rule appears to me (Werner didn’t expand so I’m making the next bit up) to be a great way of making sure that a problem is broken down into small, bite size (sorry), chunks. This is a very good idea because:

  1. it means each multidisciplinary project team tackles a specific, well defined, business problem – they know what they are aiming for;
  2. the team is closer to the business owner or user – in big teams it is easy for team members to hide;
  3. the team can’t get too distracted nor over engineer the problem;
  4. the team should be more efficient because there should be a lower communication overhead – both within the team and between teams;
  5. it reduces complexity and therefore risk because the problem is partitioned;
  6. the team should have greater velocity and be able to iterate more rapidly;
  7. and finally if a project does go belly up it means the company hasn’t invested too much.

This approach to application development enables Amazon to be both relatively nimble in its application development and deploy an entirely new (i.e. non-core) service to a different market segment – helping it to diversify its offering. And there aren’t too many big enterprises that can say that.

Photo: Pizza Man, by Dickuhne. Used under licence.

5 responses to “Two pizza teams”

  1. […] Of Web Apps, London – review 22 02 2007 As I mentioned previously I went to the Future of Web Apps conference this week. The conference had the usual mix of […]

  2. […] methods promote using small teams because it improves communications. With improved communications the team members are more likely […]

  3. […] design and develop a complex modern web service, then if I were you I would make sure your team is small and full of really smart, T-shaped people who understand the domain and care deeply about the […]

  4. i was looking for pizza recipes but came accross this site that not only talks about pizzas but also mixes the two anologies.. i get it.. thanks

  5. […] Software teams in many cases are no longer all crammed into one room or can be fed by 2 boxes of pizza (which is a large systemic issue in my opinion). Teams are now spread out over many floors of […]

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: