ISBN-10:
0321278658
ISBN-13:
9780321278654
Pub. Date:
11/16/2004
Publisher:
Pearson Education
Extreme Programming Explained: Embrace Change / Edition 2

Extreme Programming Explained: Embrace Change / Edition 2

Current price is , Original price is $44.99. You

Temporarily Out of Stock Online

Please check back later for updated availability.

Overview

Nearly five years after the first edition of this book exploded on to the market,noted software engineering guru and the father of Extreme Programming (XP)Kent Beck provides a fresh look at this controversial topic. XP remains themost popular agile methodology in software development, and many believe itis ideal for small to mid-size development organizations. However, XP is notwithout its detractors. The goal of the book remains to help programmers andteams decide if XP is the right path to pursue. The book offers advice, but doesnot provide a prescriptive, "how to" style format. This Fifth AnniversaryEdition enhances the full knowledge of XP and gives both the advocate andskeptic of XP full detail to move forward with an informed opinion.

Product Details

ISBN-13: 9780321278654
Publisher: Pearson Education
Publication date: 11/16/2004
Series: XP Series
Edition description: REV
Pages: 224
Sales rank: 1,057,862
Product dimensions: 7.30(w) x 9.20(h) x 0.75(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

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