You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@httpd.apache.org by Brian Behlendorf <br...@apache.org> on 1999/12/21 19:50:58 UTC

Extreme Programming Explained (fwd)

Interesting idea for a book.  Anyone looked at this yet?  Anything useful
to a project like ours?

	Brian

---------- Forwarded message ----------
Date: 21 Dec 1999 17:12:02 -0000
From: brian-slashdotnews@hyperreal.org
To: slashdotnews@hyperreal.org
Subject: Extreme Programming Explained

Link: http://slashdot.org/books/99/12/21/097256.shtml
Posted by: Hemos, on 1999-12-21 14:10:03 EDT
Dept: is-it-like-snowboarding, topic: News

   While I've been sitting on this for a little while, [1]chromatic has
   been patient. Yes, it's his review of Kent Beck's Extreme Programming
   Explained. The publisher is Addison-Wesley, and the book is for all
   those people out there who need to do programming but don't have time
   to do the engineering phase. Interesting book - click thru to read
   more.
   
   Title:Extreme Programming Explained
   author Kent Beck
   publisher Addison Wesley, 09/1999
   ISBN 0201616416
   pages 179
   rating 7/10
   summary Extreme Programming Explained explains the virtues of the
   Extreme Programmer and shows you how to develop them.
   reviewer [2]chromatic
   
  The Hook
  
   Want to write better code? How about working less overtime, getting
   along with your team better, meeting customer demands more quickly and
   accurately, spending less money, and having more fun?
   
   Extreme Programming may be for you.
   
   Be prepared to make some adjustments and sacrifices. Individual code
   ownership? Gone. Programming for the future? Slow down, cowboy.
   Working on your own? Grab a partner and dance.
   
  What's the Scoop?
  
   Extreme Programming is a way to improve software development by
   focusing on what really matters. If it will cost you $50,000 to
   implement a feature now that may not be used for two years, and it
   will cost you $55,000 to implement it in two years, hold off. If
   running test suites is good, write tests for every significant piece
   of the system. If multiple pairs of eyes make bugs shallower, program
   in pairs. If you enjoy meeting deadlines (and not working your fingers
   to the bone every night for weeks to do so), make shorter deadlines.
   
   It sounds simple, even deceptively so. It may also set your teeth on
   edge at first.
   
   Imagine that your customer has the time and the manpower to send a
   representative to sit with your programming team. He is actively
   involved in the design, writing 'stories' about how the system works
   for the end users. Every morning and afternoon, your programmers meet
   to decide which tasks to tackle, and they pair off, sharing one
   computer between them. One person codes and the other watches, and
   they switch off as necessary.
   
   With every change to the system, the previous tests are rerun until
   they work perfectly, and new tests are added to test new
   functionality. Changes are not commited until all tests run
   successfully.
   
   Releases are started early (six months, for a big programming project)
   and continue quickly after that (every couple of months). With a
   customer sitting in with the programmers, feedback can be
   instantaneous. The initial investment pays off quickly, while expenses
   are spread out over a greater period of time.
   
   With no one owning a particular section of code, and with everyone
   working with different partners from day to day, everyone should have
   a good overview of the system as a whole. This can lead to better
   programming, from less bugs to very quick refactoring. New programmers
   can also be brought in and up to speed much more quickly.
   
  What's to Like?
  
   The book is clear and readable -- even funny. Chapters are short and
   to the point. Beck uses the metaphor of driving to bring his point
   across. (Driving is not about pointing in the right direction and
   maintaining that course, it's about making slight corrections all of
   the time.)
   
   The bibliography is a great place to find some classic works
   (including books by Brooks and Knuth and even the movie 'The Princess
   Bride' -- no, really!).
   
   Extreme Programming itself has a lot of promise. Some of the
   principles (programming for today, releasing early and often, peer
   review, community code ownership) fit in pretty well with open
   source/free software. Some of the other ones would be nice to see....
   
  What Might Annoy You?
  
   It's not clear where Extreme Programming fails. To the author's
   credit, he mentions this and gives some guidelines, but the choice and
   the implementation ultimately rest with the managers and bean
   counters. There will be some resistance at first, but Beck's
   enthusiasm is infectious and his clarity of explanation might be
   enough to overcome it.
   
  The Wrapup
  
   If you're a member of or a manager of a moderate programming team, you
   ought to read this book. It will go nicely on the shelf next to "The
   Mythical-Man Month". If you're curious about new ways to look at
   programming (especially in a group), you'll want to pick it up.
   
   Purchase this book at [3]fatbrain.
   
  Table of Contents
  
    I. The Problem
         1. Risk: The Basic Problem
         2. A Development Episode
         3. Economics of Software Development
         4. Four Variables
         5. Cost of Change
         6. Learning to Drive
         7. Four Values
         8. Basic Principles
         9. Back to Basics
   II. The Solution
        10. Quick Overview
        11. How Could This Work?
        12. Management Strategy
        13. Facilities Strategy
        14. Splitting Business and Technical Responsibility
        15. Planning Strategy
        16. Development Strategy
        17. Design Strategy
        18. Testing Strategy
   III. Implementing XP
        19. Adopting XP
        20. Retrofitting XP
        21. Lifecycle of an Ideal XP Project
        22. Roles for People
        23. 20-80 Rule
        24. What Makes XP Hard
        25. When You Shouldn't Try XP
        26. XP at Work
        27. Conclusion

References

   1. http://snafu.wgz.org/chromatic
   2. http://snafu.wgz.org/chromatic
   3. http://www1.fatbrain.com/asp/bookinfo/bookinfo.asp?theisbn=0201616416&from=MJF138