Agile Curam Development Requirements Gathering: Activity Scenarios
In my previous post I talked about end-to-end scenarios. In this post, I am going to talk about what Activity Scenarios are and why they are important.
An Activity Scenario expand on one or more workflow activities from the end-to-end scenario.
By putting this into a separate task, we make sure that we help ensure that we do not get bogged down in the details early on.
Input sources for Activity scenarios
The main input to the activity scenario are the end-to-end scenario which shows relatively how things will fit into the entire scheme of things.
In addition, the following inputs will help expand on them. This is relatively the same as the end-to-end scenario inputs, because these would apply throughout the entire requirements gathering process.
- RFP from the customer
- User Stories written by the customer for each activity scenario.
- Previous output products if any.
Output work products for ACTIVITY scenarios
The output for each activity scenario is a detailed description of what the activity involves. Generally there are three major parts for each activity scenario.
- Manual Activity information
- Automatic Activity information
- Control Activity and linkage information
As I specified earlier there may be more than one workflow activity from the end-to-end scenario involved in an activity scenario. Allowing for it would allow people to work things in a slightly higher level than individual activities, but still lower than the end-to-end activity.
The output is to be given to the developers to implement the workflow.
Planning
The Lead Pair would define the activity scenarios and send them to the PM for the planning. The pair would to decide whether group more than one activity in an activity scenario.
The client with the PM prioritizes activity scenarios that they would like to elaborate on. Generally there should be little interdependencies between activity scenarios so these can be done in parallel.
OUTPUT: AUTOMATIC Activity information
An automatic activity user story is simpler than a manual and it just describes what the system should be doing based on information that it has.
Output: Manual Activity Information
A manual activity is a bit more complicated as it involves determine who should get the task, the deadlines, etc. What a BA needs to do is break down the user story into the components of manual activity. Although you would be tempted to make use of a template that the customer fills out, I would make sure that parts of it are free form text where the customer can write a story as to what should happen when determining the deadlines, who to assign it to, etc.
When defining your first few manual activities (maybe the first 5) try to see if you can create a common manual task pattern that can be extended rather than repeating yourself for the rest of the project.
Having a common manual task pattern would also allow the leads to say:
Anything that we haven't explicitly defined or built we will use the common manual task pattern.
This would allow the requirement gathering team some air by:
- allowing the developers to work on the workflow that can be tested.
- allowing customer/test team to test the flow, even if it is not fully automated yet.
Output: Control Activity and linkage information
As specified earlier, an activity scenario may involve more than one activity. The information obtained here is used primarily in defining loop conditions, event transitions, etc.
Conclusion
As specified earlier, Activity Scenarios expand on one or more workflow activities from the end-to-end scenario. This task separation prevents analysis paralysis.
Since each activity scenario is usually a stand alone unit, it can be prioritized based on importance. In combination with the common manual task pattern, any activities that are unable to be met by the deadline can be postponed. Since the workflow is still present, it just means that some people need to do some work rather than having the system do everything. However, since you can deploy new workflows during the life of the application, there is little risk.
Although this is primarily for Curam, most workflow packages would be able to support the activities specified below as it is technology agnostic.
