| • Science | • People | • Locations | • Timeline |
The roots of the software crisis are complexity, expectations, and change.
See software engineering.
Indeed, the problem of trying to write an encyclopedia is very much like writing software. Both running code and a hypertext/encyclopedia are wonderful turn-ons for the brain, and you want more of it the more you see, like a drug. As a user, you want it to do everything, as a customer you don't really want to pay for it, and as a producer you realize how unrealistic the customers are. Requirements will conflict in functionality vs affordability, and in completeness (get everything in) vs timeliness (meet the deadline).
The notion of a software crisis emerged at the end of the 1960s. An early use of the term is in Edsger Dijkstra's ACM Turing Award Lecture, "The Humble Programmer" (EWD340), given in 1972 and published in the Communications of the ACM. Dijkstra says,