IJCSNS International Journal of Computer Science and Network Security, VOL.18 No.3, March 2018 161 Empirical Comparison of XP & SXP Faiza Anwer†, Shabib Aftab†, Muhammad Salman Bashir†, Zahid Nawaz††, Madiha Anwar††, Munir Ahmad† †Department of Computer Science, Virtual University of Pakistan ††Department of Computer Science, University of Gujrat, Lahore Campus, Pakistan Summary Extreme Programming (XP) is a renowned agile model, commonly used for small scale projects. It uses an iterative approach for software development, assisted with agile practices used in extreme manner. Although XP provides the opportunity to handle shortcomings of traditional software development models however it is not exempt from limitations. Lack of proper design, no documentation and poor architectural structure are some of its drawbacks. Furthermore, some of its practices like on-site customer and pair programming are not beneficial in every situation and may cause an extra burden on development process. Simplified Extreme Programming (SXP) process model was proposed to cover these problems without affecting the agility of development process. This paper compares classical XP and proposed SXP with the help of empirical case studies. Key words: Agile Models, Extreme Programming, XP, SXP, Modified XP, Comparative Analysis, Empirical Comparison. 1. Introduction Agile software development methodologies provide light weight, iterative and incremental way of software development with evolutionary principles and values [1],[2],[3],[34]. These methodologies emerged in 2001 while the software industry was looking for better software development processes, which could mitigate the project’s failure risks and also meet the needs of new business environment [2],[4],[5]. Agile methodologies changed the development paradigm and explored the hidden aspects of software development to get better results. These methodologies deeply valued good team collaboration, frequent customer interaction and change in requirements with constant pace of development [5],[6],[34]. Agile methods are the collection of best software engineering practices and values used to cope with challenges of delayed, canceled or failed projects [1] [31],[33],[35]. Although most of these practices were not new for the software industry, however in agile umbrella these are used in a novel manner and the encouraging results of these practices convinced the software developers to use agile models to handle software failure risks [6],[7]. Today, many agile software development models are used by software industry such as Extreme programming (XP), Scrum, Feature driven development (FDD), Dynamic system development method (DSDM), Kanban, Lean software development (LSD) and Adaptive software development (ASD). Extreme programming (XP) is one of the widely used agile models [3]. It was developed by Kent Beck to overcome the limitations of traditional software development methodologies. It consists of principles, values and practices, which work together rigorously to develop high quality software [6],[8],[9]. Like other agile methods, XP provides a flexible and adaptive approach which can handle the changing business needs in a better way. Its twelve practices provide guidelines to govern the whole development process. With all the advantages XP provides, it lacks in some areas as well. Poor architecture, weak system design and lack of documentation are the major issues with XP [10],[11]. Moreover some of its practices like ‘pair programming’ and ‘on-site customer’ are little bit controversial and are not applicable in every situation [12]. Pair programming needs mutual understanding, common skills, personality traits and good coordination among developers [11], [13]. It is also possible that particular project does not have enough resources to use pair programming practice. Similarly, the practice of on-site customer can cause serious issues if not implemented properly [11],[12],[13]. Customer presence can cause problems if he does not understand the system requirements properly. To tackle the mentioned issues of XP, SXP [14] was proposed for small to medium scale projects. This paper performs an empirical comparison of conventional XP and SXP with the help of case studies. Both models are used to develop client oriented projects and extracted empirical data of development is used for comparison. Further organization of this paper is as follows. Section 2 describes the various attempts of XP customizations. Section 3 provides brief overview of XP & SXP. Section 4 compares both the models with empirical analysis. Section 5 finally concludes the paper. 2. Related Work Many researchers have discussed and customized the XP model, some of the selected studies are discussed here. In [32], researchers presented a customized form of XP named Tailored Extreme Programming (TXP). The proposed model was designed specifically for small scale projects where requirements have fewer tendencies to change. In [15], authors proposed a customized version of XP model which introduced the feature of reusability. Proposed model used a framework which added the ability of component based architecture refinement reusability in traditional XP. This framework provided a way to develop simple and loosely coupled design which has made the future modifications easy. Researchers in [16] customized the XP model and introduced parallel refinement iteration along with development activities to enhance quality without affecting the agility. Proposed model is not suitable for software projects having a lot of interdependencies among modules. In [17], researchers Manuscript received March 5, 2018. Manuscript revised March 20, 2018.