Extreme programming: All of the elegance but none of the models?

Extreme programming (XP) is a software development methodology which is becoming increasingly popular, but about which there remain many unanswered questions. The current research on XP mainly focuses on academic studies or experience reports which do not question ‘how’ and ‘why’, but simply ‘whether’ the various techniques work. This paper suggests the investigation of three areas in order to obtain further insight into how XP might work. These areas are: External representations; metaphor and pair programming. It then suggests a design for an observational study to consider each of these in the hope of furthering our understanding from a cognitive perspective.