"I spend much time helping organizations capture requirements and even more time helping them recover from not capturing requirements. Many of them have gone through some motions regarding requirements, as if they were sleepworking. It's time to wake up, and do it right—and this book is going to be their alarm clock." (Jerry Weinberg, author of numerous books on productivity enhancement)
"In today's complex, fast-paced software development environment, collaboration—the intense peer-to-peer conversations that result in products, decisions, and knowledge sharing—is absolutely essential to success. But all too often, attempts to collaborate degenerate into agonizing meetings or ineffectual bull sessions. Ellen's wonderful book will help you bridge the gap—turning the agony of meetings into the ecstasy of effective collaboration." (Jim Highsmith, a pioneer in adaptive software development methods)
Requirements by Collaboration: Workshops for Defining Needs focuses on the human side of software development—how well we work with our customers and teammates. Experience shows that the quality and degree of participation, communication, respect, and trust among all the stakeholders in a project can strongly influence its success or failure. Ellen Gottesdiener points out that such qualities are especially important when defining user requirements and she shows in this book exactly what to do about that fact. Gottesdiener shows specifically how to plan and conduct requirements workshops.
These carefully organized and facilitated meetings bring business managers, technical staff, customers, and users into a setting where, together, they can discover, evolve, validate, verify, and agree upon their product needs. Not only are their requirements more effectively defined through this collaboration, but the foundation is laid for good teamwork throughout the entire project. Other books focus on how to build the product right. Requirements by Collaboration focuses instead on what must come first—the right product to build.
Review By: Carol A. Dekkers, CMC, CFPS 08/14/2003This book is one of those rare ones that actually demonstrates by example HOW TO properly articulate requirements for successful and usable software. It is rare to find a book that addresses use cases, business rules, collaborative techniques, requirements workshops, facilitation, and the human side of requirements within a comprehensive, hands-on manual. The author’s focus is two-fold: she sees the aspects of completeness and correctness as an essential element of doing proper user requirements, and also sees the importance of building positive, productive working relationships from the beginning. This book will equip readers with a knowledge of the fundamentals of doing “good” requirements, and provide all players in the requirements and software development process with ideas on how to make their respective roles productive and positive.
The primary audience for this book includes developers and business analysts who are responsible for ensuring articulate and complete specifications of user requirements for software. While some in the user community will also gain insight into the various requirements models, the language and context of this book lend themselves more to those with a background in software development.
The author is an excellent communicator who provides acute insight into the requirements elicitation phases of software development. Like a well-written movie, there are many best parts of this book. My favorites include
-requirements levels (user requirements vs. business requirements), Chapter 1;
-using both sides of the brain to define requirements, Chapter 3;
-book recommendations at the end of each chapter (together with an insightful paragraph on each);
-the Sieve model (one of the collaborative models that uses “smart filtering” of requirements), Chapter 9;
-how to deal with difficult participants, Chapter 9;
-workshop case studies, Chapter 11.
The book is intended to be a practitioner’s guide and is a refreshing departure from the textbook, lecturing style books of yesteryear. The author describes real-life, down-to-earth scenarios with which developers will easily identify, and she provides low-risk, high-value solutions that can be implemented without major budget overhauls. In these times of economic and budgetary constraints, this book is a breath of fresh air. Practitioners will find a treasure trove of new ideas mixed with proven concepts—a welcome respite to the often-frustrating requirements articulation process.
The book rings true to its stated intentions. From the early chapters describing types and sources for requirements, to the final chapters outlining how to deal with difficult participants and how to move forward after the requirements workshops are complete, it focuses on the elusive problem of getting the right requirements for software. Through the process of presenting multiple alternatives (and a section on how to choose the best model for your needs), the book provides readers with a myriad of options to address requirements elicitation and gathering. This book would be an excellent addition to the project manager’s or software developer’s bookshelf.