The Role of Customers in Extreme Programming Projects
Total Page:16
File Type:pdf, Size:1020Kb
View metadata, citation and similar papers at core.ac.uk brought to you by CORE provided by ResearchArchive at Victoria University of Wellington THE ROLE OF CUSTOMERS IN EXTREME PROGRAMMING PROJECTS By Angela Michelle Martin A thesis submitted to the Victoria University of Wellington in fulfilment of the requirements for the degree of Doctor of Philosophy In Computer Science Victoria University of Wellington 2009i The Role of Customers in Extreme Programming Projects ABSTRACT eXtreme programming (XP) is one of a new breed of methods, collectively known as the agile methods, that are challenging conventional wisdom regarding systems development processes and practices. Practitioners specifically designed the agile methods to meet the business problems and challenges we face building software today. As such, these methods are receiving significant attention in practitioner literature. In order to operate effectively in the world of vague and changing requirements, XP moves the emphasis away from document-centric processes into practices that enable people. The Customer is the primary organisational facing role in eXtreme Programming (XP). The Customer's explicit responsibilities are to drive the project, providing project requirements (user stories) and quality control (acceptance testing). Unfortunately the customer must also shoulder a number of implicit responsibilities including liaison with external project stakeholders, especially project funders, clients, and end users, while maintaining the trust of both the development team and the wider business. This thesis presents a grounded theory of XP software development requirements elicitation, communication, and acceptance, which was guided by three major research questions. What is the experience of being an XP Customer? We found that teams agree that the on-site customer practice is a drastic improvement to the traditional document-centric approaches. Our results indicate, however, that the customers are consistently under pressure and commit long hours to the project in order to fulfil the customer role. So while this approach to requirements is achieving excellent results, it also appears to be unsustainable and thus constitutes a great risk to XP projects. Who is the XP Customer? The initial definition of XP resulted in many people interpreting the on- site customer to be a single person. This research has highlighted that a customer team always exists, and goes further to outline the ten different roles that were covered on the team, which range from the recognised “Acceptance Tester” role to the less recognised roles of “Political Advisor” and “Super-Secretary”. What are the practices that support an XP Customer to perform their role effectively on a software development project? An additional eight customer-focused practices have been uncovered to supplement the existing XP practices. These customer-focused practices together enable customers to sustainably drive XP projects to successful completion. The practices range from those that specifically focus on interaction (both with the programmer team and the larger organisation) e.g. “Programmer On-site” and “Roadshows” to those that specifically look to the well-being and effectiveness of the customer (e.g. “Pair Customering”) to those that highlight the key steps or activities that need to occur along the way (e.g. “Big Picture Up-Front” and “Re- calibration”). Angela M. Martin Page 2 of 150 The Role of Customers in Extreme Programming Projects ACKNOWLEDGEMENTS “We will surely get to our destination if we join hands” Aung San Suu Kyi Completing this thesis has involved many “hands” and I would like to take a moment to express my gratitude and acknowledge the significant contributions made by so many to the development of this thesis. Eleven organisations invited me into their XP projects and allowed me to explore their implementation of the on-site customer. Thank you for taking the time to share your experiences and insights with me. It is no exaggeration to say that this thesis would not exist without the contribution of these companies and the sixty individuals who participated throughout the interview and observation process. A number of people within the agile community have encouraged me in this research. Many have provided introductions to companies who would later become case studies. Many more have allowed me to discuss and reflect on the theory with them as it emerged, and more recently reminded me to complete my thesis before our next meeting. Thank you to each of you, your encouragement over the years has been greatly appreciated. Research is often considered a solitary activity, and while this is largely true, I have gained much from discussing research ideas and progress with my research peers, including: Rilla Khaled, Pippin Barr, Alex Potanin, Craig Anslow, Elizabeth Whitworth and Sonia Chiasson. Good thesis advisors are hard to find. I have been very fortunate. Robert Biddle and James Noble have been my advisors, guides and mentors, always supporting me on this journey, and encouraging me to go just one-step further. Robert and James somehow found the patience to review yet another draft paper, chapter, or presentation, and without fail, just as my confidence was lagging they knew just the right words to say to help me carry on. Somehow together we have travelled further than I ever believed possible, thank you. I would like to acknowledge the enormous contribution made by my father, Graeme Martin. Since I was little he has encouraged me to follow my dreams; nothing was ever impossible as long as I put my mind to it and worked hard. I suspect that this thesis may never have even been started without his encouragement, and it might never have been completed without his regular (at one point daily) supportive phone calls. Thank you, your support over the years, has meant more to me than my words here can convey. Finally, I would like to thank Dr Peter Komisarczuk (Victoria University of Wellington), Dr Rick Mugridge (Rimu Research Limited) and Professor Helen Sharp (The Open University) for their time and attention in reading and examining this thesis. Angela M. Martin Page 3 of 150 The Role of Customers in Extreme Programming Projects TABLE OF CONTENTS 1. INTRODUCTION........................................................................................................................7 1.1 THE PROBLEM................................................................................................................. 7 1.2 THE CONTEXT................................................................................................................. 7 1.3 FINDING A PROPOSED SOLUTION ................................................................................... 8 1.4 STRUCTURE OF THE THESIS ............................................................................................ 8 1.5 PREVIOUS WORK CREDITED........................................................................................... 9 2. REVIEW OF THE LITERATURE .........................................................................................10 2.1 THE AGILE MANIFESTO ................................................................................................ 10 2.2 AN INTRODUCTION TO XP............................................................................................ 12 2.3 SOFTWARE DEVELOPMENT PROCESSES RESEARCH: A NEW DIRECTION .................... 15 2.4 USERS IN THE SOFTWARE DEVELOPMENT PROCESS .................................................... 17 2.5 XP CASE STUDIES......................................................................................................... 18 2.6 OTHER AGILE REQUIREMENT PRACTICES.................................................................... 19 2.7 TRADITIONAL ANALYSIS AND REQUIREMENTS ........................................................... 20 3. RESEARCH METHOD: GROUNDED THEORY ................................................................23 3.1 WHAT IS GROUNDED THEORY?.................................................................................... 23 3.2 WHY IS GROUNDED THEORY APPROPRIATE FOR THIS STUDY? .................................... 23 3.3 WHICH RESEARCH PERSPECTIVE WILL BE USED?........................................................ 24 3.4 WHO IS THE RESEARCHER (AND WHY IT MATTERS)..................................................... 24 3.5 HOW WILL WE USE LITERATURE? ................................................................................ 25 3.6 HOW WE GAINED ACCESS TO XP PROJECTS ................................................................ 26 3.7 HOW WE COLLECTED THE DATA................................................................................... 27 3.8 HOW WE ANALYSED THE DATA ................................................................................... 29 3.9 HOW WE VERIFIED THE THEORY? ................................................................................ 30 4. OVERVIEW OF THE CASES.................................................................................................32 4.1 PROJECT ENDEAVOUR, KIWICORP ............................................................................... 33 4.2 PROJECT DISCOVERY, RAVENCORP ............................................................................. 33 4.3 PROJECT ATLANTIS, EAGLECORP ................................................................................ 34 4.4 PROJECT PINTO, FALCONCORP....................................................................................