Book Review: Just Enough Requirements Management
Where Software Development Meets Marketing


Alan M. Davis
Dorset House, 2005

ISBN 0932633641 Paper

Buy it from Amazon.com (commission paid)
Buy it from Amazon.co.uk (commission paid)
 

Other Reviews

 

 

 

Since the review of Alan Davis' (excellent) 201 Principles in 1995, a great many requirements books have appeared (and countless papers, admirably listed on Davis' website). Is there still something new to say?

Happily, there seems to be. Everybody's take on requirements is different: there are requirements books all about software techniques, writing styles, UML, use cases, teamwork, planning, prototyping, and programming (to name just a few). This book does something new: it stresses the role of prioritisation, or Triage as Davis calls it.

Triage means dividing casualties into three groups:

This cheerful word from military/disaster medicine is adopted by Davis because, he says, it perfectly suits the requirements situation. Some things are no-brainers; there's no need for discussion. Some are hopelessly dreamy: they should instantly be dismissed. And the rest need to be ranked in a practical way so you can plan your projects. 

Triage / prioritisation seems to overlap quite strongly with the whole business of optioneering: you can't really tell how important a requirement is until you know a possible solution; and if different options enable different requirements, the trade-offs are complex and probably cannot be optimised perfectly. In any case, there isn't time: if you go on until the requirements are perfect, you'll be bankrupt, and in any case the world will have moved on and the customers will have changed their minds. Davis doesn't use language like 'optioneering' and 'trade-off' but he's certainly at home in a world where imperfect, non-mathematical kludges are necessary to get a quick fix: in fact, it's the only kind of fix in town. 

One thing that is specially nice about the book is that it does not just trot out Standish's 1994 Chaos report as evidence that requirements matter, but quotes studies going back to Endres in 1975, and Boehm, Daly, and Fagan in 1976, to show that nearly half of all errors stem from requirements issues. Davis divides these into three categories:

These correspond to Davis' view of the requirements process: Elicitation, Triage, and Specification (or if you prefer, Requirements Gathering, Prioritisation, and Writing/Formalising). 

The book concentrates on the awkward middle ground in other dimensions also (apart from triage): 

This is brave, novel, and very welcome. No-one else, perhaps, could take a long view of the passionate arguments between traditionalists, formalists, and agile methods people, or of the differing viewpoints of developers, managers, and marketing on a software product's requirements, and the difficult interdisciplinary work (involving messy things like schedule risk and marketing strategies, rather than the merits of individual requirements) that has to be done to arrive at good decisions in that political minefield. 

The book is addressed to software developers, who are assumed to be doing the requirements work. Obviously that isn't the only possibility. It's also not clear whether the book is intended for, or suitable for people who are more or less beginners. The advice given is generally spot on, but may be hard for the inexperienced to take. 

For instance, it's all very well to advise people not to expect complete requirements (page 157), but try telling that to a naive client with a critical project. 'Just enough' is in its way as much a counsel of perfection as the old and obviously impossible 'complete, correct, consistent' dogma (p129ff, for which Davis was at least partly responsible). But is 'just enough' any easier? How do you know that you have the bare minimum? It might be safer to do just a little more to provide a margin for error! Of course, it depends who (developer, marketer, customer) is talking. 

So, perhaps this is a book for experienced requirements people (ie, those who've been burnt once) to reflect on. It doesn't attempt to cover every analysis and elicitation method ever taught: the textbooks can do that. Instead, it takes a light, informed, politically-skilful and industrially-informed look at the problem of doing just enough. This is very timely, given the 'heavy RE' versus 'agile methods' debate: and Davis succeeds in pointing out where the balance lies. Davis writes in a fresh and engaging way, telling stories from his long and varied experience as a consultant (and researcher). 

Davis has come up with yet another good, practical book for industry. It's also packed with knowledge of how the requirements literature fits together, forming a useful synopsis of the last thirty years of research, which might be useful to academics starting out in the field. It is very definitely about software, and within that area it is remarkably comprehensive for such a short book; but much of the approach is applicable to requirements work in other areas too. 

© Ian Alexander 2005


You may also like: