Agile: Epics and Techniques of splitting User Stories
Epics are collection of user stories that are too big to be developed within a single sprint. They are high level business needs that a project sponsor can provide in a project.
They are often called as features too and are described vague for any sort of accurate estimation of effort. They will generally include both essential and nice to have components and do not have any specific, testable acceptance criteria.
Below are few scenarios when we can identify a user story to be an Epic:
- When a user story is described in one or two word phrases
- When it looks like it will take entire bandwidth of the sprint for its completion
- When the development team estimates it to be too big to complete within a given sprint
Why do we need to split into smaller user stories?
- Smaller stories are easier to understand
- Stories selected for development should generally be small enough to accomplish in a matter of hours to a couple of days
- Progress to be tracked effectively during the iteration
- Stories that can or should be deferred until later can be identified
- Stories that are of higher value can be identified
Decomposition methods for splitting an Epic into stories:
- Breaking the epic by function
Example: Email functionality of a company
An Email can be sent to maximum 1000 recipients , Email can have attachments of all types (excel, csv, pdf, jpeg, png etc), Email template can be applied, Email should not have provision for bcc, Email attachment size should be limited up to 5gb, Emails sent to external recipients should be restricted
- Breaking the epic by steps in the process
Example: Employee background verification process
Collect Employee documents → Send to Background Verification team → Team checks authenticity of the documents → update the system with status of verification
- Breaking the epic structurally
Example: Reporting Dashboard Creation
Dashboard containing widgets for Total number of open incidents, Total number of incidents reopened, Total number of incident Resolved and Closed.
Below is a quick reference on How to Split User Stories using different criteria:
Thanks for reading!