"Since the dawn of computing in the 1940s, the applications and uses of computers have grown at a staggering rate. Software plays a central role in almost all aspects of daily life: in government, banking and finance, education, transportation, entertainment, medicine, agriculture, and law. The number, size, and application domains of computer programs have grown dramatically; as a result, hundreds of billions are being spent on software development, and the livelihood and lives of most people depend on the effectiveness of this development. Software products have helped us to be more efficient and productive. They make us more effective problem solvers, and they provide us with an environment for work and play that is often safer, more flexible, and less confining. Despite these successes, there are serious problems in the cost, timeliness, and quality of many software products. The reasons for these problems are many and include the following:
-Excerpt from [IEEE 04]
"Software Engineering 2004: Curriculum Guidelines for Undergraduate Degree Programs in Software Engineering", The Joint Task force on Computing Curricula, IEEE Computer Society and The Association of Computing Machinery, August 23, 2004, p 5.
Brooks, F.P., The Mythical Man-Month, Essays on Software Engineering, Anniversary Edition, Addison-Wesley, 1995.