• Extreme Programming
2016
Agile development methodologies are emerging in the software industry. In this chapter, we provide an introduction to agile development methodologies and an overview of four specific methodologies:
Cited by 0
Read the abstract, see who wrote it and who cites it, and get the citation in APA, MLA, Chicago or Harvard.
About 10,000 papers for “Extreme programming”
2016
Agile development methodologies are emerging in the software industry. In this chapter, we provide an introduction to agile development methodologies and an overview of four specific methodologies:
Cited by 0
Fabrizio Fioravanti · IGI Global eBooks · 2011
One of the emerging techniques that is becoming increasingly popular for managing software project is eXtreme Programming (XP) (Beck, 1999, 2000; Williams, 2000). XP surely changes the way in which we develop and manage software, as all the other methodologies related to the Agile Manifesto do (Agile Alliance, 2001; Boehm, 2002; Cockburn, 2001; Highsmith, 2001; Rakitin, 2001). XP has been the methodology that I have adopted in recent years to develop and manage software projects — before modifying it in order to create my own methodology, ADPD (Agile and Defined Project Development), which is described in Chapter XI. In order to understand ADPD, it is necessary to acquire all the possible knowledge about XP, since ADPD is XP 80% and recognizes quite all the values of this revolutionary technique for developing and managing software projects. The most interesting feature of XP consists in the fact that it is human oriented (Brooks, 1995). XP considers the human factor as the main component for steering a project toward a success story. On the other hand, it is important to notice that XP is guided by programming rules, even if its more interesting aspects deal with the values that are the real guides for the design, development, and management processes.Request access from your librarian to read this chapter's full text.
Cited by 0
K. Beck · 1999
Summary form only given, as follows. Extreme Programming (XP) is a lightweight design method developed by Kent Beck, Ward Cunningham, and others. After notable successes, XP has been generating huge interest, and no small amount of controversy. Much of the interest stems from XP's pragmatic approach to development. Key practices include pair programming, writing tests upfront, frequent refactoring and rebuild, continuous integration and testing. Key principles incremental and iterative development, working with the simplest solution, cutting out extraneous documentation, and collective code ownership.
Cited by 51
Jim Highsmith · 2000
Cited by 0
Ieee November December · 2007
this article, I summarize both XP and the SW-CMM, show how XP can help organizations realize the SW-CMM goals, and then critique XP from a SW-CMM perspective
Cited by 0
LINDBERG, HARRI · Trepo - Institutional Repository of Tampere University · 2013
Tutkimusten mukaan ohjelmistoprojektien onnistumistodennäköisyys ei ole hyvä. Projektit myöhästelevät ja ylittävät aikataulunsa. Ohjelmistoprojektien hallintaan on käytetty perinteisiä menetelmiä kuten vesiputousmallia, mutta niiden noudattaminen hyvinkään dokumentoidun laatujärjestelmän puitteissa ei useinkaan auta projektipäälliköitä.\n\nMuutaman viime vuoden aikana on keskusteltu uusista projektinhallintametodologioista, joilla näitä ongelmia voitaisiin välttää tai vähentää. Näistä eniten esillä on ollut Extreme Programming, josta käytetään myös yleisesti lyhennystä XP. Tämän tutkimuksen tarkoituksena on tutustua kyseiseen metodologiaan sekä vertailtu sitä perinteisiin metodologioihin. Tarkastelu tapahtuu etupäässä projektipäällikön näkökulmasta, mutta esiin on tuotu myös ohjelmoijien, asiakkaan ja johdon näkökulmia. Lopussa on esitetty projektimalleja, joiden toteuttamisessa XP:stä saattaisi olla apua. Toisaalta tarkoituksena on ollut myös suhtautua XP:hen terveen kriittisesti ja etsiä siitä mahdollisimman luotettavaa tietoa, jotta tiedettäisiin, milloin sen käyttö ei ole järkevää. Myös tällaisia projektimalleja ja reunaehtoja on esitetty tutkimuksen lopussa.\n\nAvainsanat ja -sanonnat: Extreme Programming, projektinhallinta, ohjelmistokehitys.\n\nCR-luokat: K.6.3, K.6.1, D.2.9.
Cited by 0Open access
Sergey Konovalov, Stefan Misslinger · 2006
Cited by 0
Lajunen, Akseli · Jyväskylä University Digital Archive (University of Jyväskylä) · 2007
Tietojärjestelmätieteen kandidaatintutkielma Jyväskylä: Jyväskylän yliopisto, 2007. 45 s. Tässä tutkielmassa esitellään Extreme Programming prosessinhallintamenetelmä ja kuinka se vastaa ohjelmistotuotannossa esiintyviin ongelmiin. Ohjelmistotuotannossa yleisesti esiintyviä ongelmia ovat aikataulujen ja resurssien ylittyminen, liiallinen virheiden määrä ja ohjelmiston vaatimuksien muuttuminen kesken projektin. Extreme Programming on pienille tai keskisuurille projekteille sopiva ketterä prosessinhallintamenetelmä, joka sallii epämääräisesti määritellyt vaatimukset sekä niiden muuttumisen ohjelmiston elinkaaren aikana. Se panostaa runsaan dokumentoinnin sijaan kommunikaatioon ja tiiviiseen yhteistyöhön asiakkaan kanssa.
Cited by 0
Chris Loftus, Mark B. Ratcliffe · ACM SIGCSE Bulletin · 2005
Extreme programming (XP) is an agile methodology claimed to promote the rapid development of software systems, enabling the accommodation of changing customer requirements during the project lifecycle without excessive cost penalties. The mechanisms used to achieve this require the software development team to maintain accurate tacit knowledge through extensive face-to-face communication and peer learning. This characteristic of XP, the authors argue, makes it a suitable tool in the teaching of new technologies to software engineering students. This is borne out by feedback from a group of fourth-year Master of Engineering (MEng) software engineering undergraduate students who undertook an XP-based project as part of their course. Furthermore, the authors argue that the methodology is best taught in its full form through group project work. This is most effective when undertaken in the latter years of a computer science or software engineering course, after the students have been exposed to more traditional, plan-based methodologies.
Cited by 3
Kent Beck, Martin Fowler · CERN Document Server (European Organization for Nuclear Research) · 2000
From the Publisher: XP is the most important movement in our field today. I predict that it will be as essential to the present generation as the S.E.I. and its Capability Maturity Model were to the last. From the foreword by Tom DeMarco The hallmarks of Extreme Programmingconstant integration and automated testing, frequent small releases that incorporate continual customer feedback, and a teamwork approachmake it an exceptionally flexible and effective approach to software development. Once considered radical, Extreme Programming (XP) is rapidly becoming recognized as an approach particularly well-suited to small teams facing vague or rapidly changing requirementsthat is, the majority of projects in today's fast-paced software development world. Within this context of flexibility and rapid-fire changes, planning is critical; without it, software projects can quickly fall apart. Written by acknowledged XP authorities Kent Beck and Martin Fowler, Planning Extreme Programming presents the approaches, methods, and advice you need to plan and track a successful Extreme Programming project. The key XP philosophy: Planning is not a one-time event, but a constant process of reevaluation and course-correction throughout the lifecycle of the project. You will learn how planning is essential to controlling workload, reducing programmer stress, increasing productivity, and keeping projects on track. Planning Extreme Programming also focuses on the importance ofestimating the cost and time for each user story (requirement), determining its priority, and planning software releases accordingly. Specific topics include: Planning and the four key variables: cost, quality, time, and scope Deciding how many features to incorporate into a release Estimating scope, time, and effort for user stories Prioritizing user stories Balancing the business value and technical risk of user stories Rebuilding the release plan based on customer and programmer input Choosing the iteration length Tracking an iteration What to do when you're not going to make the date Dealing with bugs Making changes to the team Outsourcing Working with business contracts In addition, this book alerts you to the red flags that signal serious problems: customers who won't make decisions, growing defect reports, failing daily builds, and more. An entire chapter is devoted to war stories from the trenches that illustrate the real-world problems many programmers encounter and the solutions they've devised.
Cited by 491
MARCHESI, MICHELE, SUCCI G., WELLS J. D. et al. · UNICA IRIS Institutional Research Information System (University of Cagliari) · 2002
Cited by 6
Pete McBreen, Kent Beck · CERN Document Server (European Organization for Nuclear Research) · 2002
From the Book: Extreme Programming sounds great—can we do it without changing our process? When I first heard about Extreme Programming in May 1998 I could see that it was going to be controversial. It was immediately obvious from the wide range of reactions that were expressed to two talks given by Kent Beck and Ron Jeffries at a seminar on “Developing Software with Objects” in Oslo. (Hosted by Den Norske Dataforening on 13 May, 1998) Many developers seemed to be attracted to it, but others in the room challenged the ideas and concepts behind Extreme Programming. Personally my reactions were mixed. It sounded like it would be a fun approach to software development and it didn’t sound like it was applicable to the kinds of projects that I was involved in. Admittedly, my initial reservations were about how easy it would be to sell the approach, but as I inquired deeper into Extreme Programming I came to realize that there are fairly stringent preconditions for teams that wish to adopt and use XP. It seems to me that many of the reactions to Extreme Programming can be explained by the fit between these preconditions and the particular project circumstances that a person has experienced. This book sets out to question Extreme Programming in an attempt to understand and explain the controversy that surrounds Extreme Programming. My goal for this book is to allow you, the reader, to determine if Extreme Programming is applicable and appropriate for your projects, to investigate what lessons can be learned from Extreme Programming and to enable you to be more reflective about your software development practices. Before getting down to that I must firstexplain my biases. As a developer I am attracted towards the ideas behind XP, mainly because most of the developers I have talked to that have worked on XP projects have really enjoyed the experience. I am also a strong fan of XP style unit testing and have introduced JUnit (www.junit.org) to many project teams. Although I have never worked on a full XP project, I have worked in a team that initially claimed that it was going to be doing XP, but actually turned out to be doing something that was vaguely related to some of the XP practices. As much as is possible I have tried to present both sides of the debate surrounding Extreme Programming without getting into the continual flame-fest that discussions on usenet newsgroups and email lists often contain. I have written this book as a practical guide for four different audiences: people who are thinking of adopting Extreme Programming people who are resisting the idea of adopting Extreme Programming, people who are looking for alternatives to Extreme Programming people who are interested in improving their current software development process As a practical guide this book is focused on identifying issues surrounding software development and discussing how Extreme Programming interacts with these issues. As this is a practical guide, you will not find much in the way of detailed studies and experimental data. This book focuses on clarifying the issues so that you, the reader, can determine the fit between Extreme Programming and your specific circumstances. Adopting Extreme Programming All processes are situational. Software development is not a mechanical process and as such you will never be able to adopt a process without doing some adapting to fit with your circumstances and team. Before adopting Extreme Programming you need to have a deep understanding of the values that drive it so that the adaptations you make match the overall spirit of XP. This book looks back to the roots of XP to enable you to understand the underlying software development issues so that you can better assess how XP will fit your organization. This book will also expose you to alternate approaches that might be a better fit. Resisting Extreme Programming Extreme Programming is a different kind of software development process, it is one that many programmers actually want to use. All too often however this means that some programmers end up pushing the idea of adopting XP when for one reason or another it does not really fit the organization. This book provides the questions you need to ask to determine whether XP really does fit the needs and circumstances of your organization. Hopefully it will also allow you to identify the issues with your current process that caused XP to be raised as a potential alternative in the first place. Then, rather than shooting the messenger or dismissing the message, the book asks the question “What can we learn from XP?” Looking For Alternatives To Extreme Programming Extreme Programming is a great fit for some projects and organizations, but one size does not fit all. There are many other software development approaches, and with all of the exposure that Extreme Programming is getting, these alternatives are getting somewhat lost. Using an Agile Methodology does not necessarily mean using Extreme Programming. Questioning Extreme Programming attempts to uncover the issues that are driving the creation of new approaches to software development. By exposing these issues I hope to spur software developers and their managers to create alternative approaches that build on the strengths of Extreme Programming while incorporating the strengths of the other approaches. Improving Your Current Software Development Process Adopting a new software development process can be hard. The organization has to learn how to effectively apply the new process and there is the transition period when some projects are using the new process while the rest are still using the old process. Sometimes it just makes sense to retain your existing process and to try to improve it by dropping parts, changing parts and adding new parts. By continually asking the question “What can we learn from XP?” this book highlights different ideas that could potentially be applied within the context of a different process. The resulting hybrid will not be XP, but then again, that is not the goal. By adopting the Extreme Programming mindset of continually reflecting on, and tinkering with, the process, you open up the possibility of creating your own optimized process. Why You Should Read This Book The way that we develop software is changing. Yes, people have always claimed that the IT industry has been a real driver for change, but until recently that change has only really shown up in the hardware and software. The way that we develop software has been remarkably resistant to change. Indeed Watts S. Humphrey spoke for many methodologists in his article, “Why Don't They Practice What We Preach? ” when he said “One of the most intractable problems in software is getting engineers to use effective methods.” http://www.sei.cmu.edu/publications/articles/practice-preach/practice-preach.html Many proponents of Extreme Programming would claim that the problem is no longer intractable - lots of programmers would jump at the chance of using XP. Indeed many developers are very keen to experiment with and try out new ways of developing software. It seems as if developers are beginning to see that things have changed. Jim Highsmith probably summed this up best when he said “We must challenge our most fundamental assumptions about software development.” Highsmith, 2000, p13 Questioning Extreme Programming invites you to take up that challenge. Acknowledgments First I would like to thank Kent Beck, Ward Cunningham and Ron Jeffries for starting the conversation around eXtreme programming. If nothing else they have managed to make software development methodologies interesting again. As usual, the team at Addison-Wesley was extremely supportive and enthusiastic about this projectRoss Venables, Mike Hendrickson, et. al. My reviewers seemed particularly gleeful this time, and although one expressed regrets that the book is not the flame-fest material he hoped for, all helped me to clarify my thoughts about Extreme ProgrammingAlastair Handley, Andy Hunt, Dave Thomas, Greg Klafki, Jens Coldewey, Jim Highsmith, Kent Beck, Miroslav Novak, Ron Jeffries and Rudy Wrench.
Cited by 108
Eckhart Hanser · 2026
Cited by 0
Auerbach Publications eBooks · 2002
Cited by 0
Auerbach Publications eBooks · 2002
Cited by 0
Ron Jeffries, Lisa Crispin, Ken S. Rosenthal et al. · 2002
From the Book: This is a book about being a tester on an Extreme Programming (XP) team. It plugs a gap in the currently available XP materials by defining how an XP tester can contribute to the project, including what testers should do, when they should do it, and how they should do it. We are writing it because we think that XP is a better way to develop software and should be used by more teams. We believe that an acknowledged place in XP teams for and quality assurance will help bring that about. Our goals in this book are to: Convince current XP practitioners that there is a valid role for a tester on the team Convince and quality assurance professionals that XP offers solutions to some of their worst problems Convince both groups that the testers are needed just as much as in an XP project as in a traditional development project Provide enough detail and practical example to allow you to either perform the XP tester role yourself or work productively with a tester on your team, whether you are an XP newbie or veteran, tester, programmer, guide, customer, or manager We hope that if you are not currently using XP, that you can influence your own organization to try it. Even if your team uses some other process for software development, we think you can apply extreme testing practices to add value. Because not everyone will be familiar with XP, we provide an overview of the basic concepts in the introduction, and describe a few aspects in more detail as necessary throughout the text. But this will be a bare-bones summary, at best, and there are several excellent books on the subject, as well as a wealth ofinformation on the Web. The book is divided into three major parts: Part I - The XP Tester Role This is where we define what we think the tester role is (and is not), how a project will benefit from it, what is in it for the tester, and generally why XP needs a tester role. Part II - The XP Test Drive Here we go through an XP project step by step and suggest what goals to shoot for, which activities to engage in, and helpful techniques to try as a tester on an XP project. Part III - Road Hazard Survival Kit Finally we provide some resources to help you cope when the real world doesn't conform exactly to the ideal XP project. Large projects, for instance, where an XP team is imbedded in a larger, non-XP effort, or when critical XP practices are modified or omitted. We've tried to keep the things as practical as possible, and provided real-life examples as well as exercises for you to try it out for yourself. The exercises are built around an XP project to develop a simple web-based tracking application, and we provide portions of the application at various stages for you to practice on. We think you will find this book helpful if you are already a member of an XP team, or if you are a testing/quality assurance professional, or if you are in any software development role and considering XP.
Cited by 66
Eckhart Hanser · eXamen.press · 2010
Cited by 9
Michael Kircher, Prashant Jain, Angelo Corsaro et al. · 2001
One of the key requirements of eXtreme Programming (XP) is strong and effective communication between the team members. To enable this strong level of communication among team members, XP emphasizes the need to have the team members physically located close to each other. However, for various reasons, it may not be feasible to have team members physically located close to each other. To address these situations, we propose a crosscutting idea called "Distributed eXtreme Programming" (DXP), which inherits the merits of XP and applies it in a distributed team environment. Our experiences show that DXP can be both effective and rewarding in projects whose teams are geographically distributed.
Cited by 0
Giancarlo Succi, Michele Marchesi, Laurie Williams et al. · CERN Document Server (European Organization for Nuclear Research) · 2002
From the Book: Welcome to yet another book on Extreme Programming—and Agile Methodologies, of course! Writing a book about new software development methodologies can be a very easy and a very difficult task together. It could be very easy, as you could talk about very generic and high-level vaporware without ever entering details, and backing your approach with statements such as “it requires customization,” “no silver bullets,” and other politically correct statements. You could take the completely opposite approach, and still have a fairly easy task if you have ever run a project with your methodology. You could enter a detailed description of what you did, distilling a complete approach around your individual idiosyncrasies. Best would be if you add something esoteric, such as typing into the keyboard with only the right hand, and using the left to hold a silk napkin with whom you would clean your sweater every other minute. This is not because software authors are bad by nature. We should remember that in the early days of the studies in electronics, the equation for the resistor was awfully complex, with lots of terms which were really insignificant. Nowadays, it is a simple algebraic division: R=V/I. However, writing about a new methodology becomes dreadfully difficult if you aim at creating something really valuable for the reader, combining the limited theoretical understanding with the limited experimental evidence, and avoiding a terse language. This book takes this latter approach. We combine an overview of XP, from the hand of the people who proposed it, description of experiences in specific areas yet unclear and subjectto debate, and an empirical evaluation of how XP projects are progressing in software companies. The first section is the overview of the methodology. We assume that you have already read the cult books, Kent’s, Martin’s, Ron’s, Jim’s, etc. So we summarize all the foundations in one chapter, by Don. In Chapter 2, Jim Highsmith presents the essence of “Agility.” This insightful chapter goes in the depth of Agile Methodologies and explains the rationale behind any agile proposal. The large number of Agile Methodologies may disorient software managers and engineers. To this end, Michele provides guidelines to select which among the several Agile Methodologies best suits your environment (Chapter 3). Most likely people thinking at XP, associate it to Pair Programming. Detractors say that it is only a fad, which wastes time and money of software companies. Supporters are convinced that it is the philosopher store of software development. In Chapter 4, Laurie discusses the principles of Pair Programming, details when and how to adopt it, and summarizes the expected benefits. An effective analysis in XP is centered in the ability to find a suitable metaphor. This is not an easy task, especially when the project gets larger and more complex. In Chapter 5, William and Steven Wake focus on the issue of metaphor. In particular, they detail their approach in finding a metaphor, in relating the objects of the system to it, and in evaluating whether there are “bad metaphors.” XP is not cowboy coding, neither completely uncontrolled development. It is the opposite of them. But how is it possible to couple an agile approach with measurements and process control? They look like an antinomy. In Chapter 6, Giancarlo discussed possible avenues to implement an agile measurement program, taking advantage of sources of data naturally available to software engineers and managers. What is the extent to which each individual practice of XP is useful? How much of them should we keep in our project for our project to be successful? What is the level of customization of the practices that we can safely have? In Chapter 7, Ron attempts to address these tricky issues that managers pose every day. He analyses the most relevant practices and concludes with a caveat toward to “agile” customizations. Last but not the least, Michele explains how it is possible to hit your targets using XP. He explains how to align business and technical goals, and outlines possible problems that you may face when implementing an XP project and how to solve them.
Cited by 98
Crispin, Lisa, House, Tip · CERN Document Server (European Organization for Nuclear Research) · 2003
Cited by 5