Compute
Elastic Cloud Server
Huawei Cloud Flexus
Bare Metal Server
Auto Scaling
Image Management Service
Dedicated Host
FunctionGraph
Cloud Phone Host
Huawei Cloud EulerOS
Networking
Virtual Private Cloud
Elastic IP
Elastic Load Balance
NAT Gateway
Direct Connect
Virtual Private Network
VPC Endpoint
Cloud Connect
Enterprise Router
Enterprise Switch
Global Accelerator
Management & Governance
Cloud Eye
Identity and Access Management
Cloud Trace Service
Resource Formation Service
Tag Management Service
Log Tank Service
Config
OneAccess
Resource Access Manager
Simple Message Notification
Application Performance Management
Application Operations Management
Organizations
Optimization Advisor
IAM Identity Center
Cloud Operations Center
Resource Governance Center
Migration
Server Migration Service
Object Storage Migration Service
Cloud Data Migration
Migration Center
Cloud Ecosystem
KooGallery
Partner Center
User Support
My Account
Billing Center
Cost Center
Resource Center
Enterprise Management
Service Tickets
HUAWEI CLOUD (International) FAQs
ICP Filing
Support Plans
My Credentials
Customer Operation Capabilities
Partner Support Plans
Professional Services
Analytics
MapReduce Service
Data Lake Insight
CloudTable Service
Cloud Search Service
Data Lake Visualization
Data Ingestion Service
GaussDB(DWS)
DataArts Studio
Data Lake Factory
DataArts Lake Formation
IoT
IoT Device Access
Others
Product Pricing Details
System Permissions
Console Quick Start
Common FAQs
Instructions for Associating with a HUAWEI CLOUD Partner
Message Center
Security & Compliance
Security Technologies and Applications
Web Application Firewall
Host Security Service
Cloud Firewall
SecMaster
Anti-DDoS Service
Data Encryption Workshop
Database Security Service
Cloud Bastion Host
Data Security Center
Cloud Certificate Manager
Edge Security
Managed Threat Detection
Blockchain
Blockchain Service
Web3 Node Engine Service
Media Services
Media Processing Center
Video On Demand
Live
SparkRTC
MetaStudio
Storage
Object Storage Service
Elastic Volume Service
Cloud Backup and Recovery
Storage Disaster Recovery Service
Scalable File Service Turbo
Scalable File Service
Volume Backup Service
Cloud Server Backup Service
Data Express Service
Dedicated Distributed Storage Service
Containers
Cloud Container Engine
SoftWare Repository for Container
Application Service Mesh
Ubiquitous Cloud Native Service
Cloud Container Instance
Databases
Relational Database Service
Document Database Service
Data Admin Service
Data Replication Service
GeminiDB
GaussDB
Distributed Database Middleware
Database and Application Migration UGO
TaurusDB
Middleware
Distributed Cache Service
API Gateway
Distributed Message Service for Kafka
Distributed Message Service for RabbitMQ
Distributed Message Service for RocketMQ
Cloud Service Engine
Multi-Site High Availability Service
EventGrid
Dedicated Cloud
Dedicated Computing Cluster
Business Applications
Workspace
ROMA Connect
Message & SMS
Domain Name Service
Edge Data Center Management
Meeting
AI
Face Recognition Service
Graph Engine Service
Content Moderation
Image Recognition
Optical Character Recognition
ModelArts
ImageSearch
Conversational Bot Service
Speech Interaction Service
Huawei HiLens
Video Intelligent Analysis Service
Developer Tools
SDK Developer Guide
API Request Signing Guide
Terraform
Koo Command Line Interface
Content Delivery & Edge Computing
Content Delivery Network
Intelligent EdgeFabric
CloudPond
Intelligent EdgeCloud
Solutions
SAP Cloud
High Performance Computing
Developer Services
ServiceStage
CodeArts
CodeArts PerfTest
CodeArts Req
CodeArts Pipeline
CodeArts Build
CodeArts Deploy
CodeArts Artifact
CodeArts TestPlan
CodeArts Check
CodeArts Repo
Cloud Application Engine
MacroVerse aPaaS
KooMessage
KooPhone
KooDrive
Help Center/ CodeArts Req/ Best Practices/ Best Practices of Scrum Projects/ Requirement Management/ Understanding the Four Keywords of Agile Requirement Management

Understanding the Four Keywords of Agile Requirement Management

Updated on 2024-10-30 GMT+08:00

Background

What is the relationship between concepts related to agile development, such as epic, feature, story, and task? How can we flexibly use these concepts to make agile requirement management more efficient? This section analyzes these four keywords in detail.

What Are Epic, Feature, Story, and Task?

Epic, Feature, Story, and Task indicate requirement granularities in descending order, which are used to divide requirements. They can be regarded as requirement placeholders. Their meanings can be used as a reference for requirement division.

  • Epic: project vision and goal. It holds significant strategic value for an enterprise, because its implementation, usually lasting several months, brings about the corresponding market position and returns.
  • Feature: a product function or feature that delivers benefits. Features are more specific and intuitive than epics in customers experience, possessing business value. It usually takes weeks to complete sprints.
  • Story: a user story. A story is a user's detailed description of product functions. It puts features into a product backlog for continuous planning and adjustment. Stories with high priorities are prioritized for delivery and hold significant user value. Stories must comply with the INVEST principle (Independent, Negotiable, Valuable, Estimable, Small, and Testable). It takes several days to complete stories, usually in a sprint.
  • Task: a specific task to be completed by team members. At the Sprint planning meeting, stories are assigned to members, and members break down the stories into tasks and estimate the workload. The whole process is usually completed within one day.

What Is the Relationship Between Epic, Feature, Story, and Task?

Epic-Feature-Story-Task manages requirements in a structured manner. It breaks down requirements layer by layer to build bottom-up dependencies, as shown in Figure 1.

Figure 1 Relationship between epic, feature, story, and task

Requirements change in development. We need to continuously adjust requirements to keep them and our team on the right track towards the goal. To this end, we must align requirements with the epic and ensure that stories and tasks which requirements belong to are associated with their upper layers.

For more information about structured requirement management, see Managing Requirements in a Structured Manner.

How Can We Flexibly Use These Concepts to Make Requirement Management More Efficient?

This section splits and displays the requirements of a case based on CodeArts Req to provide a detailed description of epic, feature, story, and task.

Case:

The turnover of a large store dropped sharply due to the impact of the Internet.

To keep its consumers and maintain the market position and share, the market decides to build its own online store in six months.

  • Step 1: Determine and create an epic.

    As described above, granularity and meaning must be taken into consideration before requirement confirmation.

    Is a product an epic? Is each service module of a product an epic or feature? These questions need to be answered.

    • A product is usually of strategic significance. Therefore, it is suitable to take a product as an epic. However, it does not apply to all products. The product itself and its granularity matter. In this case, the online store cycle is 6 months, and the goal is to maintain market share. In view of granularity and strategic sense, it is suitable to take the online store as an epic.
    • Whether each service module is an epic or feature depends on the actual situation. For example, building a smart city is a vision, which includes large service modules, such as smart transportation, smart government, and smart community. Therefore, it is better to use epic as a placeholder.

      Create a Scrum project in CodeArts and name it "Large online store". On the page for requirement planning page, create an epic.

      Figure 2 Creating an epic

    After the creation, click the store to go to the editing page. Fill in the description. You can use the template provided by CodeArts.

    • As: As for this epic, the user is the entire company.
    • I want: The desired result is to build an online store.
    • So that: The goal is to keep consumers and maintain market position and share.

      Set the start time, end time, priority, importance, and estimated workload of this epic. The information is essential to understanding the product and project. Therefore, you need to fill in the information in detail.

      Figure 3 Writing an epic
  • Step 2: Break down the epic into features.

    The customer requires that five functional modules (promotion management, member management, order management, delivery management, and client) be delivered within six months. A team sprint is two weeks. Each module requires two or three sprints. In view of granularity and meaning, it is suitable to take five modules as features.

    Figure 4 Splitting the epic into features

    After the creation, you can edit the information on the details page. The information items on the page are the same as those on the epic page.

  • Step 3: Break down features into stories.

    Agile development is gradually detailed. It is not required that all requirements be detailed at the same time. Only the stories of the current sprint and one or two future sprints should be detailed. The story of a future sprint can be general. Stories in the current Sprint must comply with the INVEST principle. The development team needs to complete delivery at the end of the Sprint.

    Member management, as a feature, has a higher customer priority. Therefore, member management needs to be broken down into stories and added to the product backlog in the requirement review. After the breakdown, the following functions related to the administrator need to be included: bonus point management, member level management, user analysis, and user management. These specific functions can be taken as stories. Note that it is better to deliver stories in a sprint. If the delivery fails, further break down the stories. Only delivered stories are valuable. Stories that cannot be delivered are a waste for the current Sprint. The stories after the breakdown are shown in Figure 5.

    Figure 5 Breaking down features into stories
  • Step 4: Break down stories into tasks

    At the Sprint planning meeting, the team and PO need to jointly select the stories to be completed in the Sprint from the product backlog according to the priority and put them into the sprint backlog. After claiming the story, team members break down the story into tasks for further estimation.

    So how can we distinguish stories from tasks?

    • Story focuses on value and needs to be completed in a sprint. The completion must comply with the INVEST principle and usually takes several days. Story is more of a noun. For example, bonus point management as a story can be described as follows: As an administrator, I can manage bonus points of members to provide different value-added services based on consumption levels.
    • Task focuses on value realization. Story functions are implemented based on tasks. A task is more of an action that usually takes one to eight hours. For example, bonus point management as a story needs to be implemented through service logic development, bonus point rule design, and bonus point database design. These are tasks, as shown in Figure 6.
      Figure 6 Breaking down stories into tasks

    In this way, the online store requirements are broken down into epics, features, stories, and tasks.

Summary

When using "Epic-Feature-Story-Task" to manage requirements, pay attention to the following aspects:

  1. In agile development, requirements are gradually refined and broken down in a top-down manner.
  2. Epics and features are large-granularity requirements. They are users' expectations for products and descriptions of functions and features.
  3. You need to break down features into smaller stories. Future requirements (possibly in three or more sprints) do not need to be further divided. In some sprints, break down stories into smaller ones.
  4. In a sprint, stories are broken down into tasks.
  5. All the rough and detailed stories are placed in the product backlog. The entire list must be detailed appropriately, emergent, estimated, and prioritized (DEEP). The list must be sorted out and prioritized periodically to ensure that high-priority requirements are implemented and delivered first.
  6. Keep contact with customers during the whole process to ensure that the functions to be implemented align with their actual needs.

This document uses a user scenario to help understand the meanings and usage of "Epic-Feature-Story-Task". You need to take characteristics of the product and service into consideration during development.

We use cookies to improve our site and your experience. By continuing to browse our site you accept our cookie policy. Find out more

Feedback

Feedback

Feedback

0/500

Selected Content

Submit selected content with the feedback