Steve Freeman Rotating Header Image

Test-First Development 1968

Seeing Kevlin Henney again at the Goto conference reminded me of a quotation he cited at Agile on the Beach last month.

In 1968, NATO funded a conference with the then provocative title of Software Engineering. Many people feel that this is the moment when software development lost its way, but the report itself is more lively that its title suggests.

It turns out that “outside in” development, with early testing is older than we thought. Here’s a quote from the report by Alan Perlis:

I’d like to read three sentences to close this issue.

  1. A software system can best be designed if the testing is interlaced with the designing instead of being used after the design.
  2. A simulation which matches the requirements contains the control which organizes the design of the system.
  3. Through successive repetitions of this process of interlaced testing and design the model ultimately becomes the software system itself. I think that it is the key of the approach that has been suggested, that there is no such question as testing things after the fact with simulation models, but that in effect the testing and the replacement of simulations with modules that are deeper and more detailed goes on with the simulation model controlling, as it were, the place and order in which these things are done.

It’s all out there in our history, we just have to be able to find it.

10 Comments

  1. clarke ching says:

    Nice!

  2. Channing Walton says:

    We just need to stop forgetting it too!

  3. Mathieu Roger says:

    Nice post.
    Following presentation http://www.infoq.com/presentations/Craft-and-Software-Engineering talks about this 68 Nato TDD like stuff.

  4. @Mathieu Thanks for the link. Glenn is an interesting chap.

  5. Ben Parker says:

    Today, while defending TDD and Java tools, I was told “We have tested it in production, we’ve been generating the SQL from the spreadsheet into the prod DB and for the last year it hasn’t gone wrong” …. @tailrec head / brick wall

  6. @Ben and you’re still there because… ? :)

  7. […] fiquei sabendo no blog do Steve Freeman. Como bem disse o co-autor do livro Growing Object Oriented Software, Guided by Tests, está tudo […]

  8. Chris Pitts says:

    It predates that. From http://www.craiglarman.com/wiki/downloads/misc/history-of-iterative-larman-and-basili-ieee-computer.pdf

    “We were doing incremental development as early as 1957, in Los Angeles, under the direction of
    Bernie Dimsdale [at IBM’s Service Bureau Corporation]. He was a colleague of John von Neumann, so perhaps he learned it there, or assumed it as totally natural. I do remember Herb Jacobs (primarily, though we all participated) developing a large simulation for Motorola, where the technique used was, as far as I can tell, indistinguishable from XP”, Gerry Weinberg

  9. B.J. Johnson says:

    This history begs the question that perhaps even Fred Brooks’ idea of “build one to throw away” has a similar philosophy in mind? A case might be made, since “Mythical Man Month” appeared in 1975, after the 1968 conference…

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>