Suzanne and James Robertson
3rd Edition, Addison-Wesley 1999
ISBN 978-0321815742 (boards)
Buy it from Amazon.com (commission paid)
Buy it from Amazon.co.uk (commission paid)
This is a requirements book specifically about process (in contrast, say, to Kovitz). The new edition is carefully revised with inputs from practitioners and researchers. The underlying process is essentially unchanged, but with welcome variations and a strengthened emphasis on iteration within the inevitable sequential project framework, and increased recognition of the inherent variability of projects in size and agility. The book is aimed at the beginning analyst who is developing requirements for a product.
The book is based solidly on experience. The writing is clear and plain. The approach is quite traditional, at least as far as nomenclature is concerned. The process explanation in each chapter reveals a background in analysis, as Yourdon-style dataflow diagrams enlivened with clipart icons and James's skilfully sketched stakeholders relate processes to products. Stakeholders make an appearance, communicating their 'wants and needs' and receiving the 'rejects' (rejected requirements) from the quality gateway: the accepted ones make it into the 'requirements Specification'.
At the same time the book is quite modern: objects are identified as 'things' and 'work areas', and old-style analytical thinking about topics such as work context is combined with a practical treatment of use cases. The book is accompanied by a fully-worked out method, VOLERE, explained in detail in the book.
The book makes much of the concept of the Fit (or Acceptance) Criterion: how do you know whether the proposed solution fits the need? Analysts should not need telling that requirements have to be verifiable, nor that defining what is expected of acceptance tests is a good idea. The fact is, though, that the Fit Criterion message still needs to be preached to a sizeable audience.
A strength of the book is the inclusion of templates for each of the work products that the book advocates. For example, a non-functional requirement is illustrated as a card, pre-printed with attributes for Requirement #, Type, Event/use case #, Description, Rationale, Source, Fit Criterion (the key Robertson concept), Customer Satisfaction, Customer Dissatisfaction (this sounds jokey, but is a way to discover truth about real needs), Dependencies, Conflicts, Supporting Materials, and History.
A novelty in this edition is a "Formality Guide" at the start of each chapter, accompanied by a set of rather large animal silhouettes in the margin. The rabbit refers to small swift projects; the horse to medium projects, and you've guessed what the elephant refers to. The attention to projects of different sizes is welcome, and should help analysts select the pieces of advice they consider suitable for their own projects. Ultimately, of course, every project's process has to be tailored to the project, and the most carefully worked out 'book' process can only ever be a starting point.
The book's look and feel is broadly as it was in earlier editions, which is to say, a solid industrial coursebook. The text is good and reliable, and the advice if followed step-by-step actually works.
This is a useful and interesting book for practising analysts. It may also be a good reference for students, as it has a thorough glossary and bibliography, and would introduce students to the human processes of dialog and feedback between different groups of people so essential in requirements engineering.
© Ian Alexander 1999, 2012
You may also like: