Cover image for Extreme programming explained : embrace change
Extreme programming explained : embrace change
Beck, Kent.
Personal Author:
Publication Information:
Reading, MA : Addison-Wesley, [2000]

Physical Description:
xxi, 190 pages ; 24 cm
Format :


Call Number
Material Type
Home Location
Item Holds
QA76.76.D47 B434 2000 Adult Non-Fiction Central Closed Stacks

On Order



Extreme Programming (XP) was conceived and developed to address the specific needs of software development conducted by small teams in the face of vague and changing requirements. This new lightweight methodology challenges many conventional tenets, including the long-held assumption that the cost of changing a piece of software necessarily rises dramatically over the course of time. XP recognizes that projects have to work to achieve this reduction in cost and exploit the savings once they have been earned. Fundamentals of XP include: * Distinguishing between the decisions to be made by business interests and those to be made by project stakeholders. * Writing unit tests before programming and keeping all of the tests running at all times. * Integrating and testing the whole system--several times a day. * Producing all software in pairs, two programmers at one screen. * Starting projects with a simple design that constantly evolves to add needed flexibility and remove unneeded complexity. * Putting a minimal system into production quickly and growing it in whatever directions prove most valuable. Why is XP so controversial? Some sacred cows dont make the cut in XP: * Dont force te

Author Notes

Kent Beck consistently challenges software engineering dogma, promoting ideas like patterns, test-driven development, and Extreme Programming. Currently affiliated with Three Rivers Institute and Agitar Software, he is the author of many Addison-Wesley titles.



The goal of Extreme Programming (XP) is outstanding software development. Software can be developed at lower cost, with fewer defects, with higher productivity, and with much higher return on investment. The same teams that are struggling today can achieve these results by careful attention to and refinement of how they work, by pushing ordinary development practices to the extreme. There are better ways and worse ways to develop software. Good teams are more alike than they are different. No matter how good or bad your team you can always improve. I intend this book as a resource for you as you try to improve. This book is my personal take on what it is that good software development teams have in common. I've taken things I've done that have worked well and things I've seen done that worked well and distilled them to what I think is their purest, most "extreme" form. What I'm most struck with in this process is the limitations of my own imagination in this effort. Practices that seemed impossibly extreme five years ago, when the first edition of this book was published, are now common. Five years from now the practices in this book will probably seem conservative. If I only talked about what good teams do I would be missing the point. There are legitimate differences between outstanding teams' actions based on the context in which they work. Looking below the surface, where their activities become ripples in the river hinting at shapes below, there is an intellectual and intuitive substrate to software development excellence that I have also tried to distill and document. Critics of the first edition have complained that it tries to force them to program in a certain way. Aside from the absurdity of me being able to control anyone else's behavior, I'm embarrassed to say that was my intention. Relinquishing the illusion of control of other people's behavior and acknowledging each individual's responsibility for his or her own choices, in this edition I have tried to rephrase my message in a positive, inclusive way. I present proven practices you can add to your bag of tricks. No matter the circumstance you can always improve. You can always start improving with yourself. You can always start improving today. Excerpted from Extreme Programming Explained: Embrace Change by Kent Beck, Cynthia Andres All rights reserved by the original copyright owners. Excerpts are provided for display purposes only and may not be reproduced, reprinted or distributed without the written permission of the publisher.

Table of Contents

Foreword to the Second Edition
Foreword to the First Edition
1 What is XP?
2 Learning to Drive
3 Values, Principles, and Practices
4 Values
5 Principles
Mutual Benefit
Baby Steps
Accepted Responsibility
6 Practices
7 Primary Practices
Sit Together
Whole Team
Informative Workspace
Energized Work
Pair Programming
Weekly Cycle
Quarterly Cycle
Ten-Minute Build
Continuous Integration