Preface
In 1968, there were only 10,000 installed computers in all of Europe. That year, NATO funded a conference that, even though its topic was little known to a wider audience, hosted more than 50 people from 11 different countries. Held in Garmisch, Germany, the conference talked about software engineering and represented the first appearance of programming as an engineering discipline. The event would later become known as the first of two NATO Software Engineering Conferences (the second was held a year later); both played major roles in promoting widespread acceptance of software development.
After the conference, the NATO Science Committee was ordered to compile a report that summarized the discussions.[1] Every time I read this report, I’m amazed by how insightful it was and that parts of it remain relevant. “We tend to go on for years, with tremendous investments, to find that the system, which was not well understood to start with, does not work as anticipated,” said J. W. Graham during a panel on feedback through monitoring and simulation. “We work like the Wright brothers built airplanes: build the whole thing, push it off the cliff, let it crash, and start over again.” Decades have passed, but not a lot has changed.
1 Software Engineering: Report on a Conference Sponsored by the NATO Science Committee, Garmisch, Germany, 7th to 11th October 1968, eds. Peter Naur and Brian Randell (Scientific Affairs Division, NATO, 1969), http://mng.bz/jn3d.