1. User Story là gì?
Định nghĩa của user story trên wiki là như sau:
“Trong software development (phát triển phần mềm) và product management (quản lý sản phẩm), user story là phần mô tả về một hoặc nhiều tính năng của một hệ thống phần mềm sử dụng ngôn ngữ tự nhiên, không trang trọng. User story thường được viết từ góc nhìn của người dùng hệ thống.”
(In software development and product management, a user story is an informal, natural language description of one or more features of a software system. User stories are often written from the perspective of an end user or user of a system.)
Nói một cách đơn giản hơn nữa thì user story là mô tả tính năng được viết sao cho thể hiện được giá trị của sản phẩm đối với người dùng. Là một phần trong Scrum (framework phát triển phần mềm), user story thể hiện được các giá trị cốt lõi của Tuyên ngôn Agile trong việc đề cao cá nhân và tương tác (individuals and interactions), phần mềm chạy tốt (working software), hợp tác với khách hàng (customer collaboration) và thích nghi với thay đổi (responding to change).

Một kiểu viết user story phổ biến là:
Là <người dùng> tôi muốn <mục tiêu>, để được <lợi ích>.
(As a <type of user>, I want <some goal> so that <some reason.)
Ví dụ: Là một HR manager, tôi muốn có thể tạo ra một bài test online để chọn ra một danh sách ứng viên đáp ứng được yêu cầu cơ bản và gửi cho cấp trên.
2. Áp dụng INVEST khi viết User Story
Bạn có thể tham khảo phương pháp INVEST để viết user story hiệu quả hơn.
INVEST là từ viết tắt của những yếu tố cần có trong một user story:
- Independent (độc lập): Mỗi user story phải độc lập với các user story khác. Từ mỗi user story sẽ có các tính năng tương ứng được tạo ra nên bạn chắc chắn là không muốn tạo ra những tính năng trùng lặp.
- Negotiable (có thể thay đổi được): Được sử dụng trong agile nên user story cũng phải tuân theo tinh thần agile là đề cao khả năng thích nghi với thay đổi hơn là theo đuổi kế hoạch cứng nhắc.
- Valuable (có giá trị): Cái này chắc không phải nói nhiều, user story phải thể hiện được giá trị rõ ràng cho khách hàng.
- Estimatable (có thể ước lượng): Một user story tốt là một user story khiến người đọc có thể hình dung ngay lượng công việc.
- Small (nhỏ): Được dùng trong agile development nên user story chỉ nên có khối lượng công việc nhỏ, tốt nhất là vừa vặn trong độ dài một Sprint.
- Testable (có thể kiểm thử được): User story cần miêu tả thứ có thể kiểm thử được để có thể xác nhận khi user story hoàn tất.
Bạn có thể xem phần giải thích các thuật ngữ xuất hiện trong bài tại đây.
2 comments