Scrum is an incremental, iterative, and agile software development method. It enables continuous delivery through sprints, which are cycles of closed-loop software development from user requirements management to user feedback implementation.
In Scrum projects, requirements can be managed in the four-layer hierarchy: , as shown in Figure 1.
Figure 1 Scrum project requirement breakdown model
Table 1 describes the work item types used by Scrum projects.
Table 1 Scrum project work items
Work Item Type |
Description |
Example |
Epic |
- An epic is a key strategy of an enterprise, such as the major business direction or technical evolution.
By discovering, defining, investing in, managing, and implementing epics, enterprises can realize their strategies and gain market shares and returns.
- Since an epic is a high-level description of requirements, it needs to be broken down into features, which are further divided into stories for development and delivery.
- It usually takes several months, or multiple sprints to deliver an epic.
Epics should be visible to all developers so that they can understand the strategic meaning and values of the to-be-delivered stories in a bigger picture.
|
An epic is defined based on an enterprise's operations, competitiveness, and market environment. Examples are as follows:
- Market differentiation: Deliver better user experience than competitors.
- Better solution: Develop a solution for the industrial Internet.
- Revenue growth: Increase paid users by 1 million in the next fiscal quarter.
- Major technical direction: Deploy all products on containers.
|
Feature |
|
The description of a feature should specify its values for customers, product form, and delivery mode.
Recommended template: As a <user role> I want <results> So that <purposes>
- User A wants to import and export data, so that they can efficiently organize data in batches.
- User B wants to receive notifications of due tasks, so that they can handle the tasks in time.
- User C wants to have a better drag-and-drop experience, so that they can perform operations more quickly.
- User D wants to create an alias, so that they can be more easily identified and remembered.
|
Story |
|
Examples of stories in compliance with INVEST:
Recommended template: As a <user role> I want <results> So that <purposes>
- As a project manager, I want to filter requirements by handler, so that I can quickly locate a specific requirement.
- As a developer, I want to collapse some unnecessary information, so that visual distraction can be reduced.
- As a tester, I want to associate test cases with requirements, so that I can track the verification progress of requirements.
|
Task |
In a sprint planning meeting, stories scheduled in a sprint are assigned to members and broken down into one or more tasks with estimated workloads. |
Tasks focus on series of actions that lead to a goal. Examples are as follows:
- Developer A needs to prepare a production-like environment today.
- Developer B needs to complete the permission settings for the project team this week.
- Developer C needs to review the code.
|
Bug |
|
An example template for bug description:
[Symptom]
[Error Code (Obtained by Pressing F12)]
[Environment]
[Fault Reproduction Procedure]
[Onsite Fault Locating R&D Engineer]
[Preliminary Fault Locating]
[Packets Captured Using Google Chrome] |