Auf Codeproject.com fand ich dieses lesenswerte Kapitel aus dem Buch "Software Project Secrets: Why Software Project Fail":
Chapter 2 - Why Software is different
Einige schöne Sätze daraus:
Given that some of the most important government and business software is now being built with these enterprise application frameworks, you might expect that they have a long and distinguished history, and that they'd be stable and mature products. That's not the case. Sun's J2EE, which was perhaps the first true enterprise application framework to be widely used, appeared in 1998, and has seen considerable change since then. Microsoft only released its competing technology (.NET) in 2002, and no one has more than a couple of years of experience with it yet.
In contrast, we've been building roads for thousands of years, ever since the time of the ancient Roman and Chinese civilizations. The problem is well understood, and the technologies change slowly. Hot-mix asphalt was patented in 1903, and that basic technology is still what we use today.
So is software based on new technologies necessarily poor? Fortunately, no.
Whatever a developer was working on even three to four years ago is unlikely to be of any direct use today. So what use is an experienced developer? Is it true that every significant new piece of software is written by developers who are essentially novices to the task? [...] However, the "softer" skills that make one a good developer, or even a good team leader or architect, do apply from one project to the next, and can accumulate over time.
In a very real sense, software projects are simply the process of discovering the unknowns: once the unknowns are known, then the project is effectively at an end.