November 3, 2011

On why hackers don't work on large teams

Posted in Society, Software at 01:05 by graham

We’ve know for over 35 years that “adding manpower to a late software project makes it later”. Amazon has it’s two-pizza team heuristic: “If a project team can eat more than two pizzas, it’s too large”. The excellent Code Complete has a detailed explanation of how communication costs increase with team size. Yet we still need reminding.

Dhanji R. Prasanna has an excellent retrospective on his time on the Google Wave team. He sums up the problem with big teams very well:

And this is the essential broader point–as a programmer you must have a series of wins, every single day. It is the Deus Ex Machina of hacker success. It is what makes you eager for the next feature, and the next after that. And a large team is poison to small wins. The nature of large teams is such that even when you do have wins, they come after long, tiresome and disproportionately many hurdles. And this takes all the wind out of them.

For me, that’s really the crux of it. As a programmer, it kills you to not get stuff done. Large teams necessarily involve more communication, more complexity, and less getting stuff done. Large teams are a programmers equivalent of retirement.


  1. Nicolas said,

    March 23, 2012 at 01:44

    If implemented properly, using the agile/scrum methodology allows a team to >get those “small wins”, even in a larger team.

    There is no silver bullet. When a software start to be big, is used for complex and diverses task of critical important thing naturally go slower. And engineer are not that stupid to not figure it out.

  2. Anterec Ltd said,

    November 5, 2011 at 00:36

    If implemented properly, using the agile/scrum methodology allows a team to get those “small wins”, even in a larger team.

Leave a Comment

Note: Your comment will only appear on the site once I approve it manually. This can take a day or two. Thanks for taking the time to comment.