Amazon.com Customer Reviews
Don't buy the digital version - Review written on March 05, 2008
Rating: 1 out of 5
6 customers found this review helpful, 2 did not.
After I purchased this product, Amazon prompted me with an option to buy an electronic version. I take notes on everything I read so I thought it was a great idea and was happy the book was available electronically. After copying a few pages of text, however, without warning, I received a notification that I was at my limit. At my limit. Amazon provides a generic notice that some publishers limit copying, but there is no information anywhere indicating that this was one of those books. No notification as I was copying text that there was a limit. This is a huge case of false advertising. Now I wonder about the other digital book I bought, "How will I know if there's a limit?"
The book itself is good, but my wasted money on the electronic version, which is useless to me now, has tainted my opinion about the publishers and Amazon for not clarifying that there were limitations.
Flawed Premise - Review written on August 29, 2007
Rating: 2 out of 5
7 customers found this review helpful, 4 did not.
If you are enamored with The One Big Document approach to software requirements, then this is your book. Read it and enjoy.
If like me you have been on many projects where The One Big Document approach didn't work, stay clear of this book. While it gives some great advice on how to solicit feedback, it still advocates the traditional approach of defining a document that encapsulates all the requirements of the customer.
Why is this a bad thing? Here are some specific examples that should give you pause:
1) Requirements are notoriously open to interpretation. What the customer wants and what they eventually get can be and are often two very different things. It doesn't matter if your document is ten pages or ten thousand.
2) A requirements document is a product in and of itself, separate from the system that it tries to describe. It takes a great deal of resource and discipline to keep it current with the actual system over time, and in many shops this is a losing proposition.
3) Because it is a pain to keep up to date with the system, shops that I've been in have labored under the false optimism that they can come up with a perfect document up front. If there is one constant in software engineering though, it is that the needs of the customer are never static.
4) I have seen developers approach requirements documentation with the attitude that if it is exacting enough, the customer will be cornered because changes to the initial spec will be too odious to make later.
None of this is to say that there should not be requirements - there absolutely should! But I have come to believe after all these many years of software development that the best way to obtain requirements is to actually make them executable artifacts of the system (aka high level acceptance testing, which the author gives scant description of).
For anyone that is interested, I would recommend the book 'Fit for Developing Software'. Here are some of the things about this approach that have obvious advantage over the writing of massive requirement specs:
1) Tests are basically scenarios that illustrate system behavior. They are laid out in such a way that a non-programmer could easily come up with them.
2) Such behavior is expressed in a concrete way that is anything but ambiguous.
3) There is no need for the customer to exhaustively define everything up front. If they refine their expectation/needs after some period of time, they can alter the acceptance tests accordingly in collaboration with Product Managers and/or development staff.
4) All stakeholders have a way of knowing the state of the development process at any time.
5) A delivered system is either correct (passes all of the acceptance tests) or it is not. There is no room for interpretation.
6) The acceptance tests are always in sync with the system because they are executable. If a test does not pass, it reflects either a bug in the system or the need to revisit the tests.
This approach does not completely obviate the need for any kind of formal documentation. However, from what I have experienced with it so far, it does reduce a significant amount of the cost that would otherwise be spent on The One Big Document. It does this by showing what the system must do in a manner that is measurable, rather than simply stating it.
Best Practices in Requirements Engineering. Must-Have. - Review written on October 12, 2003
Rating: 5 out of 5
32 customers found this review helpful, 4 did not.
How do you know if you have good software requirements? Some use the simple technique of checking if the requirements definition is complete, clear, and consistent. Every book on requirements engineering has some variation of this theme and in this book, you are advised to check if the requirements statement is complete, correct, feasible, necessary, prioritized, unambiguous, and verifiable.
If you haven't used techniques like this one before, it is definitely a good idea to pick up a solid book like this one on the best practices in requirements engineering. There are several good books in the market on the topic of software requirements and this is one of the best ones out there.
I found three other books that complement this one - Requirements Engineering by Kotonya and Sommerville (used more as a textbook), Managing Software Requirements by Leffingwell and Widrig (part of the Object Technology Series), and Effective Requirements Practices by Ralph R. Young (comes with a CD-ROM).
If you are a project manager, business analyst or anyone that has a lot to lose because of bad requirements, you will benefit tremendously from this current book being reviewed. The book is divided into three parts - What and Why, Development, and Management of Software Requirements. The part names are self explanatory. This book is very readable and is full of best practices that stand true to their name!
The unique things about this book - in chapter 2, the author outlines the Requirements Bill of Rights for Software Customers and the Requirements Bill of Responsibilities for Software Customers. When I first read this, I felt like every customer has to read this before attempting a software project. Chapter 10 has an excellent description of different diagrams useful in requirements documentation - DFD (data flow diagram), ERD (entity-relationship diagram), STD (state transition diagram), dialog map, and class diagrams. I think all books on software requirements should ideally have some variation of these topics.
Important topics like traceability are given an excellent treatment in this book but the only thing lacking is how to manage requirements in software processes involving iterations (the mainstay of the Rational Unified Process and other newer software development methodologies). There are only 13 pages devoted to this topic and even then it is indirect - Chapter 12: Risk Reduction Through Prototyping.
Otherwise, I have no complaints about this book and I believe that it is a basic to intermediate in level (definitely not an advanced book). Overall, I believe it indeed captures the best practices in the field of requirements engineering. It is also a good price, so enjoy!
Great practical advice on requirements - Review written on August 11, 2003
Rating: 5 out of 5
14 customers found this review helpful, 1 did not.
I'm somewhat of a software engineering/process geek. I find the process of creating a product more interesting than the actual code these days (though I like to code). Wiegers' book is THE bible, in my opinion, for eliciting and maintaining requirements.
He covers the issues involved in gathering requirements and keeping them up to date, often offering multiple ways to resolve issues. Wiegers, unlike many academic oriented books, fully acknowledges the political and cultural difficulties that arise when trying to institute a requirements program. Much of his advice is practical and he gives good pointers on the highst ROI practices, so you can inject a little at a time, rather than trying to change culture wholesale.
I'd give a 4.5 out of 5 if I could, due only to the "Next Steps" sections at the end of each chapter. The "Next Steps" are supposedly be small steps you can take to start using the advice Wiegers offers. Unfortunately, most of the steps start with "Take a page/chapter from your current requirements document...." I've worked at few companies that even have a requirements document, so I'm not sure how useful the "Next Steps" really are.
But, that complaint aside, this book is the best combination of reference information for techniques and advice on how to use them on the job.
Great treatment of traditional, rigorous requirements mgmt - Review written on July 29, 2003
Rating: 4 out of 5
11 customers found this review helpful, 3 did not.
When it comes to the development life cycle, there are generally two broad schools of thought: rigorous, waterfall approach; and the agile, iterative approach. This text sits in the heart of the rigorous, waterfall approach.
Iterative approaches are proven to be more effective at eliciting requirements, a fact which is somewhat embraced in the author's discussion of use cases; however, Jacobson originally envisioned use cases to replace other requirements documents as a central element in elicitation, rather than just being a quick diversion.
In reality, most of us strike a middle ground. Projects can't be run in most organizations without rigor, and Software Requirements is a thorough treatment or requirements development and management. The well-organized book is a quick read, and is filled with prescriptive advice, risks, sample forms, and checklists that can be applied to your requirements effort. No wonder the author won a Software Productivity Award for the effort!
Managing requirements in real life - Review written on March 24, 2003
Rating: 5 out of 5
15 customers found this review helpful.
This book faces a lot of competition from other books, which are supposed to tell you how to manage software projects in general, and the requirements gathering process in particular.
However, what sets this book apart from the vast majority of others is its absolute relevance (as opposed to being an arbitrary textbook). For example, this book recognizes the fact that often enough process improvements are deferred due to political reasons alone. The more you read it, the more you realize it addresses the same problems you have encountered while managing the requirements process.
But what really sets this book apart is that it actually tells you how to solve these problems, by offering feasible solutions that could be easily implemented, gradually, in real life scenarios. This, basically, means that the book could actually HELP you.
Very good but a little disagree - Review written on November 09, 2001
Rating: 4 out of 5
17 customers found this review helpful, 7 did not.
This book presents a bright view of software requirements elicitation, development, analysis and management. The consequences of developing requirements in three major steps (business, user and functional requirements) are explained in a way that is easy to read and, at the same time, full of insight.
Nevertheless, we must disagree with the author in a very fundamental point. Wiegers clearly states across the book that requirements must not be polluted with design issues or otherwise biased towards a specific solution, but they must just present the needs. This is a widely assumed point that we do not share. From our viewpoint, developing and writing the requirements for a software system is one of the first modeling activities in the project lifecycle, and modeling is nothing but creating a new model or applying an existing one. In any case, models do not live hidden behind users' daily practice, waiting for us developers to uncover them; on the contrary, they are synthesized as needed, confronted with empirical and intuitive experience and given an ok mark if they can explain, with more or less accuracy and efficiency, the observed reality. The very word "development" in "requirements development" strongly suggests the idea of creating a model. We think that requirements development is fundamentally a modeling activity, and therefore it implies a specific solution. Of course, the chosen solution is specified at a very high degree of abstraction, and many more detailing steps will be needed in order to transform it into the final source code. The SRS in Wiegers's book is a model, and therefore it carries plenty of design issues. What must be avoided is to give them too much detail as to make them inflexible for further modeling. Please have a look at the Metis methodology for more information on our concepts of "modeling" and "design".
Despite the conceptual argument we have posed, we have liked the book, and we do recommend it.
Solid Book - Review written on May 20, 2001
Rating: 4 out of 5
7 customers found this review helpful, 2 did not.
This is a solid book covering the requirements gathering process. My only concern is for shops that try to implement the entire process verbatim.
In today's web development world, customer expect progress every 30 days (a la XP Programming). If you force every project down the Use Case, FUnctional Specs, UML diagrams path, then there's no way to get incremental projects out the door that quickly.
My suggestion is to customize your process and take the best from this book. Use the majority of processes for large projects, but keep in mind that most projects that don't deliver any incremental value with 30-90 days of start, will either be cancelled or fail.
Great for Business Analyst and Project Managers - Review written on March 09, 2001
Rating: 5 out of 5
8 customers found this review helpful.
I've been a business analyst (BA) for several years and have bought countless books on specific technologies, but have always had difficulty finding books on software requirements (in the general since). I'm currently involved in a large web based software project using the full Rational suite and have found this book very useful. Things I couldn't find in the Rational books, I found in this one. It not only delves into project methodologies and object orientated design, but it also gives the reader guidance in terms of defining project scope, drafting requirements, and dealing with clients (just to mention a few).
I highly recommend this book for any BA's, project managers and/or anyone wishing to learn more about what's involved with gathering and designing software requirements
Top choice for selling the concept. - Review written on December 29, 2000
Rating: 4 out of 5
7 customers found this review helpful.
Karl Wiegers makes the clearest and most convincing case I've seen yet for a disciplined approach to gathering and documenting detailed users' requirements. This is a must-read for:
- project managers,
- skeptical I.T. managers, esp. start-up entrepreneurs
- systems analysts, esp. less experienced ones
- open-minded sponsoring user representatives
This work, however, provides little practical guidance on how to actually do the analysis. Wiegers has the right idea in balancing established structured analysis (SA) with recent UML techniques, but the details and examples are much too sparse and vague to serve as a guide (e.g. data definition).
Highly recommended for anyone who thinks doing it right is a "luxury" his or her organization can't afford in today's competitive Internet-time-driven world.
A good summary - Review written on December 27, 2000
Rating: 5 out of 5
5 customers found this review helpful, 1 did not.
A good book that accurately captures some of the best practices in requirements analysis around.
I bought the book having read Mastering the Requirements Process by Robertson and Robertson, the IEEE 830 Requirements standard, and some other books.
Software Requirements Best Practices is right up there at the top. I also highly recommend Mastering the Requirements Process.
Excellent, comprehensive, and well-written - Review written on July 30, 2000
Rating: 5 out of 5
11 customers found this review helpful, 1 did not.
I took a course recently on Software Requirements and (unfortunately) this was not one of the two required textbooks. (The two required books were Software Requirements by Davis and Software Quality by Jones.) Both the required books were fatally flawed. However, for a required paper, we needed to cite four books...and I ran across Software Requirements by Wiegers.
The book is well-written, well-organized, clear, and comprehensive. It strikes a good balance between the technical and the practical, between the theoretical and the actual.
If you're a professor looking for a book to use, please consider this one. And if you're a student discouraged by some other book (particularly the two I mentioned above), this one really works.
Good for setting up a Requirements Process - Review written on July 05, 2000
Rating: 4 out of 5
13 customers found this review helpful.
I found this an easy to read and follow book which I rate highly for Business Analysts. Its best for senior Business Analysts or Team Leaders who want to set up a requirements and specification process to be used by the team or department(This is how I used it and found it very good).
The best bits for me were the descriptions of prototyping (a great overview that cleared up my understanding) and how to run a Use-case workshop with business customers (essential stuff but never covered elsewhere).
The worst bits were that I found the vision and scope template not very useful for internal company development and in Chapter 9, Section 4 I longed for an actual example of how to convert/translate use cases into specifications. The latter is one thing where an example would have clarified the text.
Comparing this to Kovitz, I have Kovitz for my own personal development/tool as an analyst and this book for setting up a requirements plan/process and adminstering it.
Comprehensive, clear and a little drab - Review written on June 15, 2000
Rating: 4 out of 5
21 customers found this review helpful.
The more time I spend running software projects, the more convinced I become that a strong requirements process is the hardest part.
This is an excellent book that covers developing a strong requirements process. Wiegers doesn't cover underlying philosophy (see Kovitz or Jackson), but he provides a useful reference. The book outlines many good practices - and his point about "good practices" versus "best practices" is well taken, but it is not as well organized as some other toolbox-style books.
A big part of establishing effective requirements gathering is selling the management team. This book doesn't really tackle this challenge.
The sample project is helpful, but I wish Wiegers had gone the last mile and attached the project requirements documents as an appendix.
Despite this list of gripes about what the book doesn't do, it has many, many good points and is written in a clear, if not lively, fashion. Recommended.