International Journal of Computer Science and Telecommunications [Volume 8, Issue 2, March 2017] 1 Journal Homepage: www.ijcst.org Faiza Anwer 1 , Shabib Aftab 2 , Syed Shah Muhammad Shah 3 and Usman Waheed 4 1-4 Department of Computer Science, Virtual University of Pakistan 1 faiza.anwer28@gmail.com, 2 shabib.aftab@gmail.com AbstractSince last two decades, agile software development methodologies have been one of the most debating topics for researchers. These are called light weight development methods because of informal, adaptive and flexible approach. These models are based on the collection of best practices which help to handle problems related to changing requirements, customer satisfaction, and product quality. A number of agile models are available to meet the needs of different projects. However Extreme Programming and Scrum are two most familiar and commonly used models. This study makes a valuable contribution by exploring these models in detail. In this paper a detailed comparison of Extreme programming and Scrum is conducted to find their similarities, differences and explores those features which complement each other. Index TermsExtreme Programming, Scrum, Agile Models and Comparison I. INTRODUCTION GILE software development methodologies provide an iterative and evolutionary development paradigm with more emphasis on changing requirements, customer satisfaction, and team collaboration [1]. These methodologies emerged in 2001 in response to limitations of plan driven methodologies [1]. High rate of failed, cancelled and delayed projects forced software practitioners to reconcile the development principles and practices. Agile models are actually collection of best practices and principles of software engineering. These principles may not be new for software industry but in agile modeling these are used with different approach that makes them more flexible and adaptive during development. These agile principles can accommodate rapid software development needs. Due to their simplicity, flexibility, and suitability to present needs of software development, agile models are getting popularity from last few decades. Many agile models like Extreme programming (XP), Scrum, Feature driven development (FDD), Dynamic system development method (DSDM), Kanban, Lean software development (LSD), Adaptive software development (ASD) are available. Extreme Programming (XP) and Scrum are most widely used agile models especially for small scale projects. These are called light weight development methodologies because of excluding formal activities from development process for the sake of simplicity and agility. Both of these models have some common and contrasting features. This study is conducted to explore and compare them in detail. This comparison provides a deep insight about these two methodologies that will greatly helpful for developers and researchers. Rest of the paper is organized in following sections; Section II and III explain extreme programming and scrum in detail respectively. Section IV provides a detailed comparison of these two methodologies. Section V presents critical analysis and section VI finally concludes this paper. II. EXTREME PROGRAMMING Extreme programming (XP) is an agile software development methodology developed by Kent Beck in 1996 while working on a C3 payroll project. Later in 1999, Kent Beck published his book “Extreme Programming Explained” to present a refined form of XP. It is a lightweight, more flexible and low risk disciplined approach of software development with ability to manage vague or rapidly changing requirements [2]. It is considered more suitable for small and medium sized teams [3]. XP is a collection of values, principles and practices that are applied in a disciplined way [4]. It is called “Extreme Programming”, because of the fact that it took those practices to extreme which were considered helpful in developing high quality software [5]. XP accentuate greatly on customer satisfaction. Rapid feedback and frequent releases help in managing the defects near to its origin. Lower defect rate reduce the cost of development and result in a more acceptable final product at lower cost. A. XP Phases Whole development process consists of six phases: Exploration phase, Planning phase, Iteration to release phase, Productionizing phase, Maintenance phase and Death phase Fig. 1. A Comparative Analysis of Two Popular Agile Process Models: Extreme Programming and Scrum ISSN 2047-3338