Dijkstra’s Crisis: The End of Algol and Beginning of Software Engineering, 1968-72 Thomas Haigh,
[email protected], www.tomandmaria.com/tom Draft for discussion in SOFT-EU Project Meeting, September 2010 “In SHOT meetings and in the journals, it is surprising how few and far between critical references to specific historical arguments are: there is hardly any debate or even serious substantive disagreement.” – David Edgerton, 2010. In 1968 a NATO Software Engineering Conference was held in Garmisch, Germany. Attendees represented a cross section of those involved in programming work and its management. Having never met before they were shocked to realize that identical troubles plagued many different kinds of software. Participants agreed that a “software crisis” was raging. Programming projects were chronically late and over budget, yet often failed to produce useful software. They endorsed a new discipline of software engineering, its contents yet to be defined, as the solution to this crisis. A follow up conference, held in Rome the next year, failed to reach consensus on what specific techniques might constitute the core of this new discipline. Yet software engineering soon became the dominant identity to describe the work and management of programmers. That, at least, is the composite account one would gain from the almost identical paragraphs repeated again and again in historical works both scholarly and popular. But this growing mass of consensus is, I believe, built on sand. The historical significance of the 1968 NATO Conference, the demographics of its participants, its connection to prior and subsequent events, and its relationship to the software crisis are at risk of being fundamentally misinterpreted.