'''The 70,000 Foot View''' AKA Fairy tales for 8 year olds. ''Problem'' What is the minimal level of description required for a use case? ''Context'' A new project has started and needs to determine the scope of the requirement. ''Forces'' Level of Understanding * We're at the beginning of the project and require a broad understanding of the system. Complexity * Use Case Complexity * People need a simplified view of the system. * Analysts who are technical will want to add technical details to complex use cases. * System Complexity * May overwhelm analyst and lead to analysis paralysis syndrome. Resources * It is expensive to write good use cases. * The project timeline is critical. Need to start gathering requirements quickly to scope the system and create early project estimates. ''Solution'' The minimal description for a use case is a paragraph of prose describing the essence of the use case, specifically: * how the use case starts, * its goal, and * the sequence of events for reaching its goals, written in prose or as a bullet list. ''Resulting Context'' Delving deeply into technical details at the beginning of the project will only bog the use case writer. We are at the beginning of the project and may have only a limited understanding of what the system is all about. Quickly assembling a set of use cases that give us a very high level or broad view of the system will greatly enhance the use case writers ability to reason about the system. Furthermore, because the use case writer will have less of an investment in each use case, they will be less reluctant to discard or modify a use case if it does not fit well into the model. Resources required to prepare high level use cases is insignificant compared to the resources required to create a complete and detailed use case model. The ability to quickly deliver a set of high level use cases allows the development organization to begin to make resource estimates for the project, and provides use cases early to begin the project planning process. ''Rationale'' Writing a high level use case requires little investment of effort, and therefore the use case author is more willing to explore alternatives and abandon use cases that lead to dead ends. Communications between participants in small projects is usually very good, therefore only a high level description is necessary to provide the requirements to the developers. Simple descriptions also help keep use case writers focused on the essence of the use case and not spin their wheels worrying about details ''How would you contrast this with a UserStory?'' ---------- See also: TheViewFromSeventyMilesUp