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...
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.
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 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.
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.
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.
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:
What are the benefits of Epics?
Epics have numerous benefits in the product development process. Few of them are:
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:
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.
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