Bài 4 — Dùng AI áp INVEST để kiểm tra chất lượng User Story
Vấn đề
Một story trông "đúng mẫu" chưa chắc là story tốt. Nó có thể quá to (làm 3 sprint không xong), phụ thuộc chằng chịt, hoặc không có cách nào kiểm thử. INVEST là bộ 6 tiêu chí kinh điển để chấm chất lượng story. Tự chấm tay thì chủ quan; AI chấm cho bạn một góc nhìn thứ hai có cấu trúc — bạn dùng để phản biện chính mình.
INVEST là gì
- Independent — Độc lập, ít phụ thuộc story khác.
- Negotiable — Thương lượng được, không đóng cứng giải pháp.
- Valuable — Có giá trị cho người dùng/doanh nghiệp.
- Estimable — Ước lượng được công sức.
- Small — Đủ nhỏ để làm gọn trong một sprint.
- Testable — Kiểm thử được (đây là lý do ta viết AC ở Bài 3).
Ví dụ cụ thể
[Ngữ cảnh 4 dòng]
Đánh giá user story sau theo 6 tiêu chí INVEST. Với MỖI tiêu chí:
- chấm Đạt / Cần cải thiện / Không đạt
- nêu lý do NGẮN dựa trên chính nội dung story (không suy diễn)
- nếu "Cần cải thiện/Không đạt", đề xuất cách sửa cụ thể
Story: "Là quản trị viên, tôi muốn có một trang quản lý toàn bộ
người dùng, đơn hàng, khuyến mãi và báo cáo, để vận hành hệ thống."
Output mẫu (rút gọn):
> Small: Không đạt — story gộp 4 mảng lớn (người dùng, đơn, khuyến mãi, báo cáo), không thể xong trong 1 sprint. Sửa: tách thành 4 story độc lập theo từng mảng. > > Valuable: Đạt nhưng giá trị "để vận hành hệ thống" quá chung. Sửa: nêu giá trị cụ thể cho từng mảng. > > Testable: Cần cải thiện — chưa có AC, chưa rõ "quản lý" gồm hành động nào (xem/sửa/xóa/khóa?).
Giá trị nằm ở phần đề xuất sửa: AI biến một story mơ hồ thành to-do rõ ràng để bạn tách nhỏ.
Các bước làm
- Lấy story nghi ngờ "chưa ổn" (thường là story to hoặc mơ hồ).
- Chạy prompt INVEST ở trên.
- Đọc từng tiêu chí — chú ý nhất Small và Testable, hai lỗi phổ biến nhất.
- Với mỗi "Không đạt", quyết định: tách nhỏ / viết lại giá trị / bổ sung AC.
- Chạy lại prompt trên story đã sửa để xác nhận đã "Đạt".
- Ghi lại các lỗi hay gặp của riêng bạn để lần sau tránh từ đầu.
Kết hợp: tách story bằng AI
Khi "Small" không đạt, dùng ngay:
Story này quá lớn. Tách thành các story nhỏ độc lập theo
nguyên tắc INVEST. Với mỗi story con: giữ đủ 3 vế, và cho
biết story nào nên làm trước (ưu tiên cho MVP).
KHÔNG tạo story con trùng lặp hoặc phụ thuộc vòng.
Template tái dùng: Bảng chấm INVEST
Story: ______________________________________
Tiêu chí Đạt? Ghi chú / Cần sửa Independent Negotiable Valuable Estimable Small Testable
Quyết định: [ ] Đưa vào backlog [ ] Tách nhỏ [ ] Viết lại
Sai lầm thường gặp
- Tin điểm INVEST của AI một cách máy móc. AI có thể chấm "Estimable: Đạt" trong khi thực tế team bạn thiếu thông tin để ước lượng. Chỉ team mới biết mình ước lượng được hay không. Dùng AI làm gợi ý phản biện, không phải trọng tài.
- Bỏ qua bối cảnh phụ thuộc thật. AI không biết story A phải chờ hệ thống thanh toán của team khác. "Independent" chỉ đúng trong tầm nhìn của AI. Bạn bổ sung ràng buộc thực tế.
- Ảo giác lý do. Đôi khi AI viết lý do nghe hay nhưng không dựa trên nội dung story ("không đạt vì thiếu tích hợp CRM" trong khi story chẳng liên quan CRM). Ta đã chặn bằng câu "dựa trên chính nội dung story".
- Tách nhỏ quá đà. Chẻ một story thành 12 mảnh vụn khiến quản lý backlog mệt hơn. Nhỏ vừa đủ, không nhỏ vô nghĩa.
- Phụ thuộc quá mức. Nếu bạn không tự hiểu INVEST, bạn sẽ gật đầu với mọi phán xét của AI. Nắm chắc 6 tiêu chí để làm chủ cuộc chấm.
Kết bài
Story đã chất lượng, AC đã rõ. Bài 5 tấn công nỗi đau lớn nhất: dùng AI phủ hết edge case mà con người hay quên.