System development is primarily concerned with programming. I will show that a relatively small part of the development process is devoted to the coding activity and that most errors are failures in design and not coding.
Once a program is delivered, the job is finished. A corollary myth is that maintenance is just fixing errors. I will show that about two-thirds of the lifetime cost for a system comes after installation and that only one-fifth of that effort involves error correction. This, structuring the process to optimize for development is shortsighted.
—Bruce I. Blum in Software Engineering: A Holistic View
Delivering quality products, keeping up with demand, delivering to specification, on-budget and on-time delivery—these ...