Improving Product Reliability and Software Quality, 2nd Edition
by Mark A. Levin, Ted T. Kalal, Jonathan Rodin
12Software Procedures and Techniques
12.1 Gathering Requirements
In his book Alice's Adventures in Wonderland, Lewis Carroll writes of an exchange between Alice and the Cheshire Cat:
“Would you tell me, please, which way I ought to go from here?”
“That depends a good deal on where you want to get to,” said the Cat.
“I don't much care where − ” said Alice.
“Then it doesn't matter which way you go,” said the Cat.
“– so long as I get SOMEWHERE,” Alice added as an explanation.
“Oh, you're sure to do that,” said the Cat, “if you only walk long enough.” [1]
Carroll's quote has often been summarized in the following saying: “If you don't know where you are going, any road will get you there.” In the case of developing software, documenting, and validating requirements is the only way to know where you are going. Requirements specify what the software must do. Getting the requirements right is the single most important task for delivering a successful product. If the requirements are wrong, then it does not matter how well implemented and tested the product is; the software will be a failure inasmuch as the software will not meet its functional purpose. Therefore, it is clear that quality software depends on having accurate and well‐documented requirements.
There are different methods to document requirements, and different software development life cycles prefer or proscribe specific approaches to requirements documentation and review. Traditional waterfall life cycles tend to develop ...