The major cause of the software crisis is that the machines have become several orders of magnitude more powerful! To put it quite bluntly: as long as there were no machines, programming was no problem at all; when we had a few weak computers, programming became a mild problem, and now we have gigantic computers, programming has become an equally gigantic problem.
– Edsger Dijkstra, The Humble Programmer (EWD340), Communications of the ACM
The causes of the software crisis were linked to the overall complexity of hardware and the software development process. The crisis manifested itself in several ways: Projects running over-budget. Projects running over-time. Software was very inefficient. Software was of low quality. Software often did not meet requirements. Projects were unmanageable and code difficult to maintain. Software was never delivered. Poor/inadequate planning Loose control and review Technical incompetence Non-engineering approach
An Investigation of the Therac-25 AccidentsNancy Leveson, University of WashingtonClark S. Turner, University of California, IrvineReprinted with permission, IEEE Computer, Vol. 26, No. 7, July 1993, pp. 18-41. Computers are increasingly being introduced into safety-critical systems and, as a consequence, have been involved in accidents. Some of the most widely cited software-related accidents in safety-critical systems involved a computerized radiation therapy machine called the Therac-25. Between June 1985 and January 1987, six known