In this paper, a comparison of the Rational Unified Process (RUP) and Extreme Programming (XP) is discussed from a practical perspective. The paper starts with a short introduction to both software development methodologies and is followed by a description of similar research comparing XP and RUP. The aforementioned comparisons are from a more theoretical perspective. Therefore, this paper continues with a contribution comparing both methodologies from a practical perspective. The conclusion of the similar comparison research is that XP and RUP are very different. After adding comparisons from a practical perspective however, the conclusion is that XP and RUP are in fact very similar when it comes to end result and usage.
This paper has been written as part of an Informatics course on writing scientific papers at the Open University of The Netherlands. It will discuss a comparison of the software development methodologies Extreme Programming (XP) and the Rational Unified Process (RUP). The goal is to provide the reader with a better understanding of these two methodologies from a practical point of view. To do so, this paper will provide a short introduction on both software development methodologies XP (section II) and RUP (section III). Afterwards, the paper will discuss in more depth, relations between RUP and XP in the form of comparisons. Section III will start by mentioning similar research, based on theoretical matters, by other researchers. The section will end with a comparison discussion from a more practical perspective: SW-CMM adherence (a model detailing how mature a methodology is), quality of the end products, effect on teamwork, ability to adapt to a different scale and effect on the outcome of a project. Through this, this paper hopes to contribute a new overview on both XP and RUP. Section IV will provide details about the related work and lastly, section V will contain the conclusion.
Extreme Programming (XP) was first written about in 2000 by Beck (Beck 2000). It is a lightweight software development methodology developed for small teams (two to ten developers) that have to deal with vague and changing requirements (Beck 2000). Furthermore, it is a methodology that adheres to the agile software development principles. (Wood 2013), (Boehm 2002), (Sfetsos 2006), (Estler 2014).