Epics to User stories Slicing Techniques | Split Epics into Chunks

Welcome to PremierAgile!

Recognized for 'Outstanding Leadership in Education and Learning' by the Education 2.0 Conference Dubai 2024

We are proudly recognized for Excellence in Agile Consulting and Transformation Services – 2023 by Economic Times and Times of India!

*Avail a Flat 10% Discount Across all our certification courses

*Avail Zero Interest EMI

We Offer World-class guidance to transform yourself as well as your organizations

Mega Offer! Access our Advanced courses for  just 21,999/- +Taxes

PremierAgile

With an objective to enable continuous learning and progression for our learners, PremierAgile curated several learning articles in the areas of Agile, Scrum, Product Ownership, Scaling, Agile Leadership, Tools & Frameworks, latest market trends, new innovations etc...

Techniques to slice Epics into small User Stories

Techniques to slice Epics into small User Stories

As Agile organizations evolve in the market, the number of professionals that need education about Agile increases significantly. As a person who works in an Agile environment, they have to be knowledgeable about all the Agile terminologies and the methods that Agile frameworks use. Scrum is one of the most popular frameworks that companies implement as it is lightweight and easy to understand. Many professionals working in Agile have to keep up their knowledge with the present world and understand all the works that are going on in the organizations. Hence, learning about various details that are used in the Scrum Framework would be beneficial for individuals and would also help them understand the product development process thoroughly.

What does "Epic" refer to in Agile?

A Scrum is an iterative approach for developing complex products by employing ways that help the developers to think creatively and also be productive at their work. Scrum releases Product Increments which have the highest value for consumers. The Developers picks the most important Product Backlog Items from the Product Backlog, prioritized by the Product Owner. These Product Backlog Items can be written in the form of Epics and User Stories, and implemented in time-boxed periods called Sprints. Product Increments are features that are added to the product that would enhance their functionality and increase their value. Let us understand more about Epics, focus on various User Story techniques, and also learn more about the ways to split epics into smaller User Stories. An Epic or User Story are not part of the Scrum Framework.

An epic in Agile refers to a large chunk of work that could be divided into smaller User Stories. This work could take up many Sprints and could also be distributed across various Agile teams. An epic can be accurately described as a high-level description of what a client requires in the product and accordingly has some value attached to it. Due to this, the scope of epic can change over periodically.

Epics should be looked at as a useful way to organize tasks among the developers and create a hierarchy. The key idea behind epics is to break down the work into shippable pieces such that large projects are completed and the Agile team is consistent in shipping value to the customers in a regular time interval. Epics are a great way to divide the work among the team members while all of them continue to work towards a common and bigger goal set by the team for the product. Let us take a real-life example to understand the epic so that it is clearer. Suppose a Birthday party has to be organized at an individual's place. This Birthday party can be considered as an epic requirement for the person. To organize the party, the person has to organize the effort from the biggest to the smallest tasks. The person should be able to respond to changes, report the progress, and also stick to a plan or a roadmap. Let us consider that it is the birthday of "X". Once the epic requirement is clearly understood, the smaller tasks could be managed easily. The details of the epics such as X's age, friends, his/her likes and dislikes in color, food, etc would help plan the tasks such as deciding the menu, making the guest list, inviting people, decorating the place, getting gifts and cake, etc. Hence, in this example, planning the birthday party is the epic and the tasks involved to complete the epic are the smaller User Stories. 

Why should we Split Epics into smaller User Stories?

Let us assume that we have a piece of functionality in the Product Backlog that needs to be completed. The developers estimate that the completion of the functionality would be completed in 6 months. This is a good data point for planning if the developers were working in a traditional software methodology. However, when it comes to Agile Methodology, this data is not sufficient for planning and cannot be implemented in one Sprint. But developers are often faced with this scenario where the epics are larger than the Sprint and have to split into smaller User Stories. Splitting to smaller user stories helps the team to show the work done during the Sprint to the Stakeholders and also demonstrate it to them and eventually increase the product value. Epics cannot be taken up at once by the Developers. Only completing User Stories should be taken on so that the team can deliver shippable features on schedule. A solution to deal with epics is to break them into smaller User Stores such that it fits in the Sprints. Here are a few techniques to slice epics into smaller User Stories that help the Developers to deal with epics.

Epics and User Story Slicing Techniques

There are many ways that teams employ to slice epics into User Stories that would fit inside an individual Sprint. One of the best techniques for splitting epics is called Storytelling.

Storytelling

Storytelling refers to a tool that aids the team members to visualize the events of the product development and helps them to corroborate it back to the epic. In storytelling, the key idea is to create chunks out of the epics such that the team can select from them and deliver it in the Sprint period. There are many ways to create chunks in storytelling, few of them are listed below.

  • Workflow break down

Workflow breakdown refers to splitting the epic based on the work that has to be done during the epic. Taking a reference from the above example, in X's birthday party, shopping for the party can be one of the workflows, cooking food for the guests, decorating the house, etc. could be other workflows. Based on this kind of workflow, the work among the team members can be divided. Applying the same example during product development, to complete a specific epic, there have to be many workflows attached that have to be completed to finish the epic. This strategy also helps the Product Owner to prioritize the work that requires to be completed immediately for the product. 

  • Role-based breakdown

Taking the same example, many roles have to be completed so that the epic which is the birthday party has to be successful. It could be the role of a cook, host, or guest in the party. When focused on Agile management, the roles could be based on the product. When every person has a specific task, and if that task is the specialty of that person, it could be a great help in breaking down epics into User Stories. 

  • Breakdown around the timeline

Few epics can be broken according to the time that it takes to complete. These epics are divided such that the work gets completed as long as a Sprint lasts. The whole Sprint is taken up by that particular User Story (1 or more) that has been broken down. Hence, the User Story that is a high priority will be completed and slowly the epic is completed. As breaking down the Epics and User Stories involves several factors such as priority, interdependency, etc., there are two approaches for dividing the User Story. It is either a horizontal or vertical approach. 

Other techniques of splitting epics into smaller User Stories

As the teams gain more experience from splitting epics, they understand that splitting is more of an art form and there are no exact rules that have to be applied. There are a few patterns and trends that could help them split the epic into a User Story. Here are some more suggestions for splitting epics into stories. 

  • Data Boundaries: An epic could be divided into separate bits of functionality based on the same data lines. If one User Story is about the company's data display, another one could be based on the display of the company's contact information.
  • Operational boundaries: In this method, the epic is reduced to its minimum viable feature, and later additional slices of functionality are added to it.
  • Cross-cutting concerns: Here the method is to separate specific properties that all the features need to incorporate such that each of them can be addressed as separate User Stories. These items could include validation, security, and exceptions. 
  • CRUD: The Abbreviation stands for creating, read, update, and delete. By breaking up the feature based on these terms, we can separate the feature into separate User Stories. 
  • Non-functional requirements: In this method, the overarching items such as performance and capacity are treated as separate User Stories. For example, suppose an app needs to handle almost a million users. The issue of handling such a huge capacity need not be addressed in the first User Story. The capacity issue could be handled by treating it as a separate User Story. 

What's the difference between epic, story, and task?

As we have understood about breaking down epics and User Stories, let us understand what is the difference between them and if they are different at all. With the example of X's birthday party organization, here the epic is to organize the birthday party which is a large chunk of work. When a large chunk of work is broken down, it leads to smaller works which are called stories that could be established in Sprint time. The shopping for the party, cooking, inviting friends could be examples for User Stories. When the team divides the stories further, they are called tasks. The tasks for shopping could be to go to the nearest mall, buy decoration items, buy gifts for X; similarly for cooking it could be selecting the dishes to prepare, cleaning out the kitchen, buying all the raw materials. Hence, in conclusion, these are the points that one has to remember:

  • Epic: It is a requirement that is large enough to be delivered in a single Sprint. It must be broken down into smaller and shippable items called User Stories.
  • Story: It is the requirement that the business needs and is deliverable within a single Sprint. 
  • Tasks: It is the technical essentials of the story and are on-the-ground activities that take the story to "done".

What are the benefits of Epics?

Epics have numerous benefits in the product development process. Few of them are:

  • Epics help the Agile team understand the high-level requirement which is desired by the Stakeholder. It helps them understand the bigger picture of what is needed to be accomplished.
  • The scope of work that is agreed upon by the client could be defined with the help of Epic. The final output of what the client needs can be efficiently outlined.
  • The Product Backlog could be filled with bigger thoughts when epics are added. This would save the trouble of the Product Owner to add multiple items.
  • Epics also help the team to estimate the amount of time required to deliver the feature. 
  • It also helps the team to manage and groom their Product Backlog effectively.

What could be some common disadvantages of epics?

Using epics could have many positive outcomes for the Agile team. However, there may be certain disadvantages of using epics that one has to keep in mind and work accordingly. They are:

  • The team could conclude by only viewing the epics and not understand the details that would require to accomplish the epic. In such scenarios where the team creates a multifaceted tool to differentiate between epics and User Stories, there could be a lot of confusion created for the team.
  • The teams may not have a clear picture of what is to be completed as they estimate the epics at a very high level. Hence, the chances of ambiguity are more, and work could be completed as expected. 
  • Breaking an epic depends on what approach the professional wishes to take as there are no hard and fast rules to break epics. As it is about the mindset and approach, we may have differences of opinion among the team members of how to approach an epic.
Conclusion

Epics are one of the most fun ways to introduce an idea without taking more space in the Product Backlog. However, to complete an epic, it has to be broken down into smaller User Stories as completing it as a whole would take more than the allotted Sprint time. Breaking epics and User Stories are extremely important in the product development process as it brings clarity for the developers while creating new functionalities. Also, breaking down epics would help the team members to complete the features within sprint time and also would allow them to show their work at the end of the Sprint to the Stakeholders. Epics give a bigger picture to the team about the client's needs and breaking them into smaller User Stories would help the developers to divide the work and work efficiently. Hence, slicing epics into User Stories and further into tasks are a few of the fundamentally important processes that occur in product development.

References:

https://www.linkedin.com/pulse/10-techniques-split-user-stories-anca-onuta-pmp-spc

https://en.wikipedia.org/wiki/User_story

https://www.scrum.org/resources/blog/9-reasons-slice-user-stories-better


Author

Paula

Is a passionate learner and blogger on Agile, Scrum and Scaling areas. She has been following and practicing these areas for several years and now converting those experiences into useful articles for your continuous learning.