In 1968 (and 1969) there was a conference held to discuss how software should be developed. It has been referred to as the NATO Software Engineering Conference.
I discovered the conference documents online while searching for some of the early ideas on software engineering. My motivation was partly out of historical curiosity and partly through a sense of history repeating itself. Learning LISP - after years of C, Java, Ruby and others - had made me wonder just how far programming has really come in 50 years.
I really enjoyed reading over these documents and I think many curious programmers would too.
One of the motivations behind the conference appeared to be alarm at the rate of growth in the software industry:
In Europe alone there are about 10,000 installed computers — this number is increasing at a rate of anywhere from 25 per cent to 50 per cent per year. - Helms
In 1958 a European general purpose computer manufacturer often had less than 50 software programmers, now they probably number 1,000-2,000 people; what will be needed in 1978? - d’Agapeyef
For some reason I was initially stunned to read this comment by someone called Kinslow, describing an iterative development process in 1968.
The design process is an iterative one. I will tell you one thing which can go wrong with it if you are not in the laboratory. In my terms design consists of: 1. Flowchart until you think you understand the problem. 2. Write code until you realize that you don’t. 3. Go back and re-do the flowchart. 4. Write some more code and iterate to what you feel is the correct solution.
I think the reason for my surprise was the sudden realization that even though the computers back then look big and clunky by today’s standards, the human minds behind them were by no means clunky. They had a level of insight as good as any we have today.
Finally this quote from Paul:
The customer often does not know what he needs, and is sometimes cut off from knowing what is or what might be available.
Some things haven’t changed?!
I’ve stored the conference documents here: