April 7, 2007

...Learn TDD with Codemanship

Software Development Doesn't Scale

Blogger Nicholas Carr compares business scalability with software scalability to good effect.

Ironically, while software has made many businesses very scalable, the business of building software doesn't scale very well at all. When people are working on heavily dependent code, the communication overhead means that there's a law of diminishing returns for every person we add to the team, until it makes no sense to add any more. On a per-project basis, any more than half a dozen developers can be wasteful.

Across a portfolio of projects, with few dependencies between them, the limiting factor is the availability of talent. The best software developers are an order of magnitude more productive than the worst, and they are in very short supply. Successful software houses that are rapidly expanding to take on new business very quickly find themselves scraping the bottom of the barrel, until the good reputation they've earned is washed away by the inevitable failures that low-skilled teams tend to bring.

A sustainable model would be to limit the business you take on to that which can be fulfilled by the talent you have available, but you try telling that to a sales person...
Posted 14 years, 3 months ago on April 7, 2007