How to Get the Most out of Extreme Programming/Agile Methods
Lecture Notes in Computer Science
This paper reports the results of an analysis of thirty-one extreme programming (XP)/agile methods early adopter projects completed by fourteen firms who have embraced the techniques in the form of lessons learned. The survey results show that early adopters have cut costs, improved productivity and reduced time to market through the use of these methods. To get the most from these methods, fifteen lessons learned have been developed that build on the experiences of others. Several of these
... ons run counter to the teachings of the methodology developers. The paper next provides a scorecard that rates XP's performance in eight application domains. The paper concludes by summarizing four critical success factors for early adopters. Introduction The software industry seems to be embracing yet another change in the way it does business. Because of their emphasis on agility and time-to-market, many software shops have made the move to extreme programming/agile methods. Such methods focus on building working products instead of the documents and formal reviews that are frequently used to demonstrate progress in more classical developments. To implement these methods adherents embrace XP practices like pair programming, refactoring and collective code ownership to generate their products. These releases, which are working versions of the product, not prototypes, are used to demonstrate functions and features to stakeholders who help shape their form through refactoring  and continuous integration. Initial reports from the field from early adopters about extreme programming/agile methods are encouraging. However, as is the case with anything new, some practices work better than others and some don't seem to work well at all. The purpose of this paper is to address what works in practice by summarizing the initial experiences of early adopters in the form of lessons learned. The paper's goal is to help those contemplating the move to XP/agile methods to take advantage of the experience of others as they try to use these practices productively. The Survey A survey was conducted to determine if extreme programming methods have merit and if they cut costs, reduced time-to-market and impacted product quality. The survey was conducted across eight segments of the industry . The four goals that were established for the survey were: 1. Determine what practices early adopters of agile methods were using. 2. Assess the scope and conditions governing their use. 3. Assess the cost/benefits associated with their use. 4. Identify lessons learned relative to getting the most from their use. The approach used in the survey was question and answer. The questionnaire was structured using project phases to glean what early adopters felt were the most important experiences. We also tried to gather hard data to determine cost/benefits. The questionnaire was sent to software managers in eight industry groupings who responded to the original call for information. Verification of findings was achieved via selective interviews and data analysis.