Wednesday, December 21, 2011

Exploring Requirements: Quality Before Design

Exploring Requirements: Quality Before Design by Donald C. Gause and Gerald M. Weinberg is about "the requirements process--the part of development in which people attempt to discover what is desired." It's a comprehensive look at the process and the ubiquitous ambiguity that makes it extremely difficult and error prone. The book, over two decades old but still relevant and practical, presents tips and tools to ensure quality requirements.

The book will change the way that you look at requirements. It uses subtle humor and common sense to present and reinforce ideas. It's not a technical book and has something for everyone involved in product development.

The book is full of simple but important points:
Development is the process of transforming someones desires into a product that satisfies those desires.

The art of requirement process is not so much to provide answers as to raise new questions.

Instead of trying to compete ... on a feature-by-feature comparison ... identify the functions that will be needed to compete.

No single failure of requirements work leads to more lawsuits than the confident declaration, " No sane person would do that!"

Almost any real project, no matter how well planned and managed, contains a certain amount of hacking, because the real world always plays tricks on our assumptions.

The book is good at pointing out some of the more subtle parts of the process. For example, the types of requirements decisions:
  1. Choices - made directly and consciously
  2. Assumptions - made unconsciously through bias, error, or lack of information
  3. Impositions - forced by law, custom, or higher-authority

The requirements process begins with ambiguity. Gradually the ambiguity is removed, clarified, and/or constrained. Even though not all ambiguity can be removed, at some point "you decide you have enough agreement to move on into the design phase." This book will help you confidently deal with ambiguity and move on.

No comments: