HƯỚNG DẪN VIẾT USER STORY
1. GIỚI THIỆU
Chương này giúp sinh viên hiểu cách thu thập và mô tả yêu cầu người dùng thông qua User Story, một công cụ quan trọng trong quy trình phát triển phần mềm theo Agile/Scrum. Việc nắm rõ cách viết, phân tích và tổ chức User Story sẽ giúp nhóm phát triển xây dựng Product Backlog chất lượng, rõ ràng và dễ triển khai trong từng Sprint.
2. KHáI NIỆM USER STORY
User Story là mô tả ngắn gọn về một chức năng dưới góc nhìn của người dùng. Được viết dưới dạng:
Là một [loại người dùng], tôi muốn [chức năng] để [mục tiêu]
Ví dụ: Là một sinh viên, tôi muốn có thể đăng ký môn học trực tuyến để tiết kiệm thời gian.
-
Đặc điểm:
- Ngắn gọn, tập trung vào giá trị người dùng
- Không mô tả chi tiết kỹ thuật
- Có thể thay đổi, mở rộng linh hoạt
- VAI TRò CỦA USER STORY TRONG SCRUM
- Là thành phần chính của Product Backlog
- Được sử dụng trong các buổi Sprint Planning để chia thành các task
-
Là cơ sở để kiểm thử chấp nhận (Acceptance Test)
- CẤU TRúC CHUẨN CỦA MỘT USER STORY
- Câu mô tả (User Goal)
Là một… tôi muốn… để…
-
Tiêu chí chấp nhận (Acceptance Criteria)
- Điều kiện để chức năng được xem là hoàn thành
- Mỗi User Story nên có từ 2–5 tiêu chí rõ ràng
-
Ước lượng (Estimation)
- Thường được đánh giá theo điểm (story points)
- Dùng cho lập kế hoạch Sprint
3. QUY TẮC INVEST CHO USER STORY TỐT
Mỗi User Story nên tuân theo nguyên tắc INVEST:
|
Chữ cái |
ý nghĩa |
|---|---|
|
I |
Independent – Độc lập |
|
N |
Negotiable – Có thể thương lượng |
|
V |
Valuable – Có giá trị |
|
E |
Estimable – Có thể ước lượng |
|
S |
Small – Vừa phải |
|
T |
Testable – Có thể kiểm thử |
4. PHâN TíCH YêU CẦU TỪ GóC NHìN NGƯỜI DùNG
Các bước:
-
Xác định vai trò người dùng (persona)
- Ví dụ: sinh viên, giảng viên, nhân viên thư viện
-
Xác định mục tiêu người dùng
- Họ cần gì? Vì sao?
-
Viết câu chuyện người dùng
- Sử dụng mẫu: Là một..., tôi muốn..., để...
-
Phỏng vấn – khảo sát – quan sát
- Thu thập yêu cầu từ thực tế
- Ví DỤ VIẾT USER STORY THEO TỪNG VAI TRò
|
Vai trò |
User Story |
|
Sinh viên |
Là một sinh viên, tôi muốn xem điểm từng môn để theo dõi tiến độ học tập. |
|
Giảng viên |
Là một giảng viên, tôi muốn nhập điểm qua web để tiết kiệm thời gian. |
|
Quản trị viên |
Là một quản trị viên, tôi muốn quản lý người dùng để đảm bảo hệ thống hoạt động đúng. |
5. VIẾT TIêU CHí CHẤP NHẬN (ACCEPTANCE CRITERIA)
Ví dụ:
User Story:
Là một sinh viên, tôi muốn thay đổi mật khẩu để bảo mật tài khoản.
Tiêu chí chấp nhận:
- Người dùng có thể nhập mật khẩu cũ và mới.
- Mật khẩu mới phải dài ít nhất 8 ký tự.
- Thông báo lỗi nếu mật khẩu cũ sai.
-
Hiển thị thông báo thành công sau khi đổi mật khẩu.
- ƯỚC LƯỢNG ĐỘ LỚN USER STORY
Các nhóm thường sử dụng:
- Planning Poker
- Story Point: đo độ phức tạp tương đối (không theo giờ)
- Các giá trị phổ biến: 1, 2, 3, 5, 8, 13, 21 (Fibonacci)
Lưu ý: Không nên chia User Story quá nhỏ ngay từ đầu, chỉ chia khi đưa vào Sprint.
6. SAI LẦM PHỔ BIẾN KHI VIẾT USER STORY
- Viết quá dài, giống mô tả kỹ thuật
- Không nêu rõ mục tiêu người dùng
- Không có tiêu chí chấp nhận
- Viết theo góc nhìn lập trình viên, không phải người dùng
- Gộp quá nhiều chức năng vào 1 story
7. PHâN BIỆT USER STORY, USE CASE Và TASK
|
Tiêu chí |
User Story |
Use Case |
Task |
|
Góc nhìn |
Người dùng |
Hệ thống & người dùng |
Lập trình viên |
|
Mức độ |
Cao – khái quát |
Trung bình – chi tiết hơn |
Thấp – rất cụ thể |
|
Mục đích |
Truyền đạt yêu cầu |
Mô tả tương tác |
Chia việc |
|
Giai đoạn |
Product Backlog |
Phân tích yêu cầu |
Sprint |
8. CôNG CỤ HỖ TRỢ VIẾT USER STORY
- Trello
- Jira
- Notion
- Google Sheets + Template
- Miro: sơ đồ hóa yêu cầu người dùng
9. HƯỚNG DẪN VIẾT USER STORY THEO NHóM
- Lập danh sách các vai trò người dùng
- Mỗi thành viên viết 2–3 User Story cho từng vai trò
- Gộp nhóm, loại trùng lặp
- Đưa vào bảng Product Backlog
- Bổ sung tiêu chí chấp nhận, ước lượng
10. CâU HỎI ôN TẬP
- Mô tả cấu trúc chuẩn của một User Story.
- INVEST là gì? Nêu ý nghĩa từng chữ.
- Phân biệt User Story và Task?
- Acceptance Criteria dùng để làm gì?
- Tại sao không nên viết User Story quá kỹ thuật?
11. BàI TẬP THỰC HàNH
Bài tập 1: Viết 3 User Story cho hệ thống điểm danh sinh viên bằng mã QR.
Bài tập 2: Phân tích một User Story sai và viết lại theo chuẩn INVEST.
Bài tập 3: Làm việc nhóm: Viết 5 User Story cho đề tài "App hỗ trợ sinh viên thuê trọ".
12. TàI LIỆU THAM KHẢO
- User Story Mapping, Jeff Patton
- The Art of Agile Development, James Shore
- Scrum Guide, Ken Schwaber & Jeff Sutherland
- Agile Alliance – www.agilealliance.org