20 September 2007

Specifying Good Requirements

Donald Firesmith has written an excellent article on Requirements Specifications. (Thanks to Jonathan Babcock for highlighting this article.)

"Many of the characteristics of properly specified requirements have been well known for many years, at least among professional requirements engineers. Yet most requirements specifications seen today in industry still include many poor-quality requirements.

"Far too many requirements are ambiguous, incomplete, inconsistent, incorrect, infeasible, unusable, and/or not verifiable (e.g., not testable). To combat this sad state of affairs, this column provides a questionnaire that can be used when specifying and technically evaluating requirements."

Firesmith's article is a great starting point for new analysts who want to learn the basics of requirements elicitation and documentation. Given that poor requirements are a (if the not the) most common reason cited for project failure this article should be is fundamental knowledge for all project managers and analysts.

And it's a nice refresher for more experienced project workers also.

Read Specifying Good Requirements.

Reference: Donald Firesmith: “Specifying Good Requirements”, in Journal of Object Technology, vol. 2, no. 4, July-August 2003, pp. 77-87.

1 comment:

  1. I whole heartedly disagree with the statement, "Does each requirement need no further amplification or clarification?"

    When do we know that a requirements doesn't need any further amplification or clarification. What may be clear to me may not be clear to someone else. This statement makes me feel that the author is discounting the importance of communication between the Analyst and Developer.

    Overall, too rigid rules and too deep a scrutiny of nouns, proverbs, etc. is detrimental. What are we after - working software or gramatically and aesthetically pleasing documentation.

    I like the fact that the author talks about the requirements being testable and that they should have acceptance criteria. These two things are very important.