Author: Lech Madeyski
Publisher: Springer, 2010
Aimed at: Academic computer scientists
Pros: Good coverage of experimental method
Cons: Not much information about the value of agile methods
Reviewed by: Mike James
This book presents the results of an empirical study of how test driven development and other agile methods (mainly pair programming) affects the progress of a project. The book explains the background and then goes on to detail the experiments and eventually their conclusions.
Most of the book takes the form of a fairly advanced discussion of how the statistical analysis of the data should be performed. From this point of view it is an interesting account of design and methodology. Mostly accounts of this sort simply say "the data were collected, subject to a standard statistical test and were found to be significant at the usual level" - not this book! We are presented with a detailed, almost obsessive, attempt to wring as much evidence out of the data as possible. There is even a chapter devoted to meta analysis of the entire ensemble of procedures.
The attention to detail in the earlier chapters makes it all the more strange that the final conclusions presented in Chapter 10 seem very weak. The level of statistical analysis isn't very advanced - anova and ancova are the two major tools - but the level of consideration of how these should be used is quite deep.
What this means is that the real value of the book is probably in its account of an experimental and procedural methodology that could be used in future studies of the effectiveness of particular approaches. There is a great deal of coverage of using SPSS to conduct the analysis. As such it would make a good study text for an advanced computer science course.
What it has to say of important about agile methodologies is less clear - apart from a broad indication that they are a good idea.