ISBN-10:
0321278658
ISBN-13:
9780321278654
Pub. Date:
11/30/2004
Publisher:
Addison-Wesley
Extreme Programming Explained: Embrace Change / Edition 2

Extreme Programming Explained: Embrace Change / Edition 2

Paperback

View All Available Formats & Editions
Current price is , Original price is $44.99. You
Select a Purchase Option (REV)
  • purchase options
    $36.83 $44.99 Save 18% Current price is $36.83, Original price is $44.99. You Save 18%.
  • purchase options

Product Details

ISBN-13: 9780321278654
Publisher: Addison-Wesley
Publication date: 11/30/2004
Series: XP Series
Edition description: REV
Pages: 256
Sales rank: 235,996
Product dimensions: 7.30(w) x 9.10(h) x 0.60(d)

About the Author

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.

Cynthia Andres holds a B.S. in psychology with advanced work in organizational behavior, decision analysis, and women’s studies. She has worked with Kent on the social aspects of Extreme Programming since its inception. She is also affiliated with Three Rivers Institute.



0

Read an Excerpt

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.

Table of Contents

Foreword to the Second Edition.

Foreword to the First Edition.

Preface.

1. What is XP?

I. EXPLORING XP.

2. Learning to Drive.

3. Values, Principles, and Practices.

4. Values.

Communication.

Simplicity.

Feedback.

Courage.

Respect.

Others.

5. Principles.

Humanity.

Economics.

Mutual Benefit.

Self-Similarity.

Improvement.

Diversity.

Reflection.

Flow.

Opportunity.

Redundancy.

Failure.

Quality.

Baby Steps.

Accepted Responsibility.

6. Practices.

7. Primary Practices.

Sit Together.

Whole Team.

Informative Workspace.

Energized Work.

Pair Programming.

Stories.

Weekly Cycle.

Quarterly Cycle.

Slack.

Ten-Minute Build.

Continuous Integration.

Test-First Programming.

Incremental Design.

8. Getting Started.

9. Corollary Practices.

Real Customer Involvement.

Incremental Deployment.

Team Continuity.

Shrinking Teams.

Root-Cause Analysis.

Shared Code.

Code and Tests.

Single Code Base.

Daily Deployment.

Negotiated Scope Contract.

Pay-Per-Use.

10. The Whole XP Team.

Testers.

Interaction Designers.

Architects.

Project Managers.

Product Managers.

Executives.

Technical Writers.

Users.

Programmers.

Human Resources.

Roles.

11. The Theory of Constraints.

12. Planning: Managing Scope.

13. Testing: Early, Often, and Automated.

14. Designing: The Value of Time.

Simplicity.

15. Scaling XP.

Number of People.

Investment.

Size of Organization.

Time.

Problem Complexity.

Solution Complexity.

Consequences of Failure.

16. Interview.

II. PHILOSOPHY OF XP.

17. Creation Story.

18. Taylorism and Software.

19. Toyota Production System.

20. Applying XP.

Choosing a Coach.

When You Shouldn't Use XP.

21. Purity.

Certification and Accreditation.

22. Offshore Development.

23. The Timeless Way of Programming.

24. Community and XP.

25. Conclusion.

Annotated Bibliography.

Index.

Preface

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.

Customer Reviews

Most Helpful Customer Reviews

See All Customer Reviews

Extreme Programming Explained: Embrace Change 4.3 out of 5 based on 0 ratings. 3 reviews.
jorgearanda on LibraryThing 3 months ago
This is an odd book. It is propaganda for a now popular software development method, but its strongest arguments have nothing to do with productivity or cost savings. Instead, they appeal to the personal integrity of software professionals: they are about identifying the values one upholds and, if they match those of Beck's Extreme Programming, to use his practices as a means to satisfying them.The second edition of this book is more mature than the first. Beck doesn't talk as much about "cranking the dials up to 10" and he is far less dogmatic, and far more reflexive, about the right way to develop software. At some points (in particular with some of the corollary practices he proposes) the arguments are thin and too reliant on anecdotal evidence. But still, this is a great book, and I welcome the emphasis on values, on the humanity of software development, on communication, on professional commitment to work well done. It is refreshing to read not only that developers are not cogs in a machine, but that this is the essential insight of responsible software practice and needs to be taken to its extreme consequences.
Guest More than 1 year ago
As an experienced developer, I was looking for a description of the basics of XP, and I found some of what I was looking for. But this text has a number of serious drawbacks: 1) There is too little information and too much informal chatter. I assume this is supposed to make the book more accessible, but it just takes longer to read. 2) There are lectures on the 'morality' of the sofware development process, as if this is the only industry in need of such self investigation, or that somehow right thinking leads to the XP process. Fooey. 3) There are sections on philosophical or psychological topics used to support XP that are less than compelling, and may reflect Mr Beck's personal discoveries. They may not be yours. So it's a quick read with information at a basic level. And who knows, you may find the digressions stimulating.
Guest More than 1 year ago
If the first edition of this book was a warning shot across the bow of heavyweight methodologies, then this new edition is a call to arms for any team that wants to develop better software faster, and have fun doing it. XP is now being used by teams and in contexts unthinkable when the first edition of this book was published. This edition is a completely new version of the book. For example, there are new chapters on Taylorism, lean manufacturing, and the theory of constraints. There are many new ideas and XP is now explained more in terms of its values and principles than through strict adherence to twelve specific practices. In this new edition, Kent Beck expands on the vision of the first and shows us how XP--through the application of its values, principles and practices¿has become more than just a lightweight method for small to medium teams. XP represents an evolving way of thinking about software development. I can think of no better person than Kent Beck to show the way.