Got a chance to read a couple of chapters from Scott Rosenberg's 'Dreaming In Code'..
Its an account of a group of software developers led by industry legend Mitch Kapor, who are working on 'Chandler', a modern personal information manager.
The basic point that Rosenberg has tried to drive home is that writing software is hard! Even if you manage to round up a bunch of code jocks in a room & tell them to write code, more often than not, most projects run behind schedule..
In his book, The Mythical Man Month, Frederick Brooks writes about how adding more programmers to an already delayed project delays it further. This went on to become a law much like 'Moore's Law' that was proven by IBM's mega projects back in the 70's.
Recent release of the much delayed Windows Vista maybe taken as a fitting example of this predicament.
"The problem is that software is not a thing, not a preexisting phenomenon of the universe; it's a product of the human imagination. One of the ideas that stayed with me most strongly is that computer science today accepts the file system as if it were some law of nature, and it's not. Every aspect of software is a human construct. The fact that we have created this pile of
abstractions, one on top of another, and that it works most of the time—and produces amazing results—doesn't mean the whole enterprise is a fait accompli and must always be that way. So, personally, I don't believe there is such a thing, or could be such a thing, as the physics of software. But accepting that there couldn't be such a thing has implications that are
disturbing to people in the software field." -- Scott Rosenberg
Complete interview is here.