Extreme Programming Explained: Embrace Change

by Addison-Wesley Professional

$29.95
96% off
buy from amazon.com
Average Rating: * * * * -
Sales Rank:433259 (lower is better)
Price as of:08/07/2008 6:13:36 AM MDT
Price Used:$0.01
Shipping:Free Shipping on most orders over $25*
Availability:
Label:Addison-Wesley Professional
UPC:785342616415
Pages:224
Binding:Paperback
Publication Date:1999-10-05
Published By:Addison-Wesley Professional
ASIN:0201616416
Category:Book

Authors

Editorial Reviews and Product Descriptions

Book Description

Software development projects can be fun, productive, and even daring. Yet they can consistently deliver value to a business and remain under control.

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 don't make the cut in XP:

* Don't force team members to specialize and become analysts, architects, programmers, testers, and integrators-every XP programmer participates in all of these critical activities every day. * Don't conduct complete up-front analysis and design-an XP project starts with a quick analysis of the entire system, and XP programmers continue to make analysis and design decisions throughout development. * Develop infrastructure and frameworks as you develop your application, not up-front-delivering business value is the heartbeat that drives XP projects. * Don't write and maintain implementation documentation-communication in XP projects occurs face-to-face, or through efficient tests and carefully written code.

You may love XP or you may hate it, but Extreme Programming Explained will force you to take a fresh look at how you develop software.

Amazon.com

Kent Beck's eXtreme Programming eXplained provides an intriguing high-level overview of the author's Extreme Programming (XP) software development methodology. Written for IS managers, project leaders, or programmers, this guide provides a glimpse at the principles behind XP and its potential advantages for small- to mid-size software development teams.

The book intends to describe what XP is, its guiding principles, and how it works. Simply written, the book avoids case studies and concrete details in demonstrating the efficacy of XP. Instead, it demonstrates how XP relies on simplicity, unit testing, programming in pairs, communal ownership of code, and customer input on software to motivate code improvement during the development process. As the author notes, these principles are not new, but when they're combined their synergy fosters a new and arguably better way to build and maintain software. Throughout the book, the author presents and explains these principles, such as "rapid feedback" and "play to win," which form the basis of XP.

Generally speaking, XP changes the way programmers work. The book is good at delineating new roles for programmers and managers who Beck calls "coaches." The most striking characteristic of XP is that programmers work in pairs, and that testing is an intrinsic part of the coding process. In a later section, the author even shows where XP works and where it doesn't and offers suggestions for migrating teams and organizations over to the XP process.

In the afterword, the author recounts the experiences that led him to develop and refine XP, an insightful section that should inspire any organization to adopt XP. This book serves as a useful introduction to the philosophy and practice of XP for the manager or programmer who wants a potentially better way to build software. --Richard Dragan

Topics covered: Extreme Programming (XP) software methodology, principles, XP team roles, facilities design, testing, refactoring, the XP software lifecycle, and adopting XP.

Customer Reviews

Thorough Overview of Extreme Programming (XP) - Reviewed on 2007-11-06
* * *
2 customers found this review not to be helpful.
"Extreme Programming Explained" offers a thorough and good overview of the Extreme Programming (XP) approach to software development.

This book covers the fundamentals of XP and describes some of the benefits of this approach to developing software. While this approach may not suit all developers, project managers or companies, this book offers an interesting overview of XP.
A must read for any developer - Reviewed on 2007-09-23
* * * * *

I believe the basis in software development for business is in this book.
You can have the technique, the skills, and the money, but you will need the human side for any agile way of working.
This is not the silver bullet, but you NEED to read this book.
Extreme Programming: The evolutionary approach! - Reviewed on 2006-09-10
* * * *
2 customers found this review helpful, 1 did not.

I came across this book in the Bibliography section of Scott Berkun's "The art of Project Management".

First, the structure. Well, this book is under 200 pages. So when Beck talks about keeping what is essential, he is surely applying it while writing books.

Second, the content. The book takes the reader from understanding business risks associated with software development, to understanding the changing economics of software development & why XP can fit the demands of an ever changing business scenario. The book then establishes what XP is, what are its features, what are the activities, who are the X players & then links the roles, activities, & features together across each phase in a typical XP project. While Beck is persuasive about the usefulness of XP, he has also included a chapter at the end of the book which talks about projects where using XP may not be advisable. And yes, such a project is an outsourced development project.

XP presents many interesting features. Traveling light - or code & tests together being all you need - sounds like a dream; nano-releases - or doing a daily or hourly build so that at any time you have a full system working, no matter the completeness of desired functionality - , building a system story by story, & going back & revisiting scope ever so often are all features that can be immensely valuable to the business & to the project team.

As a result of all this, & more such practices, XP resembles to an extent Darwinian evolution in some ways. Trying many things & keeping what works, designing for today's needs & changing that with tomorrow's requirements tomorrow but not today can be seen as interesting commonalities between Darwinian evolution & XP!

Overall, I think the book is great introduction to XP. I'd have liked case studies as well to understand how well good theory fits general projects of any kind, but this book does not cite too many such projects. Nevertheless, pick it up if you want to understand what the XP evolution is all about.

S!
Nice intro to XP - Reviewed on 2006-02-20
* * * *
7 customers found this review helpful, 2 did not.

This book is a good introduction to different aspects involved in extreme programming.

The author is the initial proponent of XP. First part of the book explains the present day software development realities(like deadlines etc) and the pitfalls that take place due to these time sensitive expectations. Author moves onto explain the necessity for XP and what are the basic guidelines of XP.

The author should be commened for covering where XP is impractical and should not be used. The book explains the life cycle of a XP project and different roles that are part of this radical process.

XP is not suitable for many present day organizations(due to age old approaches that are already implanted in the system); but should be considered for time sensitive deliverables. This book will definitely give a headsup on how to approach XP.

Small negative: The book takes too much time on what is wrong in other traditional approached to software development(for the size of the title:about 200 pages)
Become a Better Programmer - Reviewed on 2005-11-12
* * * * *
7 customers found this review helpful, 5 did not.

This is an excellent book, short, concise, and well-written. To derive the full benefit of the book, I recommend reading it three times.

The first time you should just try to grasp the concepts of XP and adapt your attitude to be willing to try XP on a real project. If you are a heavy-weight methodology old-timer, this might be a big step for you. Approach it with an open mind.

Only having read the book completely, should you attempt an XP project. That will prepare you for the second reading. Now you can begin to fully grasp the power of its concepts and their implementation. Reading the book retrospectively will shed new light on most of the books contents. Much of what was previously fuzzy or abstract will become lucid.

The third time through should be when you teach using XP. I found more benefit when teaching a formal course than when performing OJT, especially when training those who have more historically traditional development attitudes.
The reason Beck has experienced so much success with XP is because XP works. This book truly explains how to embrace change.
Read More Customer Reviews »
Go To Amazon Product Page

* - See Amazon Product Page for shipping and pricing details.


Book Subjects