Mô tả tính năng phần mềm dễ hiểu với User story
Giới thiệu
Trong quá trình gặp khách hàng, mình nhận thấy đa số anh (chị) không có background về IT thường gặp khó khăn khi mô tả các tính năng họ muốn.
Bài viết này sẽ giới thiệu cách mô tả tính năng phần mềm dễ hiểu bằng User Story.
User story là gì?
User story là đoạn mô tả ngắn về tính năng của phần phần mềm, thường là dưới góc nhìn của người dùng. Mẫu của user story là:
As a <type of user>, I want to <action>, So that <benefit/reason>
Trong đó,
type of user: Who - Ai tương tác, ai dùng tính năng này
action: What - Tính năng này làm gì
benefit/reason: Why - Tại sao, lợi ích khi có tính năng này.
Ví dụ (viết Anh - Việt luôn nha):
` As a 'người dùng', I want to 'đồng bộ dữ liệu từ Google Drive về máy tính của mình', So that 'đỡ mắc công mỗi lần mở file, chỉnh sửa files phải lên trình duyệt'.
`
Chia nhỏ User story
Có thể chia nhỏ User story lớn thành các User story nhỏ hơn. Ví dụ như User story ở trên có thể tách thành 3 User stories bên dưới:
` As a 'người dùng', I want to 'đánh dấu folder nào được đồng bộ dữ liệu từ Google Drive về máy tính của mình', So that 'tôi không phải tải hết tất cả dữ liệu về máy, rất lâu'.
`
và
` As a 'người dùng', I want to 'xoá file trên máy tính thì sẽ không xoá files trên Google Drive', So that 'tôi không xoá nhầm files'.
`
và
` As a 'người dùng', I want to 'có thể tạm dừng và tiếp tục quá trình đồng bộ', So that 'khi tôi gặp vấn đề về mạng, tôi đỡ tốn thời gian phải đồng bộ lại từ đầu'.
`
Lợi ích của việc viết User story
Việc viết User story khá dễ, kể cả với người không có background IT.
Việc viết User story không tốn nhiều thời gian.
User story giúp khách hàng và lập trình viên có cùng tiếng nói.
User story nhấn mạnh được lý do tại sao phải làm một tính năng nào đó. Hiểu được tại sao phải làm, nó giúp gì cho users chứ không phải thích thì làm.
Khách hàng tập trung vào việc tính năng giải quyết vấn đề của 1 tính năng, không dính gì đến kỹ thuật (cách làm nó).
Có danh sách User story rồi thì có thể sắp xếp/ưu tiên các tính năng để làm.
<!-- ## Nhầm lẫn về User story
User story không phải là task. Việc cài đặt 1 User story là do team phát triển thực hiện.
User story quá dài và không rõ ràng -->
Kết
Thực tế, khi làm việc với một đơn vị xây dựng phần mềm, sẽ có BA giúp phỏng vấn khách hàng và viết mô tả phần mềm để cho lập trình viên làm.
Nhưng theo mình, khi bạn muốn xây dựng ứng dụng gì đó cũng nên tự mô tả nó bằng User story, hoặc vẽ mockup ứng dụng trước. Việc này giúp bạn có cái nhìn tổng quan hơn về ứng dụng sắp làm. Chưa kể nó còn giúp bạn mô tả hệ thống dễ dàng và rành mạch hơn.
Còn bạn thì sao, bạn thường dùng cách gì để mô tả tính năng của phần mềm, chia sẻ với mọi người ở phần comment nhé!