Agile Testing: How to Succeed in an Extreme Testing Environment
In an IT world in which there are differently sized projects, with different applications, differently skilled practitioners, and on-site, off-site, and off-shored development teams, it is impossible for there to be a one-size-fits-all agile development and testing approach. This book provides practical guidance for professionals, practitioners, and researchers faced with creating and rolling out their own agile testing processes. In addition to descriptions of the prominent agile methods, the book provides twenty real-world case studies of practitioners using agile methods and draws upon their experiences to propose your own agile method; whether yours is a small, medium, large, off-site, or even off-shore project, this book provides personalized guidance on the agile best practices from which to choose to create your own effective and efficient agile method.
Review By: Noreen K. Dertinger
06/13/2011"Agile Testing: How to Succeed in an Extreme Testing Environment" by John Watkins is a compact resource divided into three main parts and supporting appendices. Each section can be read on its own; together, the parts provide a general resource about agile development and testing.
In part one, “Review of Old-school and Agile Approaches,” Watkins reviews legacy testing practices such as waterfall, spiral, and iterative and then describes some of the key agile development and testing practices (such as rapid application development, Extreme Programming, Scrum, and others).
Parts two and three, “Everyone Is Different: Agile Case Studies” and “Agile My Way: A Proposal for Your Own Agile Process,” are the real heart of this book. Part two contains twenty real-world cases describing how different organizations and practitioners have worked with agile development and testing or, in some cases, implemented their own approach to agile. Each case study includes information about what the testing requirements, techniques used, successes achieved, and lessons learned—what could be improved or left out in the future. Part three provides a concise analysis of the case studies presented in part two. Watkins distills the material in the case studies to highlight agile techniques that are particularly successful and those that were less successful and should be approached with caution. Watkins makes proposals about how practitioners might set up their own agile testing practices and provides guidelines on how to successfully introduce, roll out, and manage the use of agile techniques within an organization.
The appendices provide more detail on the agile processes described in chapter three, “Agile Development and Testing,” as well as templates for an agile test script, an agile test result record, and an agile test report template and a checklist of agile best practices.
Agile Testing: How to Succeed in an Extreme Testing Environment will be of greater interest to managers who are looking for a high-level description of agile-related experiences of various organizations. Watkins does a good job of compiling and presenting the information provided by the participating organizations. His book will provide a good overview of things to avoid or consider.
While the book provides a very good overview, it is inadequate as a resource for testers looking for an in-depth reference on agile testing techniques. Test practitioners looking for a more detailed guide may wish to consider Agile Testing: A Practical Guide for Testers and Agile Teams by Lisa Crispin and Janet Gregory, which was published in 2009, the same year as Watkins’s work. That said, anyone looking for an overview of and introduction to agile may find the case studies and analysis interesting to read.
The website cited in the book as the source of the appendices’ templates is no longer valid, the templates are straightforward enough that they can be quickly reproduced. To me, there was nothing that distinguished these templates as being specific to agile testing.
I would recommend this book to managers and those who wish to gain and overview of best agile development and testing processes.
Review By: Melissa M. Tondi
06/13/2011For those who either are considering moving to agile or have only been practicing the methodology for six months or less and have not fully implemented the practice in their organization, this is a good guidebook. My organization has been practicing agile Scrum for two years (and in some teams more), so I would mainly use the book as a quick reference guide or to brush up on overviews of other agile methods.
The bulk of the book concentrates on case studies—again focusing on newer agile adoptees. Although I found some of the case studies interesting, I thought the addition of twenty-three of them decreased the effectiveness of succeeding in an extreme testing environment (as the title states). Throughout the book, the author cited many sources, mainly the appendices and case studies. I felt the continuous citing disrupted the flow of the overall message.
If you are new to agile or your organization is considering adopting agile in your organization, this book should be a consideration as a guidebook to help make that decision. If you have already adopted agile or made the decision not to, this book will not lend much more information than what you already probably know. Since our organization has adopted agile, I would consider using this book only as a reference for some terms and processes.
I would suggest the author limit the case studies to a dozen or so and adding a section on rolling out agile from the case studies' specific processes, not just the author's process.
I do feel that the appendices were helpful, especially the adoption of dynamic systems development DSDM (a method I was not familiar with before reading this book). I also believe the tenet that "all changes during development are reversible." Many times, we do not adequately think about rolling back changes. If we accommodate that into our builds, we might find that we've instilled an extra area of quality within our code.