ChetHendrickson and I were talking about this today while preparing our Smalltalk Solutions talk. Chet, fix this to be better if you like ...
We're nearly serious about this:
Imagine a hundred person project, scheduled for a year, or 200,000 person hours. Of the 100 people on the project, how many are actually programmers? We guess maybe 40. So there will be 80,000 programmer hours.
How much programming will these programmers actually do? (In XP terms, what is their LoadFactor?) In a conventional project,they clearly spend the bulk of their time preparing for meetings, attending meetings,writing documents, writing comments, and reading documents to figure out how to write their code. We think their LoadFactor is about ten, that is, in a typical week, they actually spend a half-day coding.
Therefore there are 8,000 actual hours of programming, per year, done in a 100-person project.
Our XP developers have load factors of 2 to 2.5 by actual measure. Therefore you can get 8,000 hours of programming done in 20,000 real hours. That's ten people, one year.
A HundredPersonProject is a ten-person project, with overhead. Doctor, it hurts when I do this. -- RonJeffries
[Copied from XpCritique]
"Just a thought, but large teams are often large for a reason. There's often a group the works with hardware. This is a skill you can't just rotate into. There's a group working on BSPs or other low level items. This is a skill you can't just rotate into. There's often a group with very specialized PHD level domain knowledge in areas like switching/routing/whatever. This is a skill you can't just rotate into. There are often account teams that work with customers and have relationships with customers. This is a relationship you can't just rotate into [...]"
"Large scale development usually requires a wide range of competencies and, therefore, multiple teams. Collective ownership of code might be the ideal, but there is no guarantee that one team will share the same tools, development environment, network or geographical location as another."
If a project is 40% developers, then if we have 10 developers, we have a 24 person project. So the HundredPersonProject described above would turn into a 24-person project with XP.
I can do that project with 20 persons. -- PointyHairedBoss