Display screen

Display screen

I have heard splitting user stories described many ways, ranging from skill that can be learned and pursued in a nearly mechanical manner to an art that requires a depth of soul and awareness of the audience (this is all a bit tongue and cheek). In practice, I would suggest that both are true.  There are patterns for guiding practitioners when splitting user stories, but the practice is enhanced by creativity and a perception of the environment.  Patterns are a tool to provide tools to split user stories however there is never just one way to split a large user story.

We will compare the application of a number of patterns of splitting user stories using a time accounting as a case study.  Here are a few basic high level user stories:

  1. As a company owner I want my consultants to accurately record time and expenses by project and by day so that I can bill accurately and on a timely basis.
  2. As a time accounting user I want to log into the time accounting system securely so that I can log my time.
  3. As a time accounting user I want to log into the time accounting system securely so that I can log my expenses.
  4. As a project manager I want to be able to review and approve time and expenses logged to my projects to ensure accurate reporting and billing.

Using the time accounting system I use on a daily basis as a model (not all time accounting system will follow the same pattern), the basic workflow to enter time on a new time sheet would be as follows:

  1. Log into the time accounting system login
  2. Select the option to create a new time sheet
  3. Enter data time sheet header, click saveHeader screen
  4. Enter line item data that includes project, task, time type, hours per day and comment per day.  (Rule one project, task and time type per line.)time entry
  5. If done for the week, save and submit, if not just save (note we will return to this flow when looking at alternative paths).

One of the common patterns of splitting user stories is slicing the story by workflow.  As noted in earlier Daily Process Thoughts, workflows can generally be broken into a number of separate valuable stories.  In our example, the epic (large user story)

As a time accounting user I want to log into the time accounting system securely so that I can log my time.

could be broken down into at least five user stories based on the work flow noted above.  For example:

  1. As a time accounting user I want to log into the time accounting system so no one else can mess up my time and expense accounting.
  2. As a time accounting user I want to be able to create a new timesheet, etc.

And the list of user stories would go on matching until the sheet was saved and or saved and submitted as noted in step five above. 

Each split would still need to be evaluated to determine whether the story needs to be split further.  (See INVEST and Splitting User Stories). However, as a strategy for splitting user stories, using workflows engages both users and team members to think about how the application or enhancement will be used, which will generally lead to higher user satisfaction.

Advertisements