In an age when many technical books provide little more than cheerleading for one technique or another, it is refreshing to come across a book that is genuinely useful. The subtitle of Roxanne Miller's book gives us the clue as to what this book is about: "Probing questions to bring nonfunctional requirements into focus”.
The book has two parts, which I will explain to show you why I think this is useful. In the first part Ms. Miller takes us through an introductory piece on requirements. She is not attempting to make this an exhaustive treatise on gathering requirements. Instead, its purpose is to bring readers up to speed and preparing them to mine the value of part two.
In the second part of the book (I cannot call it the second half because it occupies most of the book), Ms. Miller provides us with an extensive list of nonfunctional requirements. Then comes the value: for each of the non-functional types she provides an expansive list of questions that the business analyst would do well to ask. This is not merely a checklist for the business analyst to tick off as he or she works through the pages. Instead, it provides questions that challenge the business analyst, and the stakeholders, to consider seriously the particular nonfunctional requirement type being dealt with at the moment.
Nonfunctional requirements are a major contributor to successful projects and products, and bewilderingly, are often ignored by development teams. Ignoring the nonfunctional requirements, or leaving them to the goodwill of the developers, almost always results in substandard products that are rejected by the users. Agile development teams are well advised to take note of this book—user stories are usually about functions or features. There is growing evidence that agile teams are not adequately discovering the appropriate nonfunctional requirements. Even a cursory reading of Ms. Miller’s book reveals many requirements that could easily be missed by the user story writers.
I think that the best recommendation I can give this book is to say that I shall give a copy to the project on my consulting assignments. I know it is going to have a beneficial impact.