XP Programming book review

I noticed a review on the book Extreme Programming Explained: Embrace Change by Kent Beck as being high on content. In a very  condensed way, it contains some of the biggest objections specifically towards the 4 key attributes of XP:

  1. Always have a customer available on site
  2. Unit test before you code
  3. Program in pairs
  4. Forfeit detailed design in favor of incremental, daily releases and refactoring

I certainly think there is value in XP and much more so in Agile Programming. On the other hand I agree with some of the observations made in the review.

A quote:

    If you do the above, and you have excellent staff on your hands, then the book promises that you’ll reap the benefits of faster development, less overtime, and happier customers. Of course, the book fails to point out that if your staff is all highly qualified people, then the project is likely to succeed no matter what methodology you use. I’m sure that anyone who has worked in the software industry for sometime has noticed the sad state that most computer professionals are in nowadays.

    However, assuming that you have all the topnotch developers that you desire, the outlined methodology is almost impossible to apply in real world scenarios. Having a customer always available on site would mean that the customer in question is probably a small, expendable fish in his organization and is unlikely to have any useful knowledge of its business practices. Unit testing code before it is written means that one would have to have a mental picture of what one is going to write before writing it, which is difficult without upfront design. And maintaining such tests as the code changes would be a nightmare. Programming in pairs all the time would assume that your topnotch developers are also sociable creatures, which is rarely the case, and even if they were, no one would be able to justify the practice in terms of productivity. I won’t discuss why I think that abandoning upfront design is a bad practice; the whole idea is too ridiculous to debate.


%d bloggers like this: