This volume about Extreme Programming provides a thorough and systematic analysis of XP practices and separates the "agile" from the "fragile". It also distinguishes useful XP techniques (e.g. use of automated unit testing tools) from questionable ones (e.g. oral documentation).