Product Management
Đăng nhập
ESC

Nhập từ khóa để tìm kiếm

↑↓ Di chuyển
Enter Mở
ESC Đóng

User Story Writing (INVEST)

Delivery

Viết user story theo nguyên tắc INVEST: Independent, Negotiable, Valuable, Estimable, Small, Testable.

Bạn đang ở đâu với kỹ năng này?

Làm bài Đánh giá Kỹ năng Delivery cho PM/PO — Một lần làm chấm điểm cho tất cả kỹ năng trong nhóm Delivery, không chỉ kỹ năng này.

Làm bài đánh giá

Kỹ năng này cho bạn điều gì

Bắt đầu từ đây

Hiểu user story là lời hứa sẽ trao đổi chứ không phải bản đặc tả thu nhỏ, và giá trị nằm ở cuộc trao đổi cùng điều kiện xác nhận chứ không ở chữ trên thẻ. Biết sáu phép thử INVEST và hai chữ đáng giữ nhất là có giá trị và kiểm được.

Khi đã làm được

Cắt được story lớn bằng sáu cách mà vẫn giữ giá trị tự thân cho từng mảnh, viết được điều kiện xác nhận dạng ví dụ cụ thể có ca ngoại lệ và có phần ngoài phạm vi, và nhận ra "đội không ước lượng được" là tín hiệu thiếu hiểu biết chứ không phải lý do ép cho số.

Roadmap — Cách học và đạt kỹ năng

Đã đọc 0/8 mục · còn khoảng 6 phút
Cách chúng tôi ghi nhận

Một mục được tính là đã đọc khi nó nằm giữa màn hình đủ lâu so với độ dài của nó (bảng và sơ đồ tính một nửa), bạn vẫn đang cuộn hoặc bấm phím, và bạn đã thấy tới cuối mục. Lướt nhanh hoặc để tab mở không được tính. Chúng tôi chỉ lưu thời gian đọc từng mục — không lưu gì khác.

User story là lời hứa sẽ nói chuyện, không phải bản đặc tả thu nhỏ

User story được sinh ra để thay thế tài liệu đặc tả dày cộm, không phải để nén nó lại thành một câu. Giá trị của nó nằm ở cuộc trao đổi mà nó khơi ra, không nằm ở chữ nghĩa trong thẻ.

Nếu đội bạn viết story rồi ném qua cho engineer mà không nói chuyện, bạn đang có phần tệ nhất của cả hai cách làm: vừa thiếu chi tiết của tài liệu đặc tả, vừa mất đi cuộc trao đổi mà story lẽ ra phải tạo ra.

Ba phần của một story, và phần thứ ba mới là phần có sức nặng:

PhầnLà gìVai trò
ThẻMột hai câu mô tảĐể nhớ là có việc này — không phải để mô tả đủ
Cuộc trao đổiĐội bàn với nhau và với PONơi hiểu biết thật sự được tạo ra
Điều kiện xác nhậnCách biết là đã xongNơi chi tiết được chốt lại

Mẫu câu quen thuộc — "Là một [vai trò], tôi muốn [hành động], để [lợi ích]" — hữu ích vì nó buộc phải trả lời "để làm gì". Nhưng đừng thờ phụng nó: nếu phần "để…" nghe gượng ép hoặc lặp lại phần "tôi muốn…", story đó thường không có giá trị thật cho người dùng.

INVEST — sáu phép thử, và cái nào quan trọng nhất

ChữNghĩaPhép thử nhanhKhông đạt thì
I — Độc lậpLàm được mà không phụ thuộc story khácCó làm story này trước story kia được không?Thứ tự bị khoá cứng, không xếp ưu tiên được
N — Thương lượng đượcChưa chốt cứng cách làmThẻ có mô tả giải pháp kỹ thuật không?Mất cơ hội tìm cách làm rẻ hơn
V — Có giá trịNgười dùng hoặc doanh nghiệp được lợiAi đó ngoài đội có quan tâm không?Đội bận rộn mà không ai hưởng lợi
E — Ước lượng đượcĐội đoán được kích cỡĐội có ước lượng nổi không?Dấu hiệu còn thiếu hiểu biết, không phải thiếu kỹ năng
S — Đủ nhỏXong trong một sprintCó vừa một sprint không?Không bao giờ hoàn thành, kéo dài qua nhiều kỳ
T — Kiểm đượcBiết rõ thế nào là xongViết được điều kiện xác nhận không?Tranh cãi lúc nghiệm thu

Trong sáu chữ, chữ V và chữ T là hai chữ đáng giữ nhất. Một story không có giá trị rõ ràng là việc làm lãng phí dù viết đẹp tới đâu; một story không kiểm được sẽ luôn kết thúc bằng tranh cãi.

Về chữ E: khi đội không ước lượng được, phản xạ đúng không phải là ép họ cho một con số. Đó là tín hiệu cần một cuộc trao đổi nữa, hoặc cần một bản dựng thử nhỏ để hiểu thêm.

Cắt story lớn — sáu cách, kèm ví dụ

Story quá lớn là vấn đề phổ biến nhất. Dưới đây là các cách cắt, xếp từ tốt tới tạm được.

Cách cắtVí dụGhi chú
Theo bước trong luồng"Đặt hàng" → chọn hàng / nhập địa chỉ / thanh toánCách tốt nhất — mỗi mảnh vẫn có giá trị
Theo quy tắc nghiệp vụTính phí ship → trước làm mức phí phẳng, sau làm theo vùngRất hiệu quả, hay bị bỏ qua
Theo loại dữ liệuNhập hàng → trước làm hàng thường, sau làm hàng có hạn dùngTốt khi độ phức tạp nằm ở dữ liệu
Theo ca chính và ca ngoại lệTrước làm luồng thuận, sau làm huỷ và hoàn tiềnPhải viết rõ ca ngoại lệ thành story riêng, đừng để quên
Theo thao tác CRUDTrước cho xem, sau cho sửaTạm được; đôi khi mảnh đầu chưa đủ giá trị tự thân
Theo lớp kỹ thuậtTrước làm API, sau làm giao diệnNên tránh. Không mảnh nào giao được giá trị cho tới khi xong cả hai

Phép thử sau khi cắt: nếu chỉ làm mảnh đầu tiên rồi dừng, có ai được lợi không? Trả lời "không" nghĩa là bạn vừa cắt theo lớp kỹ thuật dù tưởng là không.

Điều kiện xác nhận — viết thế nào cho khỏi cãi

Đây là phần quyết định story thành hay bại, và là phần hay được viết qua loa nhất.

  • Viết thành ví dụ cụ thể, không viết thành nguyên tắc chung. "Hệ thống phải xử lý đơn hàng lớn" là nguyên tắc; "đơn 150 mã hàng hiển thị đầy đủ trong 3 giây" là ví dụ kiểm được.
  • Dùng cấu trúc bối cảnh → hành động → kết quả. "Khi giỏ hàng có hàng hết tồn kho, và người dùng bấm thanh toán, thì hiện cảnh báo nêu rõ mã hàng nào và không cho đi tiếp."
  • Luôn có ít nhất một ca ngoại lệ. Điều kiện xác nhận chỉ toàn ca thuận nghĩa là chưa nghĩ đủ.
  • Nêu cả điều KHÔNG thuộc phạm vi. "Lần này chưa xử lý đơn hàng quốc tế." Câu này tiết kiệm nhiều tranh luận hơn bất kỳ câu nào khác.
  • Viết cùng engineer và QA, không viết một mình. Họ sẽ nghĩ ra ca mà bạn không nghĩ tới — đó chính là giá trị của cuộc trao đổi.

Ví dụ — một story tệ được sửa thành tốt

Bản tệ: "Là một người dùng, tôi muốn có bộ lọc, để tìm dễ hơn."

Vấn đề: vai trò chung chung, không rõ lọc theo gì, không rõ lợi ích thật, không có điều kiện xác nhận, và quá lớn để ước lượng.

Bản đã sửa:

"Là nhân viên kho đang kiểm hàng tồn, tôi muốn lọc danh sách theo trạng thái sắp hết hàng, để đặt hàng bổ sung trước khi hết sạch."

Điều kiện xác nhận:

  • Khi có hàng dưới mức tồn tối thiểu, và tôi chọn bộ lọc "Sắp hết", thì danh sách chỉ hiện những mã đó, sắp xếp theo mức thiếu nhiều nhất lên trước.
  • Khi không có mã nào sắp hết, thì hiện thông báo "Không có mặt hàng nào sắp hết" kèm nút quay lại danh sách đầy đủ.
  • Khi danh sách có trên 200 mã, thì kết quả lọc vẫn hiện trong vòng 2 giây.
  • Ngoài phạm vi lần này: chưa tự động tạo đơn đặt hàng bổ sung.

Bản đã sửa ước lượng được, kiểm được, và có giá trị rõ ràng — cùng một ý tưởng, khác nhau ở chỗ đã trải qua một cuộc trao đổi.

Hiccups thường gặp và cách xử lý

HiccupVì sao xảy raXử lý
Story viết xong ném qua, không ai nói chuyệnCoi thẻ là bản đặc tảBuổi làm rõ giữa sprint là bắt buộc; thẻ chỉ là lời nhắc
Story kéo dài qua nhiều sprintChưa cắt đủ nhỏDùng sáu cách cắt; ưu tiên cắt theo bước luồng hoặc quy tắc nghiệp vụ
Tranh cãi lúc nghiệm thuĐiều kiện xác nhận viết dạng nguyên tắc chungViết thành ví dụ cụ thể có số liệu, kèm ca ngoại lệ
Thẻ mô tả sẵn giải pháp kỹ thuậtPO viết luôn cách làmMô tả vấn đề và kết quả mong muốn; để đội chọn cách
Mảnh cắt ra không ai dùng đượcCắt theo lớp kỹ thuậtPhép thử: làm mảnh đầu rồi dừng thì có ai được lợi không?
Đội không ước lượng đượcThiếu hiểu biết, không phải thiếu kỹ năngThêm một cuộc trao đổi hoặc một bản dựng thử nhỏ, đừng ép cho số

Vì sao vai trò của bạn cần cái này

Vai tròBạn dùng nó để
Product OwnerStory là đơn vị bạn dùng để xếp ưu tiên; cắt không khéo thì không xếp được
Business AnalystĐiều kiện xác nhận là sản phẩm chính của bạn — đây là nơi phân tích biến thành thứ kiểm được
QAĐiều kiện xác nhận chính là ca kiểm thử đầu tiên; tham gia viết thì đỡ phải đoán sau
EngineerStory thương lượng được cho bạn quyền đề xuất cách làm rẻ hơn
Scrum MasterStory không đạt INVEST là nguyên nhân gốc của phần lớn sprint trượt

Definition of done

  • Mỗi story đã qua một cuộc trao đổi thật, không chỉ được viết ra.
  • Story đạt sáu phép thử INVEST, đặc biệt là có giá trị và kiểm được.
  • Điều kiện xác nhận viết thành ví dụ cụ thể theo bối cảnh → hành động → kết quả.
  • Có ít nhất một ca ngoại lệ trong điều kiện xác nhận.
  • Có nêu rõ phần nào ngoài phạm vi lần này.
  • Story cắt ra vẫn có giá trị tự thân — không cắt theo lớp kỹ thuật.

Tự kiểm 3 câu

Đọc xong rồi thì thử xem — đúng cả ba là đạt.
1. Chữ “I” trong INVEST nghĩa là gì?
2. User story nào viết tốt hơn?
3. Một story quá lớn cho một sprint thì nên làm gì?

Khóa học liên quan (5)

Sử dụng trong vai trò

Thảo luận & tài liệu thêm 0

Chia sẻ kinh nghiệm, đặt câu hỏi, hoặc đính kèm tài liệu/YouTube giúp người khác học kỹ năng này.

Hãy là người đầu tiên chia sẻ kinh nghiệm cho kỹ năng này.

Kiểm tra kỹ năng này

Bài kiểm tra của các khóa dạy kỹ năng này
1 Chẩn đoán

Đánh giá mức sẵn sàng làm Business Analyst

Chấm riêng từng chiều của kỹ năng này.

35 người đã làm
Làm bài này
2 Quiz

Chương 1: Nền tảng BA & Quy trình thu thập yêu cầu end-to-end

Bài kiểm tra của một khóa dạy kỹ năng này.

15 người đã làm
Làm bài này
3 Quiz

Chương 2: Kỹ thuật Elicitation: từ lập kế hoạch đến phỏng vấn và xác nhận yêu cầu

Bài kiểm tra của một khóa dạy kỹ năng này.

8 người đã làm
Làm bài này
4 Quiz

Chương 3: Kỹ thuật phỏng vấn và workshop thu thập yêu cầu

Bài kiểm tra của một khóa dạy kỹ năng này.

6 người đã làm
Làm bài này

Học kỹ năng này ở đâu?

Có 5 khóa dạy đúng phần này, miễn phí và bằng tiếng Việt.

Bắt đầu học