Scenarios, stories, and use cases: the modern basis for system development

Abstract
The requirements process, intended to solve `the software crisis' and equivalent challenges in systems engineering, has traditionally focused on documenting `shall' statements as discrete individual elements. These proved hard to write and to interpret; hard to make complete and correct; but uncomfortably easy to make ambiguous and unstable given the extended life of many industrial contracts. Scenarios, along with related structures such as goals and viewpoints, are often the best remedies for these ills. We have spent part of our time over the last two years editing and contributing to a multiauthor book about scenarios, to try to bring some of the benefits of research and industrial good practice to a wider audience. The basic idea of a scenario is a story, told from the point of view of one or several people who want to achieve a given result in the world. The most elaborate ways of describing scenarios include use case models, flow charts (e.g. UML's activity diagrams, with or without swimlanes), and message sequence diagrams.