Như đã giải thích User Story là gì? Trong Agile, User Story được coi là một công cụ lõi quan trọng để truyền tải giá trị giữa người dùng và đội phát triển sản phẩm, công việc nói chung chỉ được coi là tốt chỉ khi người dùng nhận được đúng giá trị, lợi ích mà họ thực sự mong muốn. Tuy nhiên việc nêu ra và thấu hiểu được giá trị — lợi ích của user story là một việc khó khăn đối với người dùng, product owner và đội phát triển.

Hãy khám phá xem các biểu hiện, nguyên nhân và cách khắc phục vấn đề trên.

Cấu trúc viết một User Story dành cho các business analyst muốn biết cần học gì
Cấu trúc viết một User Story dành cho các business analyst muốn biết cần học gì

1. User story thể hiện giá trị như thế nào?

Một user story được cấu trúc ngắn gọn thành một câu mô tả:

<người dùng> tôi muốn <tính năng, yêu cầu> để <giá trị, lợi ích>

Thông thường mọi người sẽ điền rất nhanh phần <người dùng> nêu người dùng là ai, vai trò là gì và phần <tính năng, yêu cầu> nói về tính năng, yêu cầu mà người dùng mong muốn.

Phần <giá trị, lợi ích> — mô tả mục đích và lợi ích mà người dùng nhận được thực sự do user story mang lại, nó giải thích lý do tại sao để người dùng thỏa mãn và phù hợp với bức tranh toàn cảnh về mong muốn của họ, vấn đề và nỗi đau thực sự họ muốn giải quyết. Ví dụ xét 1 user story sau:

“Là sinh viên tôi muốn nhìn thấy điểm số các môn học của tôi trên một màn hình”

User story trên chưa nêu được lợi ích của việc nhìn thấy điểm số môn học để làm gì, cần phải khảo sát người dùng kỹ hơn mong muốn của họ, có thể là một hoặc nhiều lợi ích sau:

  • “để anh ta lên kế hoạch học tập khắc phục các môn còn chưa đủ điểm”
  • “để anh ta biết được thứ hạng trong trường để có động lực ganh đua xếp hạng nhận học bổng”
  • “để anh ta có thể nộp bảng điểm khi đi xin việc”
  • “để anh ta được động viên khi nhìn thấy sự tiến bộ trong học tập của mình”

2. Các nhầm lẫn phổ biến khi mô tả giá trị của user story.

Khi viết phần mô tả lợi ích — giá trị, thường rất khó khăn và hay gặp nhầm lẫn do sự hiểu nhầm của tất cả các bên, bao gồm của Product Owner và Stake Holder. Hãy xem thử các loại nhầm lẫn sau:

  • Nhầm lẫn tính năng và giá trị: Ví dụ: “Là thu ngân tại cửa hàng tôi muốn nhìn tổng số tiền khách phải thanh toán để báo khách biết số tiền phải thanh toán”. Ta vẫn hiểu số tièn phải báo cho khách để thanh toán tại quầy là tính năng đương nhiên, nhưng tại sao việc nhìn thấy số tiền này lại là quan trọng? Đầy đủ hơn phải hiểu rằng điều này giúp thu ngân thông báo ngay số tiền khách phải thanh toán mà không phải mất công tìm xem con số nó nằm lẩn khuấn đâu trên màn hình, điều mà khách hàng quan tâm nhất và đầu tiên khi thanh toán.
  • Mô tả giá trị chung chung: “Là 1 vận động viên marathon, tôi muốn nhận thông tin nhịp tim để không gặp vấn đề về tim”. Tất nhiên giá trị user story này giúp vận động viên nhận biết vấn đề về tim nhưng cần cụ thẻ hơn là vấn đề gì. Trái tim có thể gặp rất nhiều vấn đề khác nhau cần phải bóc tách ra phân tích và có phương án phù hợp, đó có thể là vấn đề bệnh lý, vấn đề quá sức hoặc vấn đề nhịp tim không đúng theo bài tập chuyên môn. Mỗi loại vấn đề trên có thể lại có mức nghiêm trọng khác nhau nên nếu chỉ ghi chung chung sẽ khó xử lý vì có vấn đề có thể dẫn đến chết người trên đường đua, có vấn đề ít nghiêm trọng hơn chỉ ảnh hưởng đến kết quả luyện tập.
  • Mô tả lòng vòng: “Là phi công tôi muốn biết độ cao máy bay để tôi biết mình đang ở độ cao nào”. Như vậy phần giá trị để biết độ cao là một mô tả lòng vòng lặp lại đúng với phần tính năng.
  • Mô tả cái tất yếu: “Là quản lý tôi muốn có web site thương mại để tăng doanh thu”. Tăng doanh thu là một giá trị tất yếu của doanh nghiệp, nên nếu giá trị chỉ nêu vậy thì rất chung chung, cần cụ thể hơn, ví dụ có thể sẽ phát biểu là “để mở thêm kênh bán hàng mới với khách hàng mới nhằm tăng doanh thu”. Khi xác định rõ giá trị như vậy thì khi thiết lập một website thương mại cần phải tiếp cận khách hàng mới và tăng doanh thu thay vì tiếp cận khách hàng cũ và tăng thêm doanh thu từ khách hàng này, hai giá trị như vậy sẽ tạo ra hai cách tiếp cận khác nhau.
User story thể hiện giá trị như thế nào
User story thể hiện giá trị như thế nào

3. Tác hại khi nhầm lẫn giá trị.

Khi không xác định chính xác giá trị sẽ dẫn đến việc thiết kế các tính năng vừa thừa vừa thiếu để đáp ứng thỏa mãn nhu cầu thực sự của người dùng. Phần lớn người sử dụng khi đến với chúng ta hay phát biểu yêu cầu dưới dạng các tính năng mà không chỉ ra được giá trị lợi ích thực sự họ mong muốn là gì, nếu Product Owner chủ quan không đánh giá kỹ mà cho phát triển sản phẩm y hệt như những gì người dùng mô tả thì tất yếu sau khi làm xong họ sẽ cảm thấy đó không phải thực sự là cái họ muốn vì không thực sự giải quyết vấn đề của họ, tất yếu dẫn đến các yêu cầu thay đổi tiếp theo dẫn đến thiệt hại về công sức cho cả đội phát triển và người dùng.

Vấn đề thay đổi yêu cầu còn tạo ra các mâu thuẫn phát sinh khi đội phát triển quy kết và tranh cãi đổ lỗi người dùng thay đổi yêu cầu, product owner thì đau đầu khi vừa lo giữ chân khách hàng vừa lo đội phát triển đình công, còn khách hàng thì mãi vẫn không thể dùng được sản phẩm. Kết quả cuối cùng là dự án đổ bể trong mâu thuẫn đầy tranh cãi, tất cả các bên cùng thua.

Ví dụ quay lại với user story đầu tiên

Là sinh viên tôi muốn nhìn thấy điểm số các môn học của tôi trên một màn hình

Khi không xác định được giá trị chính xác, mặc định đầu tiên đội làm sản phẩm sẽ máy móc theo yêu cầu người dùng là làm một chức năng liệt kê điểm số tất cả các môn học và ghi nhận là hoàn thành.

Khi tiếp nhận sản phẩm, nếu sâu trong tâm trí người dùng là “để anh ta lên kế hoạch học tập khắc phục các môn còn chưa đủ điểm” thì sẽ không thấy hài lòng với chức năng trên, anh ta sẽ đòi hỏi thêm các yêu cầu khác như bôi đỏ phần điểm dưới trung bình. Lúc này mâu thuẫn thay đổi yêu cầu phát sinh.

Sau khi đội phát triển bổ sung yêu cầu trên, anh ta thấy rằng việc bôi đỏ điểm kém không giúp ích đủ cho việc lên kế hoạch, anh ta sẽ đòi hỏi thêm việc hiển thị số tín chỉ của mỗi môn, và vẫn tuyên bố rằng sản phẩm không đáp ứng đúng mong muốn của anh ta.

Sau đó anh ta thấy rằng vẫn khó lên kế hoạch nên sẽ thêm yêu cầu sắp xếp thứ tự ưu tiên môn gì cần khắc phục ôn tập và thi lại trước phải được đưa lên đầu.

Như vậy mâu thuẫn “thay đổi yêu cầu” đã xảy ra liên tiếp 3 lần chỉ trên 1 tính năng đơn giản, trong khi mâu thuẫn này sẽ được lường trước hơn nếu product owner và người dùng cùng phân tích kỹ mục đích thực sự của user story này, từ đó phân tích tiếp hiểu được cách mà sinh viên lên kế hoạch học tập như thế nào rồi từ đó mới bắt tay vào phát triển tính năng phù hợp.

4. Có những loại giá trị nào.

Để dễ xác định giá trị — lợi ích của các user story, cần thực hiện phân loại và liệt kê các mẫu giá trị hay gặp.

  • Lợi ích tài chính: tăng doanh thu, tiết kiệm chi phí, tăng dòng tiền, tăng lợi nhuận.
  • Lợi ích phi tài chính: thỏa mãn khách hàng, gắn kết nhân viên, giảm rủi ro, thương hiệu và hình ảnh công ty, tăng cường chất lượng sản phẩm và dịch vụ

Theo phân loại như trên, ta có các hình mẫu giá trị hay gặp như sau:

  • Tăng trưởng: doanh thu, thêm khách hàng, thêm nhân viên.
  • Tiết kiệm: tiền bạc, công sức, thời gian, nhân sự.
  • Chủ động: ước đoán tình hình để lên kế hoạch và phương án, ra quyết định.
  • Gắn kết: động viên nhân viên, giữ chân khách hàng.
  • Kiểm soát: điều chỉnh tối ưu, tránh mất mát, tránh thất thoát, tránh lãng phí.
  • Quảng cáo: tăng nhận diện thương hiệu.
  • Tránh rủi ro: tuân thủ pháp luật, theo dõi ngưỡng tử thần.
  • Ra quyết định: nắm bắt thông tin, phân tích số liệu đã ra quyết định.

Xét các ví dụ sau:

  • “Là người dùng thẻ tín dụng, tôi muốn được thông báo nếu có hoạt động chi tiêu để biết ngay có người lén dùng thẻ ăn cắp tiền của tôi để tôi khóa thẻ ngay tránh mất tiền”
  • “Là marketing tôi muốn khách hàng được cộng điểm thưởng khi giới thiệu website bán hàng của tôi đến bạn bè để khuyến khích phát triển thêm khách hàng mới.”
  • “Là quản lý kho tôi muốn thấy vận tốc bán và dự đoán tồn kho để ra quyết định nhập kho kịp thời nhằm không bị thiếu hàng gây mất cơ hội kinh doanh”

5. Giá trị quyết định phương án thiết kế.

Như vậy khi xác định rõ ý nghĩa, giá trị lợi ích của người dùng trong một user story, đội phát triển có thể chủ động phương án thiết kế tính năng một cách thực dụng nhất và nhanh nhất đáp ứng trực tiếp và chính xác điều mà họ cần. Các tính năng thừa không phục vụ lợi ích cho user story được loại bỏ không đưa vào phát triển nhờ đó tránh lãng phí cũng như hạn chế thay đổi yêu cầu.

Ví dụ:

  • “Là người mù tôi muốn có thiết bị cảnh báo vật cản để giúp tôi không bị tai nạn”. Khi nắm rõ mục đích này, phương án thiết kết sản phẩm sẽ phải tính toán cụ thể cảnh báo từ khoảng cách tối thiểu bao nhiêu là hợp lý nhằm tránh gây tai nạn, vì nếu cảnh báo muộn thì người mù sẽ không kịp tránh vật cản; từ đó xem xét năng lực công nghệ về thiết bị, phần cứng và cảm biến có cho phép phát hiện vật cảnh từ khoảng cách tối không.
  • “Là thu ngân tại cửa hàng tôi muốn nhìn tổng số tiền khách phải thanh toán để trả lời luôn số tiền khách phải thanh toán nhằm tiết kiệm thời gian phục vụ”. Như vậy tổng số tiền khách phải thanh toán tốt nhất nên hiện to và rõ ràng trên màn hình thay vì xuất hiện nhỏ bé lẩn khuấn đâu đó khiến thu ngân phải cuộn màn hình tìm số tiền rồi đọc cho khách, thậm chí có siêu thị tại máy tính tiền còn có màn hình số hiển thị số tiền riêng quay sang cho khách hàng nhìn thấy.
  • “Là sinh viên tôi muốn nhìn thấy điểm số các môn học của tôi trên một màn hình để biết được thứ hạng trong trường để có kế hoạch ganh đua”. Với giá trị này cần thiết kế hiển thị tổng điểm, thứ hạng của sinh viên so với các sinh viên khác hơn là hiển thị số điểm của từng môn học. Như vậy nắm rõ giá trị sẽ giúp tránh phương án thiết kế sai lầm.
  • “Là sinh viên tôi muốn nhìn thấy điểm số các môn học của tôi trên một màn hình để có thể nộp bảng điểm khi đi xin việc”. Với giá trị này thì phương án thiết kế cần 1 bảng điểm có khả năng in ra theo hình thức đẹp hoặc có thể gửi online với link truy cập công khai thay vì bắt phía nhà tuyển dụng phải đăng nhập.

6. Kết luận:

Như vậy việc hiểu thấu và nêu đúng giá trị và lợi ích mà người sử dụng mong muốn sẽ giúp người làm sản phẩm dịch vụ quyết định phương án thiết kế và tiếp cận một cách hợp lý, đem lại giá trị cao nhất với chi phí thấp nhất.

Vấn đề tiếp theo đặt ra là, khi người dùng đến với các yêu cầu chức năng mà chưa nêu được giá trị họ mong muốn một cách rõ ràng thì phải làm thế nào để khám phá được lợi ích thật sự mà họ mong muốn.

Hãy đăng ký nhận tin để là người đầu tiên đọc bài viết mới nhất từ chúng tôi nhé

Posted 
Feb 9, 2020
 in 
Agile & Culture
 category

Bài viết khác từ

Agile & Culture

category

View All