LispLanguage programmers were probably the first "agile developers" on the planet, because as far back as the mid-60s, many of the practices that we know today as "agile practices" or even "ExtremeProgramming" were already in practice -- MikeBeedle * BottomUpDesign. Lisp programmers have practiced bottom-up design since the 60s. So bottom-up architecting and emergent design have lived in this community from the very beginning. * TestFirstProgramming. In Lisp you test everything with eval all the time, not really test first programming but at least the testing is close to the coding. Also it is customary to write libraries by writing tests at the end of source code that get commented when the source code is released. The test are typically test evaluations that you want to remember. * Development in pairs. This was used to mentor juniors through the "buddy system". Practiced at MIT, for example. ''There is an amusing story about this in chapter 6 of Sam Williams' _Free as in Freedom_. A quote: "Looking back, Steele says he found the Stallman mind-meld both exhilarating and scary at the same time. 'My first thought afterward was: it was a great experience, very intense, and that I never wanted to do it again in my life.'" (http://www.oreilly.com/openbook/freedom/ch06.html)'' * Customer-Driven implementations with rapid prototyping being practiced. When programming in Lisp it is often easier to show the customer what he or she may want to see than to write a long document. * ContinuousIntegration, since individual developer's speed is/was high, continuous integration was necessary and mandatory. How else can you make collective progress. * CollectiveOwnership. It was customary in the MIT hacking community to give ''everyone'' root or admin rights. Everyone could do anything and/or modify any part of the code in a project. * IterativeDevelopment, was natural since development was short-term goal-oriented ---- The HistoryOfExtremeProgramming acknowledges SeymourPapert's and AlanKay's contributions and therefore (indirectly) Lisp's. A ForthVsLisp digression, but see also ForthValues. ---- Lisp (3rd ed.) by Winston and Horn, sometime between 1980 and 1988: ''"Applications programming: Talented programmers find that Lisp can increase their productivity enormously, enabling them to write big programs much faster and far less expensively. This can have dramatic effects on the way big programs are developed. The old way was to start with multiyear periods of specification, followed by multiyear periods of implementation, leading to systems that produce disappointed, cranky users. The new way is to have prototypes up in a few months, with specification and implementation evolving together, with users constantly helping to shape the final results."'' The Lisp Experience, Erik Sandewall, 1978: ''For bottom-up program deveopment, it is desirable to be able to test procedures as they are developed. [...] The observed behavior of Lisp users indicates that top-down programming can be done not only using stepwise refinement, but often in a better way, through what has been called here ''structured growth'', which is a relatively disciplined way of ''changing'' one's programs.'' Incidentally, something else which might interest Lisp users from Winston & Horn: ''"Systems programming. Lisp machines are high-powered workstations programmed from top to bottom in Lisp. The operating system, the user utility programs, the editors, the compilers, and the interpreters are all written in Lisp, demonstrating Lisp's power and versatility."'' See also LispMachinesAreComingBack ----- CategoryAgileMethodology; CategoryLisp