The Roots of XP

Nov 20th, 2002 by Tony in Questioning XP

Although it is not very evident in much of the Java-centric literature that surrounds XP, it owes most of its heritage to ideas from the Smalltalk world. Even in the 1980s, Smalltalk had powerful, expressive class libraries and a forgiving, flexible, powerful, and productive development environment. The Smalltalk environment encourages developers to be fearless because it is so forgiving. It really encourages incremental design and development because you know there is no way that you can “paint yourself into a corner.”

In sharp contrast to this, I distinctly remember trying to get stuff right the first time when working in C++ in the early 1990s because it was such a pain to change things later. Renaming methods and classes to make them more expressive was not something we consciously thought of because it was so hard to do.

Although XP has grown beyond its roots in the Smalltalk culture, it still embodies the idea that, given good tools, programs are easy to change and that applications can be understood by reading the source code. This is in sharp contrast to the traditional software development experience that programs are notorious hard to change and the code is so convoluted that separate documentation is necessary to make any sense of the application.

— Pete McBreen, Questioning Extreme Programming, Chapter 2

No Comments