Most Helpful Customer Reviews
|
|
3 of 3 people found the following review helpful:
5.0 out of 5 stars
One of the very best Requirements Books: BUY IT., 17 Mar 2009
I have never bothered reviewing a book on Amazon before, but for this I have made an exception. I have over 20 books on requirements engineering, and I can say without hesitation that this is one of the very best. This is an extremely readable and useful book.
This book is well organised, practical and insightful. The authors propose a matrix of "Elements" and "Contexts" for requirements discovery. Following this model, the book is divided into two parts; Part 1 - Discovering Requirement Elements (with chapters on Stakeholders; Goals; Context, Interfaces, Scope; Scenarios; Qualities and Constraints; Rationale and Assumptions; Definitions; Measurements, and; Priorities), and Part 2 - Discovery Contexts (with chapters on Requirements from Individuals; Requirements from Groups; Requirements from Things; Trade-offs, and; Putting it all Together). In the Introduction, the authors state that requirements specification can be considered to be a network of related elements, "...and indeed, the chapter structure of this book can be seen as a customisable template for organising the requirements on your project."
If pithy quotes are a good measure of the value of a book, then this is a great book. I stopped scribbling down quotes by page 10 when I had amassed the following:
* "Requirements are discovered by the use of appropriate inquiry techniques. They are not sitting about, waiting to be `captured'."
* "Discovery, however surprising and delightful the actual moment of realisation, comes as a result of a deliberate search."
* "Projects need to pay attention to discovering their requirements, using a battery of complementary techniques..."
* "Perhaps the projects in greatest danger from poor requirements work are those that seem fairly small and simple, but turn out to contain hidden complexities."
In addition to the quotable quotes, the book is also crammed with well-crafted expressions and valid observations. A few that I liked are:
* "goals and stakeholders work together"
* "ill-defined boundaries"
* "interfaces aren't just hardware"
* "requirements archaeology" (gathering requirements from documents)
* "Requirements Chef" (a lovely concept, included in Chapter 15, "Putting it all Together")
* "no two projects are alike"
This book is unusually easy to read and extremely well structured. Each chapter begins with a couple of sentences defining the questions that the chapter will answer. Next is a paragraph summarising the chapter. The reader can therefore establish, in less than a minute, whether a chapter is likely to help them with their immediate problem. Following the main body of each chapter (all of which are also very well structured), there is a "Bare Minimum of..." which, as the heading suggests, defines the least you should do for this element or context. Each chapter also includes a small but valuable set of Exercises and suggested Further Reading.
Many people involved in system development (still) talk about "users" as a homogeneous group. Increasingly, more enlightened people talk about "stakeholders" - but I am not convinced that stakeholder analysis is actually taken seriously in many developments. For this reason I'd argue that chapter 2 of this book ("Stakeholders") is essential reading for every systems engineer/business analyst/project manager. There is a strong emphasis in this chapter (and throughout the book) on the importance of stakeholders and consideration of stakeholder roles. As ever, Ian Alexander is quick to remind us that we should always consider negative stakeholders.
The book comfortably straddles what might loosely be called "theory" and "practice". The breadth and depth of the authors' experiences are woven throughout, with no awkward distinction between concept and application. The final chapter "Putting it all Together" does exactly what it claims. Included in this chapter is an essential table of "possible discovery context/requirement element approaches" and a set of case studies that illustrate how an element/context matrix may be populated for a specific project.
Having read the book and made some notes for this review, I tried an experiment. I randomly opened the book in half a dozen places. On each page I quickly found something interesting and useful. I tried the same experiment with a range of other requirements books, and not one of them was nearly as satisfying. I don't suppose this is how the authors intended the book to be used, but it does give a good indication of its quality and value. There is no filler in these 450 pages. I wholeheartedly recommend this book.
|
|
|
3 of 4 people found the following review helpful:
5.0 out of 5 stars
Review of Discovering Requirements, 22 Mar 2009
Review of Discovering Requirements, by Ian Alexander and Ljerka Beus-Dukic, John Wiley, 2009.
This book provides valuable and accessible techniques for anyone who is involved in the process of eliciting requirements. The authors have avoided organising the book in a procedural way; instead they have structured it using the intersection of nine "requirements elements" and five "discovery contexts". Each chapter focuses on how to gather more information about one specific requirements element within each of the discovery contexts.
Chapter 6 for example is about a requirements element called "Qualities and Constraints". Here the chapter focuses on techniques for discovering the non-functional requirements (qualities) and compliance issues (constraints) in a variety of discovery contexts. Contexts in this case can mean the individual stakeholders, relevant groups and so on. The strength of this organisation is the freedom it gives the reader to move around within the book (possibly a new non-functional requirements type) while at the same time providing the reader with an overall connective framework.
The combination of sociological, philosophical and technological themes provides a much needed emphasis that requirements are not just about software solutions. References to Peter Checkland's work, among others, reminds readers that "system" does not necessarily mean "computer system" and that effective requirements discovery means looking at the wider world.
I am pleased to see techniques for goal modelling and structuring are covered in sufficient detail to enable practitioners unfamiliar with the notation to put it to good use.
Priorities is another requirements element for which the authors provide a number of alternative thinking approaches. I like the idea of thinking about "input priorities" as the priority assigned by stakeholders and "output priorities" as the priority assigned from the perspective of availability of a practical solution. Another interesting topic related to prioritisation is the inclusion of a statistical method called principle components analysis (PCA). A worked example illustrates how this technique can be used to provide input to (not replace) human decision-making about the inevitable trade-offs between requirements. At the other end of the formality scale a nursery rhyme (this year, next year, sometime,...) is used to help to do triage and assign priorities to requirements.
From a practical point of view the authors have provided substantial worked examples of techniques to aid requirements discoverers in their tasks. Examples are drawn from fields as diverse as air traffic control, tram routing, video games and restaurant management. I would also have liked to see one complete example but recognise that space constraints impose a trade-off.
A theme that runs through the book is the need to communicate with diverse stakeholders who all have their own view of the world. The authors' wise advice is that "there is no point trying to force requirements language on people. When you're interviewing a stakeholder, don't start talking about `non-functional goals' or "quality requirements'. Ask plain questions about what people want to achieve, and what performance they are seeking".
This book is written in a way that you would enjoy reading it from cover to cover. It is also an excellent reference book and, no matter what techniques you are using, I am willing to bet that you will find additional insights and approaches to improve your requirements work. Keep this book on the shelf by your desk, you will find yourself referencing it often.
Suzanne Robertson
Chamonix March 22, 2009
|
|
|
1 of 1 people found the following review helpful:
5.0 out of 5 stars
Before you start a project, this is THE book to read, 27 Jul 2009
Fantastic book! Have you ever struggled to find out what your customer actually wants? And after you're well on the way with your project, you start getting customer comments like: "yes, but..", "I didn't mean that..", etc. And then you begin to feel like "uh, oops, we really should have elaborated more on defining the requirements...".
But the term defining implies that your customer tells what they want and you write it down in a meeting, polish later on, and that's it. Go on and start a project ... and problems like above surfaces.
Requirements need to be discovered and this is the best book on how to systematically "tease" out what the customer (=stakeholders) want, what are they assuming, but not saying unless explicitly asked, etc.
The "abstraction level" is very good, not too cookbook specific and not too academically general. Text is very readable and clear and well structured.
This book helps you to direct your (and your customer) thinking to obtain desired goals, and thus is valuable also for people outside the engineering field.
|
|
|
Most Recent Customer Reviews
|