The Effects of Individual XP Practices on Software Development Effort S. Kuppuswami, K.Vivekanandan, and Prakash Ramaswamy, Paul Rodrigues Dept. of Computer Science Dept. of Computer Science & Engg. Nature Soft Pondicherry University and Information Technology Chennai Pondicherry – 605 014 Pondicherry Engineering College India India Pondicherry India skswami@yahoo.com kvivek27@yahoo.com , prakram@vsnl.com paul_r@naturesoft.net Abstract Traditional heavyweight software development methodologies are rigid, heavily documentation oriented and process oriented. In the present E-Business dominated environment, the above methodolo- gies are hard to follow. In response to this, a new generation of lightweight methodologies such as Extreme Programming (XP) has evolved which has only a few simple rules to adopt, and insist on less documentation. XP proposes four values, a development process and twelve practices. One of the significant benefits among those claimed by the inventors of XP is the reduction of effort in the software development. However, the extent of ful- fillment of this claim remains unanswered by empirical and quantitative evidences. Hence, the effects of XP on software development effort are to be investigated. In this study, we devel- oped a process simulation model to analyze the effects of individ- ual XP practices on development effort. System dynamics based simulation, an effective modeling technique for software devel- opment process was chosen. This model has accounted for all the twelve practices and processes of XP. We have also introduced a measurement scale for measuring the level of usage of individual XP practices. The factors that affect the cost are collected from literature and a few XP project managers. The process model was simulated for a case study of a typical XP project to investigate the effects of individual XP practices on development effort by vary- ing their usage levels. The decrease in percentage of the develop- ment effort for each XP practice when its usage level is varied from minimum to maximum during which all the other practices were maintained at a constant usage level was found. The decrease in percentage of the development effort for each XP practice when its usage level is minimum and maximum was computed and is given below. (i) Planning game - 2.67% (ii) Small Release - 2.67% (iii) Metaphor - 2.01% (iv) Simple design - 2.5% (v) Con- tinuous Testing - 2.88% (vi) Refactoring -0.677% (vii) On-site Customer - 5.48% (viii) Pair programming - 4.4% (ix) Collective Code Ownership – 4.82% (x) Forty Hours Per Week - 2% (xi) Coding Standard - 4.82% (xii) Continuous Integration - 1.13%. The finding of the present study on the effects of individual XP practices depicts a reduction in software development effort by enhancing their usage levels. Keywords: Extreme Programming (XP), software development effort, process model, system dynamics. 1.0 Introduction Software plays an important role in the modern world. The devel- opment of software has always been regarded as a difficult task. Different development methodologies have been proposed by the researchers to guide the software development process as a whole. They are waterfall, prototype, iterative, rapid application devel- opment, and spiral model based methodologies [1]. These meth- odologies impose lot of rules for the developers to follow. In the evolution process of these methodologies, they have become rigid, heavily documentation oriented and process oriented, and hence they are called as heavyweight methodologies. In the present E-Business dominated environment, the rules of heavyweight methodologies are hard to follow. The procedures of heavyweight methodologies are also complex and not well under- stood. The effort spent on documentation goes waste, as they are never referred. This leads to a situation where there is no control over the following development parameters: cost, time, and quality [2]. In response to this, a new generation of methodologies has evolved such as Extreme Programming (XP), Scrum, Crystal Families of Methodologies, Feature Driven Development, Agile Rational Unified Process, Dynamic System Development Method, Adaptive Software Development and Open Source Software De- velopment [3]. These methodologies are known as agile or light- weight methodologies because they have few simple rules to adopt, and insist on less documentation. Among the above methodologies, eXreme Programming (XP) is one of the earliest and important agile methodologies. XP as a methodology proposes four values, a development process and twelve practices. The inventors of XP claimed that many benefits can be achieved by choosing XP as software development meth- odology. One of the important benefits is the reduction of the soft- ware development effort. However, questions about the extent to which XP has fulfilled its claims on development effort are answered more by intuitive feelings[4] [5] [6] and experience re- ports [7] [8], than by empirical and quantitative evidences. Intui- tion may provide a starting point, but it needs to be supported with empirical evidence. It has been empirically found that the one of the important practice of XP, the pair programming increases the productivity by 15%.[9]. However, the effects of other practices on software development effort have not been studied. Hence, the present research work has been undertaken to investigate the effects of XP, specifically all the twelve practice of XP on soft- ware development effort quantitatively when XP development process is adopted. Survey, case studies, controlled experiments, executable process, cost estimation and simulation models can be used for investigat- ing the effects of XP practices on software development effort [10]. Out of the above investigation methods, the simulation is found to be more suitable for investigating the effects of XP on software development effort as other methods have constraints [11]. We have chosen System dynamics based simulation out of many existing simulation techniques because it models software 1