Agile is Old

Agile methodologies are considered to be the new kid in the software process game. As the young turk, they challenge the ideas of big process and are often accused of being too new to have been really put to the test. They\’re a lot older than you might think.

In one of the SICP lectures from 1986, Hal Abelson answers the question, \”What does this … do to the axiom of \’do all your design before any of your code\’?\” His answer sounds very much like an agile enthusiast\’s response, \”I bet that\’s the axiom of someone who hasn\’t implemented very large computer systems very much.\” He follows that zinger with \”I said that Computer Science was a lot like magic. There\’s also a bad part of Computer Science that\’s a lot like religion.\”

The look on his face while responding seems to reflect a someone-asks-this-every-time feeling. How did he know, a decade before the various agile methods started appearing, that up-front design doesn\’t work? I imagine it\’s because, by that point, he had already spent over a decade writing software. A decade I had spent learning to walk and talk and to make the turtle on the Apple II draw some pictures. It\’s a good thing Hal had written Logo for the Apple II so I could do that.

Other things he has said in the lectures reflect ideas of refactoring and iterative development. It\’s just kind of cool to see that the ideas you\’re working with aren\’t as untested as they sometimes seem. That said, I wonder what opinions Hal has on the current state of agile methods.

One Response to “Agile is Old”

  1. Fin Says:

    This reminds me of Jerry Weinberg’s The Psychology of Computer Programming: sure, we’re not using COBOL or punchcards anymore, but the human aspect of programming really hasn’t changed since this was originally published in 1971. Projects are still failing for the same three reasons: people, people and people. ;)