Download PDF version of this article PDF

Critical Testing Process: Plan, Prepare, Perform, Perfect

Rex BlackAddison-Wesley Professional, 2003, $49.99, ISBN: 0-201-74868-1

In this book, Black succeeds in transforming his experience with testing realities—and different testing approaches—into a true reference for anybody who has ever had to plan testing activities in a software organization.

The author provides an excellent guideline for determining what test processes might fit best into an existing organization. To his credit, Black does not propose the optimal testing approach, but rather acknowledges many different approaches and provides guidance on how to find the process that will best suit an individual product.

One of the core elements of this structure is the inclusion of checklists that can be used for test process planning. The author points out, however, that readers should critically review their applicability for an existing organization and provides many ideas about what these areas of local adaptation could be.

Another very helpful organizational feature of the book is its use of a virtual organization: the Sumatra project. Using this device, many of the ideas explained in the book are brought to life.

Although Black states that testing terminology is far from being standardized, he tries to provide definitions for specific terms, perhaps preparing the groundwork for a common software testing terminology.

The author structures testing processes around 12 critical testing processes, which are further grouped into four areas: planning, preparing, performing, and perfecting. Readers familiar with software processes and quality management will have an easy time learning this approach. For those who are not yet comfortable with these processes, the book’s introduction provides the necessary foundation.

Those readers who want to find further resources on dedicated topics will find a well-sorted bibliography at the end of the book. Black emphasizes not only nice processes, but also methods to get to them, with whom they should be used, and with what objective in mind. In this, he is completely justified.—Frank Pospiech


Balancing Agility and Discipline: A Guide for the Perplexed

Barry Boehm and Richard Turner Addison-Wesley Professional, 2003, $29.99, ISBN: 0-321-18612-5

As demand for software applications with compressed production schedules increases, several new methods are emerging, each one claiming to be a better agile method than the others. The proliferation of all these methods has thrown software developers into a vortex of confusion. The publication of this book is therefore timely.

Boehm and Turner have three main objectives: to resolve the confusion about the roles of discipline, agility, and process in software development; to launch a comparative study of the plan-driven versus the agile approaches; and to describe a risk-based method for balancing agility and discipline within a software project.

The authors first clarify the distinction between agile and disciplined (plan-driven) approaches, drawing heavily on their rich industrial experience to objectively assess the merits and drawbacks of the two methods in an easily accessible style. They then argue convincingly that successful, sustainable software development requires both discipline and agility. They simulate typical days in the lives of two software development teams working on a plan-driven project—with one team trained on the disciplined method, and the other trained on the agile method.

The authors also ponder the feasibility of adopting a combination of the two methods by way of two case studies: one involving experienced agile practitioners working on an enterprise resource solution, adopting plan-driven methods; and the other involving a team of plan-driven practitioners using agile methods. Given the right number of talented people, agile methods could be scaled to complex, large-scale applications.

This book is a valuable reference, as well as a watershed in software engineering, and will find a place on the shelves of software developers, project managers, and others involved in software development.—A. K. Menon

Reprinted from Computing Reviews, © 2004 ACM,


Originally published in Queue vol. 2, no. 5
see this item in the ACM Digital Library


© ACM, Inc. All Rights Reserved.