- Buy this product and stream 90 days of Amazon Music Unlimited for free. E-mail after purchase. Conditions apply. Learn more
Test-Driven Development: An Empirical Evaluation of Agile Practice Hardcover – 22 Dec 2009
- Choose from over 13,000 locations across the UK
- Prime members get unlimited deliveries at no additional cost
- Find your preferred location and add it to your address book
- Dispatch to this address when you check out
Special offers and product promotions
Enter your mobile number or email address below and we'll send you a link to download the free Kindle App. Then you can start reading Kindle books on your smartphone, tablet, or computer - no Kindle device required.
To get the free app, enter your mobile phone number.
Would you like to tell us about a lower price?
If you are a seller for this product, would you like to suggest updates through seller support?
"This work is really geared toward researchers, software architects, and engineering and QA professionals who are looking for relevant metrics to measure the feasibility of the agile implementation at their respective organizations." - from the review by Joel R. Singh on www.stickyminds.com
"In summary the book provides many valuable insights both to practitioners in terms of the evidence for test-first programming and to researchers in terms of clear illustrations of how new processes, methods and tools can be evaluated using experimentation in software engineering. It is pleasure to recommend this book to practitioners and researchers being interested in agile methods or empirical evaluation or both of them." – from the Foreword by Claes Wohlin; Blekinge Institute of Technology, Sweden
"This book makes a big step forward in a scientific approach to software engineering in general, and agile practices in particular. I am a practitioner and this is one of the very few books I saw that are in line with my gut feeling and day-to-day experience with Test-Driven Development and code quality. I believe this book will also help stop some of us from blindly practising agile methods as voo-doo rituals and shed some light on the facts behind it." – Wojciech Biela; Agile Evangelist, Development Head; EMPiK.com and ExOrigo
"[...] The author helps the reader appreciate the rationale behind the use of scientific research methods in software engineering. The strength of the book lies in the appreciation of empirical software engineering methods. A few of the book’s strengths are: its explanation of the research methods through modeling processes in unified modeling language (UML), the validation of models through hypotheses, the use of quantitative methods available through SPSS software, and the presentation of the examples through an incremental approach. [...] I recommend the book to research scholars who plan to conduct multidisciplinary research in software engineering." - ACM Computing Reviews, Harekrishna Misra, January 2011
From the Back Cover
Agile methods are gaining more and more interest both in industry and in research. Many industries are transforming their way of working from traditional waterfall projects with long duration to more incremental, iterative and agile practices. At the same time, the need to evaluate and to obtain evidence for different processes, methods and tools has been emphasized.
Lech Madeyski offers the first in-depth evaluation of agile methods. He presents in detail the results of three different experiments, including concrete examples of how to conduct statistical analysis with meta analysis or the SPSS package, using as evaluation indicators the number of acceptance tests passed (overall and per hour) and design complexity metrics.
The book is appropriate for graduate students, researchers and advanced professionals in software engineering. It proves the real benefits of agile software development, provides readers with in-depth insights into experimental methods in the context of agile development, and discusses various validity threats in empirical studies.See all Product description
No customer reviews
|5 star (0%)|
|4 star (0%)|
|3 star (0%)|
|2 star (0%)|
|1 star (0%)|
Review this product
Most helpful customer reviews on Amazon.com
Let me start off with what this book is not. This book is *not* a book about learning test-driven development and neither will it tell you about test-driven development techniques. Reading this book will probably not make you any better (or worst) at test-driven development at all... as from this books perspective test-driven development is just one technique that can be analyzed and empirically evaluated.
The book contains 10 chapters. Of these the first three are introduction chapters to test-driven development, empirical software engineering, related studies and setting the goals of the research. Chapter 4 introduces the three 'experiments' in test-driven development for which the researchers collected data which they could analyze. The experiments are mainly with students and contain both a single-programmer and pair-programming variant. A lot of the data is collected using several Eclipse plugins.
Chapter 5-8 analyses a specific measurement for each of these different experiments: 5) the effect on amount of acceptance tests passed, 6) the effect of number of acceptance test passed per hour, 7) the effect on internal software quality and 8) the effect on unit tests (which I felt was a bit odd...). Chapter 9 is a meta-analysis which tries to combine the three experiments and make a larger conclusion. Chapter 10 is the final conclusion.
I probably couldn't understand half of the books mathematics, yet I felt the book was quite insightful in the thoroughness and explanation of its analysis. My biggest amusement was when the author mentions (quite often) that the individual skill difference had a larger effect than any of the other variables. That, of course, was not the goal of the research, but it does stress the first value of the agile manifesto that a technique like TDD (no matter how good) will only be as good as the person doing it... and that is not empirically proven. Other conclusions of the book was that TDD didn't have much significant impact of any of the variables that were measured... except for internal design quality. This is amusing to me as many experienced TDD-ers will keep stressing that TDD is a SW design technique... and this is what the research seems to support.
All in all, I was impressed with the book. From the perspective of an empirical evaluation, I'd probably give it 5 stars. Unfortunately, the main title of the book is "test-driven development" and from the perspective of learning test-driven development, it would get only 1 star. I did all my own mathematical Amazon reviewer magic on 5 and 1 and ended up with a 4 star review, but let me be clear: If you want to learn TDD or improve your TDD techniques... do not buy this book! If you want to learn how to empirically evaluate a SW design technique, this book is one of the best I've read. If you are an experienced TDD-er and are curious about these experiments and TDD research... this book is worth reading too. A though read due to its thoroughness.