4 ms·
Bill Taylor obviously has never read the Mythical Man Month. http://en.wikipedia.org/wiki/The_Mythical_Man-Month http://en.wikipedia.org/wiki/The_Mythical_Man-
by gvb 15y ago
Bill Taylor obviously has never read the Mythical Man Month. http://en.wikipedia.org/wiki/The_Mythical_Man-Month http://en.wikipedia.org/wiki/The_Mythical_Man-Month
The article totally misses a critical point: communications and coordination, which goes up exponentially with the number of players.
Group Intercommunication Formula: n(n − 1) / 2
1000 developers give 1000 * (1000 – 1) / 2 = 499500 channels of communication.
[edit] All Bill has established with his sports analogy is a team of 5-6 players that communicate effectively is better than a team of 5-6 players that don't communicate. That is a total strawman, it doesn't map to 1000 (software) players. [/edit]
In hockey, there are six or fewer players on the ice at one time. Would 1000 hockey players all on the ice at one time be better than six? Not a chance! They would not be able to move the puck because they would be tripping on each other. Even if the ice rink were expanded to hold them all, they still would suck as a team because their communications and coordination would be totally broken.
The same problem happens with software developers: 1000 developers working on one problem will trip over each other too. The only way 1000 developers will succeed at all is to decompose one big problem into 100-200 smaller problems that teams of 5-10 (funny how that works out) can then solve.
- marknutter 15y agoWhat you're missing is that the 1000 player hockey team would completely dominate the 5 hockey all-stars. 998 of them would check 4 stars into oblivion while 1 guy spent the rest of the period making hundreds of shot attempts per period until the game was won.
- mjw 15y agoTo be an utter pedant, that's quadratic not exponential growth :)
- enko 15y agoTo be even more of an utter pedant, quadratic growth is exponential growth, where the exponent is 2.
- jonmc12 15y agoIn addition to number of communication channels on a team, the article neglects the complexity of communication. Creating economic value through code is currently an extremely complex process. When you consider what goes on between the ears of a basketball player, it is not trivial, but it can be transferred from one player to the next in a straightforward way. Engineers must think beyond what is able to be communicated. Complex mental models of code and user experience that would take the best engineers longer to communicate than to instantiate.
- jordank 15y agoBeyond communication and coordination costs - 1000 people at $100,000 = $100MM/yr.
- barrkel 15y agoThe article's point is that a team - a team - of 5 engineers will beat a "team" of 5 primadonnas.
- kelnos 15y agoNo it's not. Did you read it?
- DavidAdams 15y agoThe article does dance around that concept a little bit, in an aside about the difference between Barcelona and other football clubs. But he never gets around to drawing an exact parallel to primadonna coders. And that's a strong argument to make. I might rather have five exceptional developers than 1000 average ones, taking into account communication latency and overhead, but if they're five surly, haughty, egotistical asshats who are engaged in a never-ending pissing contest, then no thanks.
- barrkel 15y agoYes. It goes in a different direction than it starts. I think the parent stopped reading at some point. Did you read it all, and the articles it cites?
- kelnos 15y agoI didn't read the cited articles, but I did read it all. It may have (as a sibling of yours pointed out) "danced" around that conclusion, but it was far from clear that's where he was going with it. It was just a bunch of poorly-thought-out analogies that made no sense (and in many cases were factually incorrect; e.g. the stuff about FC Barcelona is just wrong).
- iens 15y agoWhen you have 1000 developers, you would organize them in teams and appoint middle managers to reduce the complexity.. That is quite normal :-)
- MaysonL 15y agon(n-1)2 is a strawman itself: a 1000-person organization will probably have 3 levels (900,90,9) with each person communicating mainly with team members or the level above or below, so O(nlogn) communications channels, probably.
- gridspy 15y agoThe problem is that each set of middle managers cannot represent the bandwidth required to express the problem to their subordinates or the solution to their superiors. At the top, you have a board of 10 people. Each one of these is making decisions and receiving orders for 100 people. This sort of structure is going to have some serious communication latency and a loss of data as it traverses the company heirachy.