Discovering Requirements: How to Specify Products and Services

by Ian Alexander and Lierka Beus-Dukic

Ian Alexander’s latest requirements book is a pleasure to read. He and his co-author have succeeded in producing a book that represents the latest thinking in requirements management.

The authors approach their task in a typically rigorous manner by describing firstly different requirements elements, then different discovery contexts, before combining both elements and contexts to suggest approaches for different types of project.
Among the highlights of the book are:

  • A lucid explanation of Alexander’s onion model for stakeholder analysis, put in context using goal diagrams, where stakeholders’ aspirations are mapped to look for any conflict early in the project.
  • The use of the soft systems method to capture the soft boundaries of the project environment before formalising it using context diagrams and event tables.
  • Some simple but effective ways to capture high-level scenarios in a workshop environment.
  • Using goal analysis to capture constraints and qualities. There is a lot of material in this chapter, including some that will be increasingly important in coming years, such as sustainability.
  • The use of rationale models and goal structuring notation to document assumptions.
  • A large chapter on measurements, with a balanced approach to the debate on whether acceptance tests are a substitute for requirements statements (a view promulgated in the Agile world), leaving the reader to decide what is best for his or her circumstances. Recognising that many large projects now include a service element, there is a sizeable section on quality of service measures.

After a comprehensive section on contexts for discovering requirements, the section on trade-offs gives a number of methods, such as principal component analysis for formalising the often-unstructured way that design options are chosen.

One of the strengths of the book is that it is un-wedded to a particular method, tool or diagramming style; and the focus on systems engineering projects, with side-references to software-only projects, rather than the other way around as found in many texts.

I predict that this excellent book will become the standard requirements reference work for serious practitioners and one to be re-read frequently for new insights. Those coming from an Agile software background will find much to learn (and challenge!) from the more formal approaches presented, while those from a rigorous systems engineering background will find food for thought in options for a softer, collaborative approach and an emphasis on scenario-based structure.

More details