Phụ lục C: Mẫu Epic + User Story backlog đầy đủ (dự án FoodNow)
Nội dung dưới đây in lại đầy đủ từ file mẫu gốc: templates/user-story-epic/FoodNow-UserStories.md.
Xem cách phân rã Epic thành User Story tại Chương 24, cách viết Acceptance Criteria tại Chương 23,
và cách ưu tiên hoá tại Chương 26.
Epic A: Đặt món & Thanh toán
| ID |
User Story |
Ưu tiên |
| US-101 |
Là khách hàng, tôi muốn xem thực đơn theo danh mục, để dễ dàng tìm món tôi muốn ăn |
Must have |
| US-102 |
Là khách hàng, tôi muốn thêm/sửa/xoá món trong giỏ hàng, để tôi kiểm soát đúng đơn hàng trước khi thanh toán |
Must have |
| US-103 |
Là khách hàng, tôi muốn chọn giao tận nơi hoặc lấy tại quán, để phù hợp với nhu cầu của tôi lúc đó |
Must have |
| US-104 |
Là khách hàng, tôi muốn thanh toán bằng thẻ hoặc ví điện tử, để tôi không cần chuẩn bị tiền mặt |
Must have |
| US-105 |
Là khách hàng, tôi muốn thanh toán khi nhận hàng (COD), để tôi yên tâm khi chưa quen với thanh toán online |
Should have |
| US-106 |
Là khách hàng, tôi muốn áp dụng mã giảm giá khi thanh toán, để tôi tiết kiệm chi phí |
Must have |
Acceptance Criteria mẫu cho US-106 (xem đầy đủ tại Chương 23, mục 23.3):
Scenario 1: Áp dụng mã giảm giá hợp lệ
Given giỏ hàng có tổng giá trị 200.000đ
And mã giảm giá "FOODNOW10" đang có hiệu lực, giảm 10%
When khách hàng nhập mã "FOODNOW10" và bấm Áp dụng
Then tổng tiền thanh toán giảm còn 180.000đ
And hệ thống hiển thị thông báo "Đã áp dụng mã giảm giá FOODNOW10"
Scenario 2: Nhập mã giảm giá đã hết hạn
Given mã giảm giá "TET2024" đã hết hạn sử dụng
When khách hàng nhập mã "TET2024" và bấm Áp dụng
Then hệ thống hiển thị thông báo lỗi "Mã giảm giá đã hết hạn"
And tổng tiền thanh toán không thay đổi
Scenario 3: Nhập mã giảm giá thứ hai sau khi đã áp dụng một mã
Given khách hàng đã áp dụng thành công mã "FOODNOW10"
When khách hàng nhập thêm mã "SUMMER5" và bấm Áp dụng
Then hệ thống hiển thị thông báo "Chỉ được áp dụng 1 mã giảm giá cho mỗi đơn hàng"
And mã "FOODNOW10" vẫn được giữ nguyên hiệu lực
Epic B: Theo dõi đơn hàng
| ID |
User Story |
Ưu tiên |
| US-201 |
Là khách hàng, tôi muốn xem trạng thái đơn hàng theo thời gian thực, để tôi biết khi nào đồ ăn sẽ đến |
Must have |
| US-202 |
Là khách hàng, tôi muốn nhận thông báo đẩy khi trạng thái đơn hàng thay đổi, để tôi không cần liên tục mở app kiểm tra |
Must have |
| US-203 |
Là khách hàng, tôi muốn xem lịch sử các đơn hàng đã đặt, để tôi có thể đặt lại nhanh chóng |
Should have |
| US-204 |
Là khách hàng, tôi muốn huỷ đơn hàng trong vòng 2 phút sau khi đặt, để tôi có thể sửa sai nếu đặt nhầm |
Should have |
Epic C: Chương trình khách hàng thân thiết
| ID |
User Story |
Ưu tiên |
| US-401 |
Là khách hàng, tôi muốn được tự động tích điểm sau mỗi đơn hàng thành công, để tôi tích luỹ dần |
Must have |
| US-402 |
Là khách hàng, tôi muốn xem số điểm hiện có, để biết mình còn bao nhiêu điểm |
Must have |
| US-403 |
Là khách hàng, tôi muốn xem lịch sử tích/đổi điểm, để kiểm tra lại giao dịch |
Should have |
| US-404 |
Là khách hàng, tôi muốn đổi điểm lấy mã giảm giá, để tiết kiệm chi phí đơn hàng tiếp theo |
Must have |
| US-405 |
Là khách hàng, tôi muốn nhận thông báo khi điểm sắp hết hạn, để không bỏ lỡ cơ hội dùng |
Could have |
| US-406 |
Là Ban giám đốc, tôi muốn xem báo cáo tổng điểm đã phát hành/đã đổi theo tháng, để đánh giá hiệu quả |
Should have |
Epic D: Quản trị đơn hàng (dành cho nhân viên chi nhánh)
| ID |
User Story |
Ưu tiên |
| US-301 |
Là nhân viên chi nhánh, tôi muốn nhận thông báo ngay khi có đơn hàng mới, để tôi xử lý kịp thời |
Must have |
| US-302 |
Là nhân viên chi nhánh, tôi muốn xác nhận hoặc từ chối đơn hàng kèm lý do, để khách hàng biết trạng thái đơn của họ |
Must have |
| US-303 |
Là nhân viên chi nhánh, tôi muốn cập nhật trạng thái xử lý đơn hàng, để khách hàng theo dõi được |
Must have |
| US-304 |
Là quản lý chi nhánh, tôi muốn xem báo cáo doanh thu và số đơn theo ngày/tuần/tháng, để theo dõi hiệu quả kinh doanh |
Should have |