User story là gì? User story mẫu và nguyên tắc ứng dụng trong Agile

User Story là gì?

User Story là một tài liệu sơ giản về yêu cầu sản phẩm với góc nhìn người dùng. Thông thường, User Story do khách hàng, hoặc đại điện của khách hàng viết, tuy nhiên nếu có sự cộng tác của Các Nhà Phát triển thì nhóm và khách hàng sẽ có sự chia sẻ hiểu biết về sản phẩm tốt hơn.

Với những nhóm dùng bảng vật lý thì User Story được viết trên các thẻ nhỏ hoặc trên các miếng giấy dán. Nhóm có thể dán các thẻ này lên bảng như những hạng mục của Product Backlog.

User story có định dạng:

Là <người dùng cụ thể/vai trò> 

tôi muốn <làm gì đó>

để <phục vụ mục đích nào đó>

Mô hình của User Story

User story nên theo mô hình 3C:

  • Card (Thẻ): Thông thường, User Story được viết trên một thẻ nhỏ. Điều đó có nghĩa là nó thường ngắn để có thể viết trên một thẻ. Nếu bạn có viết trên một hệ thống khác như Trello, Jira, Assembla hoặc Redmine cũng nên giữ nó ngắn.
  • Conversation (Trao đổi): Story là những câu chuyện giữa khách hàng và Các Nhà  Phát triển. Do đó chi tiết của User Story được làm rõ thông qua các cuộc trao đổi (nên là trực tiếp) với khách hàng. Nội dung của User Story sẽ ngày càng cụ thể tùy thuộc vào độ ưu tiên của nó (nếu ưu tiên cao, cần làm sớm thì sẽ có nội dung chi tiết, nếu ưu tiên thấp thì chỉ chứa nội dung chung).
  • Confirmation (Xác nhận): User Story có tiêu chí chấp nhận (Acceptance Criteria) để khách hàng suy nghĩ cụ thể về yêu cầu và các Nhà Phát triển có thể hiểu yêu cầu rõ hơn và xác nhận được khi nào sản phẩm hoàn thành.

Đọc thêm:

Top 7 khóa học lấy chứng chỉ Agile giúp bạn cải thiện kỹ năng trong công việc

Lộ trình để trở thành Scrum Master

Ai là người làm ra User Story?

Product Owner là người quản lý tất cả các User Story nhưng không phải là người viết toàn bộ User Story. Các Nhà Phát triển đều có thể tham gia vào việc viết User Story. Các Nhà Phát triển đóng vai trò quan trọng trong việc mô tả các tính năng của sản phẩm.

Trong trường hợp lý tưởng nhất, người dùng thực sự của sản phẩm sẽ tham gia viết User Story. 

Trong những trường hợp khác, Product Owner có thể đại diện cho người dùng, nhưng phải luôn viết User Story với vai trò của người dùng, không phải với vai trò của Product Owner.

Các tiêu chí của User Story

Tiêu chí INVEST cụ thể:

  • Independent (Độc lập): Độc lập với các User Story khác. Điều này giúp Product Owner tự do thay đổi thứ tự của nó trong Product BacklogNhà Phát triển dễ dàng phát triển.
  • Negotiable (Thương lượng được): Tính đàm phán được giúp cho Nhóm Phát triểnProduct Owner cùng nhau xây dựng nội dung chi tiết và phù hợp hơn cho những thay đổi trong tương lai. Nếu không có tính năng này thì việc thích nghi với sự thay đổi gặp khó khăn.
  • Valuable (Có giá trị): User Story phải có giá trị với khách hàng. Những người làm kỹ thuật có thể thấy việc làm khung làm việc, cơ sở dữ liệu hoặc thiết kế là quan trọng. Tuy nhiên với khách hàng thì không. Điều này rất lưu ý với những Product Owner có nền tảng kỹ thuật, có thể họ sẽ biết Agile thành một mô hình phát triển Waterfall trá hình!
  • Estimable (Ước lượng được): Một User Story tốt có thể ước lượng được mặc dù không cần chính xác. Những User Story lớn hoặc không rõ ràng thường khó để ước lượng. Khả năng ước tính được giúp nhóm ước lượng tốt hơn công việc sẽ làm và cả kế hoạch phát hành. Rõ ràng điều này phụ thuộc vào khả năng của nhóm.
  • Sized appropriately (Kích thước phù hợp): Những User Story sắp được đưa vào sản xuất cần có kích thước nhỏ (đồng nghĩa với việc được mô tả rõ ràng hơn), những User Story chưa được đưa vào sản xuất trước mắt có thể có kích thước lớn hơn.
  • Testable (Kiểm thử được): Nếu nhóm phát triển biết như thế nào là User Story đó hoàn thành – có thể kiểm thử được rõ ràng thì họ có thể hiểu rõ hơn công việc của mình, ít gây hiểu nhầm. Các mô hình phát triển BDD hoặc ATDD có giá trị vì yêu cầu có thể kiểm thử được.

Khi nào thì cần viết User Story?

Hoạt động viết User Story diễn ra trong suốt quá trình phát triển dự án, có nghĩa là bất cứ lúc nào các thành viên cũng có thể thêm vào các User Story mới. 

Việc này thường được tiến hành thông qua tổ chức một buổi viết User Story (User Story Writing Workshop). Ở đó, tất cả các thành viên đều tham gia tạo ra các User Story cơ bản, đủ để sản xuất trong một thời gian. Có thể có các User Story lớn, chúng ta sẽ sẽ được làm mịn hơn song song với quá trình phát triển thông qua hoạt động làm mịn Product Backlog.

Ví dụ cụ thể về User Story

Là một người học trực tuyến, tôi muốn thấy danh sách các khóa học ưu thích của mình để dễ dàng truy cập.

Trong ví dụ trên, user story có 3 phần tách biệt:

 Là <một người học trực tuyến>

Tôi muốn < thấy danh sách các khóa học ưu thích của mình>

Để <dễ dàng truy cập>

Người dùng ở đây được chỉ ra rõ ràng là người học trên môi trường học tập trực tuyến, không phải là người quản lý, cũng không phải là người học trực tiếp.

Người dùng này muốn nhìn thấy danh sách các khóa học ưu thích của mình. Danh sách này chỉ bao gồm những khóa học mà học giả quan tâm nhất trong rất nhiều những khóa học mà mình đã từng học. 

Mục đích của việc có danh sách này là để dễ dàng truy cập khi cần đến. 

Từ việc miêu tả nhu cầu của khách hàng, các thành viên phát triển làm rõ tiêu chí chấp nhận với Product Owner và sau đó sẽ cùng nhau phân tích chi tiết giao diện, mã, thêm bảng dữ liệu, tương tác dữ liệu,…để thực thi một cách hiệu quả.

Để tìm hiểu kĩ hơn cũng như biết cách viết 1 User Story, các Product Owner cần có cái nhìn tổng quan để quản lý dự án 1 cách chặt chẽ nhất.

Hình ảnh Học viện Agile đào tạo tại ngân hàng MSB

Làm sao để sử dụng User Story hiệu quả?

Bạn biết chứ, nếu một dự án được sử dụng User Story hiệu quả thì khả năng cao là dự án đó sẽ phát hành được các sản phẩm với chất lượng rất cao. Qua những dự án như vậy, chắc chắn bạn và team sẽ có được sự tin tưởng, hài lòng từ phía khách hàng. Sau đây là một vài lưu ý để bạn có thể sử dụng User Story hiệu quả:

  • Giữ bản mô tả User Story ngắn gọn.
  • Hãy đặt mình vào suy nghĩ của người dùng cuối khi viết User Story.
  • Các mục trong User Story cần phải được xác nhận trước khi triển khai phát triển.
  • Ước lượng User Story trước khi thực hiện để chắc chắn khối lượng công việc của team nằm trong tầm kiểm soát.
  • Các yêu cầu sẽ được khai thác từ người dùng cuối cùng, chứ không phải bởi người dùng cuối hay nhóm phát triển.
  • Giao tiếp là điều cực kì quan trọng nếu như bạn muốn hiểu người dùng cuối cùng.

User Story được xem là rất quan trọng trong một dự án. Nếu nhóm của bạn hay Product Owner không thể hiểu được hoặc hiểu sai người dùng cuối, thì kết quả là một sản phẩm mà khách hàng không cần.

Không có gì vô dụng bằng việc thực hiện hiệu quả những việc không nên hoàn thành

– Peter Drucker – 

Một điều chắc chắn rằng, nếu bạn tuân thủ theo các nguyên tắc của Agile và áp dụng chuẩn phương pháp Scrum thì không hề khó khăn để có thể hoàn thành một dự án thành công với những User Story thực sự hiệu quả. 

Đọc lại Tuyên ngôn Agile và Mười hai nguyên tắc phát triển phần mềm linh hoạt tại đây.

Một Product Owner tài năng, là người cần có sự nhanh nhẹn, linh hoạt với một tầm nhìn rất rộng. Từ đó PO có thể làm việc với các Stakeholder để đưa ra những User Story tốt nhất, truyền đạt lại cho nhóm một cách tốt nhất.

Các công ty hàng đầu thế giới và Việt Nam đều đã và đang dịch chuyển sang mô hình Agile một cách rất hiệu quả. Học viện Agile tự hào đồng hành cùng các doanh nghiệp thành công trong việc chuyển đổi Agile. Một số khách hàng của chúng tôi có thể kể đến như Viettel, VinGroup, VNPT, MSB, Techcombank, F88, FPT Software,…

Ở Học viện Agile, chúng tôi sẵn sàng cung cấp cho bạn những kiến thức về Scrum dưới góc nhìn, kinh nghiệm của các chuyên gia Scrum hàng đầu. Vì với kinh nghiệm nhiều năm đào tạo về Agile/Scrum, chúng tôi hiểu rằng Agile/Scrum học dễ nhưng khó tinh thông, người học rất dễ rơi vào trạng thái biết mà thực ra lại không biết. Bởi Scrum nếu áp dụng chuẩn, đúng thì sẽ vô cùng hiệu quả, còn nếu Scrum sai, Scrum không đúng, hay Scrum không bài bản thì có thể hậu quả để lại khá lớn.

Bạn có thể tìm hiểu mọi kiến thức về Agile/Scrum tại đây

> Khóa học Pragmatic Scrum cung cấp kiến thức nền tảng về Scrum.

> Khóa học lấy chứng chỉ quốc tế CSPO – Certified Scrum Product Owner sắp khai giảng tại Học viện Agile. 

Đọc thêm:

6 bước giúp bạn sống sót qua quá trình chuyển đổi DevOps

Xây dựng mạng lưới đội nhóm để vượt qua khủng hoảng

Diễn giải về Agile