Extreme programming, usually known as XP (no relation to either Windows XP nor to the Athlon XP) fascinates me. Every time I read about it I want to be doing it: having lots of tests which run quickly; refactoring frequently; working on simple, and verifiable, stories. It sounds very seductive.
The impression I have about XP is that it harnesses the power of simplicity. Its profound strength is that each element and each step is simple, but that they are applied consistently and frequently to produce a flexible and complex result.
I wouldn't want to compare it too closely to emergent behaviour in a complex system because XP is both deliberately constructed and goal-oriented, but there are parallels: both operate by the interaction of a relatively few simple rules, and both function best when adapting to the present.
Despite my excitement at the ideas of XP I still feel reluctance to engage in it. I think this is because in the first instance I would be doing it on my own (and one of the core practices of XP is pair programming), and secondly that I just don't know where to start in the practice of writing tests first!
The standard procrastination excuses, in other words. Time to get on with it.
Posted by Dunx at January 13, 2003 11:15 PM
I guess you would have to start with a Spike. It's been a couple of years since I last touched my XP books, but that is one of the ideas that more or less stuck.
That's a good plan, although my reading on Spikes suggests they'd work best on new things. It's not that I have no new things to work on, but not the time to do so!
I'll probably begin by getting some tests going for some web libraries, then at least I'll have some good regressions to work with to see whether changes I'm making break things.