21.2 "Something's Wrong with the Way We Program Computers"
This has to be one of the most overused lines in the business. Still,
given time to ponder the big picture, most of us would probably agree
that we're not quite "there" yet. Over the last few
decades, the computer software industry has made significant progress
on streamlining the development task (anyone remember dropping punch
cards?). But at the same time, the cost of developing potentially
useful computer applications is often still high enough to make them
Moreover, systems built using modern tools and paradigms are often
delivered far behind schedule. Software engineering remains largely
defiant of the sort of quantitative measurements employed in other
engineering fields. In the software world, it's not uncommon to
take one's best time estimate for a new project and multiply by
a factor of two or three to account for unforeseen overheads in the
development task. This situation is clearly unsatisfactory for
software managers, developers, and end users.