Extreme Programming (XP) is an agile (lightweight) software development methodology and it becomes more and more popular. XP proposes many interesting practices, but it also has some weaknesses. From the software engineering point of view the most important issues are: maintenance problems resulting from very limited documentation (XP relies on code and test cases only), and lack of wider perspective of a system to be built. Moreover, XP assumes that there is only one customer representative. In many cases there are several representatives (each one with his own view of the system and different priorities) and then some XP practices should be modified. In the paper we assess XP from two points of view: the Capability Maturity Model and the Sommerville-Sawyer Model. We also propose how to introduce documented requirements to XP, how to modify the Planning Game to allow many customer representatives and how to get a wider perspective of a system to be built at the beginning of the proje...
Jerzy R. Nawrocki, Michal Jasiñski, Bartosz