Extreme programming is an interesting methodology for application development. I don’t agree with all of the suggested practices, but it certainly sounds like an interesting starting point for building high quality applications rapidly. I particularly like the idea of writing unit tests before writing the actual functionality to be tested.