Generating Complete, Unambiguous, and Verifiable Requirements from Stories, Scenarios, and Use Cases.
Donald G. Firesmith · The Journal of Object Technology · 2004
Simple scenarios and stories are typically used for requirements engineering in the Agile community (e.g., eXtreme Programming).Use case modeling has also been a popular requirements elicitation and analysis technique for many years.However, stories, scenarios, and use cases typically exhibit a great informality that violates the traditional guidance in the requirements engineering community that requirements should be complete, unambiguous, and verifiable.This is why many professional requirements engineers use these techniques only as tools for informal requirements elicitation, analysis, and validation.Instead during requirements analysis and specification, more experienced requirements engineers tend to develop and specify more formal textual requirements that are complete, unambiguous, and verifiable.This column will show how to transform incomplete and vague stories, scenarios, and use cases into a proper set of complete, unambiguous, and verifiable requirements. THE CHALLENGEOver the last five years, members of the Agile community (e.g., users of minimal formality development methods such as eXtreme Programming) have strongly recommended the production of simple stories and scenarios as the primary form for requirements during requirements engineering.Proponents claim many benefits for their use including greatly improved productivity and customer satisfaction.Unlike the more structured and formal approaches that generate individually identified and specified textual requirements, stories and scenarios seem to be easier to learn and use.Because they rely on people's natural ability to read and tell stories, simple scenarios are often used by stakeholders with no more training than the reading of a short overview article on the subject in a popular journal.Coupled with close collaboration with customers and other stakeholders, stories and scenarios are also claimed to better deal with rapidly changing requirements.