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.
Excerpt. © Reprinted by permission. All rights reserved.
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.