The recommended approach to evolving the use-case model takes a "breadth before depth" approach. Identify the actors
and use cases and outline them quickly. Based on this knowledge, perform an initial assessment of risk and
priorities to focus the effort of detailing the business use cases on the right areas.
Developing the Business Vision
Early phases of the lifecycle are usually used to understand the scope of the business. We need to
understand the main purpose of the business, what is within the scope of the business, and what is external to the
business. Try to list all the primary actors and business use cases, however we don't have the luxury of
being able to detail all of these requirements at this time. Identify by name ~80% of the primary actors and
use cases and provide a brief description (one - three sentences) for each.
Identify Stakeholders
Begin by listing all the external stakeholders for the business. These individuals will be the source of the
requirements.
Identify Actors
Name and describe the primary actors. See Guideline: Identify and Outline Business Actors and Use Cases.
Identify Business Use Cases
For each actor, ask "what does this actor want to accomplish with the business"? This will reveal the primary
use cases for the business. Name and describe each of these as you discover them.
Update the Business Use-Case Model
Update the business use-case model to capture the actor and use case names and brief description. Capture the
relationship between the actors and business use cases.
Outline the Basic Flows
For those use cases that are considered high priority by the stakeholders, or high risk by the development team,
capture a step-by-step description of the Basic Flow. Don't worry about structuring the flow at this
point. Focus on capturing the dialogue between the actor and the system and the key requirements for the
system.
Identify Alternate Flows
As you work through the Basic Flows, ask: "What can go wrong?"; "What options are available at this point?";
etc. These types of questions will reveal alternate flows. Capture these, giving each a name and brief
description. Fight the urge to detail these alternate flows at this time.
Refactor the Business Use-Case Model
Based on the Basic Flows you have identified, determine if there is common behavior that could be factored out into
<<include>> use cases. Refactor the Business Use-Case model accordingly.
Prioritize Business Use Cases
Given the abstract description you now have of the requirements, work with stakeholders to prioritize the business
use cases. This will be the primary input to iteration planning.
Developing the Business Architecture
Early phases of development are often used to demonstrate the feasibility of the Business Architecture prior to committing additional resources. To be
successful, demonstrate that stakeholder value can be delivered and that the risk of continuing is
acceptable. Try to detail and implement ~20% of the scenarios. These scenarios need to be
selected to achieve good coverage of the business architecture.
Detail Basic Flow
For those business use cases selected for the next iteration, spend the time to detail the basic flow
now. See Guideline: Detail Use Cases and Scenarios
Detail Alternate Flow
For those alternate flows that will be realized soon, spend the time to detail the flows now.
Update the Business Use-Case Model
Update the Business Use-case Model to capture any refinements made as a result of
your work. Depending upon the complexity of the business, you might want to introduce packages to group
the business use cases in a logical manner to simplify communications, planning, and parallel development.
Realizing the Business
Realizing the business incrementally transforms the business to deliver the value described in the business use
cases. All the business use cases are detailed.
Detail Basic Flows
For those business use cases selected for realization next, spend the time to detail the basic flow
now.
Detail Alternate Flows
For those alternate flows selected for realization next, spend the time to detail the flows now.
Update the Business Use-Case Model
Update the business use-case model to capture any refinements made as a result of your work.
|