I am a fan of extreme programming (XP) though as with most things I am pragmatic. XP needs to be used in the context of a responsive customer. In that environment it can stengthen the development process.
Some Links