User Story Splitting by Workflow or Happy Path

User Story Splitting by Workflow or Happy Path

In Agile practice, a user story should represent a small, vertically sliced piece of functionality that can be completed within a single sprint. When the Scrum team encounters a user story that is too complex to be delivered within a single sprint, they can split it into smaller, more manageable user stories. There are various techniques for splitting user stories, but one of the most commonly used methods is splitting them by workflows, happy path scenarios, or golden path scenarios.

Splitting the user story by workflow steps means breaking down the user journey or process into individual tasks or phases.

A happy path refers to the ideal, most common flow in a system or process, where everything works as expected without errors or deviations.

How to implement this split?

  1. Identify the full workflow: This could be the sequence of actions a user performs on AUT (application under test)
  2. Split the User Story Based on Steps: Break it down into smaller user stories that each focus on one step in the workflow.
  3. Prioritize the Happy Path: Begin with the most common & error-free path. This helps ensure that the most critical parts of the feature are completed first, delivering value early on.

?

Let’s say you’re working on an Online Banking Application with a feature to Transfer Funds.

Happy Path Workflow:

  1. User logs in to the system
  2. User selects the transfer option
  3. User enters transfer details (bank account details, amount, recipient details)
  4. User reviews and confirms the transfer
  5. System processes the transfer
  6. User receives confirmation

?

Story Splits:

  1. User can log in to the system (Basic functionality to access the app)
  2. User can view the transfer options (Basic UI and navigation)
  3. User can enter transfer details (Web Form for entering amount and recipient details)
  4. User can review the transfer details (UI for showing the confirmation page)
  5. System processes the transfer (Backend processing where APIs and DB work)
  6. User receives confirmation (Feedback from the system showing confirmation UI, through message or mail)

?Practical Tips for Splitting Stories:

  1. Aim for Vertical Slices: Focus on delivering end-to-end functionality rather than splitting by technical layers (e.g., don’t split into database, business logic, UI). This helps in delivering usable features faster.
  2. Ensure Each Story Delivers Value: Each split should still result in a piece of functionality that has value to the user.
  3. Keep the Sprint Goal in Mind: Ensure the split does not hinder the overall objective of the sprint.
  4. Use INVEST Criteria: Ensure stories are Independent, Negotiable, Valuable, Estimable, Small, and Testable.

By splitting user stories this way, you can make sure that work is manageable, that you can deliver smaller pieces of functionality quicker, and that your team can iterate and adapt faster.

Nilesh B.

QA Lead/Scrum Master | Core Banking- LOS | Servant Leader| Agile Enthusiasts | Scrum Master | Jira | Mural | ISTQB-CTFL | ISTQB CTFL-AT | PSM 1 | Ex. ACCENTURE| Ex.TCS

3 个月

Sarika Bhor Best approach!! In this case our main focus on breaking down the main scenarios into smaller ones. Benifited in understanding complex features more easily as well as Each sub-story can have its own set of tests, allowing for better quality assurance. ??

要查看或添加评论,请登录

Sarika Bhor的更多文章

社区洞察