Phát triển linh hoạt là một phương pháp tập trung vào việc phát triển sản phẩm phần mềm theo từng giai đoạn và tăng dần. Nó nhấn mạnh sự hợp tác giữa các nhóm đa chức năng, phản hồi liên tục và tính linh hoạt trong việc thay đổi yêu cầu trong suốt quá trình phát triển. Hai kỹ thuật phổ biến được sử dụng trong phát triển linh hoạt là câu chuyện người dùng và trường hợp người dùng. Trong hướng dẫn toàn diện này, chúng tôi sẽ khám phá cả hai kỹ thuật và tranh luận rằng chúng đều phù hợp với phát triển linh hoạt nếu được sử dụng một cách thích hợp.

Câu chuyện người dùng
Câu chuyện người dùng là những mô tả ngắn gọn, đơn giản về một tính năng được kể từ góc nhìn của người dùng cuối.
Chúng thường tuân theo một mẫu cụ thể:
“Là một [loại người dùng], tôi muốn [mục tiêu nào đó] để [một lý do nào đó].”
Câu chuyện người dùng là một công cụ mạnh mẽ trong phát triển linh hoạt vì chúng giúp các đội tập trung vào nhu cầu của người dùng cuối, đồng thời thúc đẩy giao tiếp và hợp tác giữa các bên liên quan.
Ví dụ: Giả sử đội của chúng tôi đang phát triển một nền tảng thương mại điện tử mới.
Một câu chuyện người dùng có thể trông như sau:
“Là một người mua hàng, tôi muốn có thể lọc kết quả tìm kiếm theo khoảng giá để tôi có thể tìm thấy các sản phẩm trong ngân sách của tôi.”
Tại sao đây lại là lựa chọn phù hợp cho phát triển linh hoạt?
Câu chuyện người dùng là lựa chọn tuyệt vời cho phát triển linh hoạt vì chúng nhẹ nhàng, dễ viết và cung cấp sự hiểu biết chung về những gì cần được xây dựng. Chúng cũng linh hoạt và có thể dễ dàng điều chỉnh trong suốt quá trình phát triển. Điều này khiến chúng phù hợp tuyệt vời với các đội phát triển linh hoạt, những người coi trọng hợp tác, phản hồi liên tục và khả năng thích nghi.
Trường hợp người dùng
Trường hợp người dùng là những mô tả chi tiết về hành vi của hệ thống từ góc nhìn của một tác nhân (thường là người dùng hoặc một hệ thống khác). Chúng thường bao gồm một chuỗi các bước mà người dùng thực hiện để đạt được một mục tiêu cụ thể, và mô tả các tương tác giữa người dùng và hệ thống. Trường hợp người dùng là một công cụ thiết yếu trong phát triển linh hoạt vì chúng giúp các đội hiểu rõ hành vi của hệ thống và phát hiện các vấn đề tiềm tàng ngay từ giai đoạn đầu của quá trình phát triển.
Ví dụ: Hãy tiếp tục với ví dụ về nền tảng thương mại điện tử của chúng tôi.
Một trường hợp người dùng có thể trông như sau:
“Một người mua hàng tìm kiếm một sản phẩm trên nền tảng. Họ áp dụng bộ lọc giá và sắp xếp kết quả theo đánh giá của khách hàng. Họ thêm sản phẩm vào giỏ hàng và tiến hành thanh toán. Sau khi xem xét chi tiết đơn hàng, họ gửi thông tin thanh toán và hoàn tất giao dịch.”
Tại sao đây lại là lựa chọn phù hợp cho phát triển linh hoạt?
Các trường hợp người dùng cũng là một lựa chọn tuyệt vời cho phát triển linh hoạt vì chúng cung cấp cái nhìn chi tiết về cách một hệ thống nên hoạt động. Chúng giúp các đội nhóm phát hiện các vấn đề tiềm tàng từ sớm trong quá trình phát triển và đảm bảo hệ thống đáp ứng nhu cầu của người dùng cuối. Chúng cũng hữu ích cho kiểm thử và xác minh, một khía cạnh thiết yếu trong phát triển linh hoạt.
So sánh giữa Các câu chuyện người dùng và Các trường hợp người dùng
Mặc dù cả hai phương pháp câu chuyện người dùng và trường hợp người dùng đều phù hợp với phát triển linh hoạt, nhưng chúng khác nhau ở nhiều khía cạnh. Câu chuyện người dùng nhẹ nhàng và tập trung vào nhu cầu của người dùng cuối, trong khi các trường hợp người dùng chi tiết hơn và mô tả hành vi của hệ thống. Câu chuyện người dùng thường được dùng để ghi lại các yêu cầu cấp cao, trong khi các trường hợp người dùng được dùng để mô tả các tương tác cụ thể giữa người dùng và hệ thống.
Cuối cùng, việc lựa chọn giữa câu chuyện người dùng và trường hợp người dùng phụ thuộc vào nhu cầu cụ thể của dự án. Câu chuyện người dùng phù hợp hơn với các dự án mà yêu cầu chưa rõ ràng hoặc có khả năng thay đổi, trong khi các trường hợp người dùng phù hợp hơn với các dự án mà yêu cầu được xác định rõ ràng và cụ thể. Trên thực tế, nhiều đội nhóm sử dụng cả hai kỹ thuật để đảm bảo họ có cái nhìn toàn diện về hành vi của hệ thống và nhu cầu của người dùng cuối.
Ví dụ – Cửa hàng tạp hóa trực tuyến
Ví dụ về Câu chuyện người dùng: “Là một người mẹ bận rộn, tôi muốn có thể tạo danh sách mua sắm trong ứng dụng để tôi có thể dễ dàng theo dõi các mặt hàng mà tôi cần mua. Tôi cũng muốn có thể thêm và xóa các mặt hàng khỏi danh sách và đánh dấu các mặt hàng đã mua khi tôi đã hoàn thành việc mua sắm.”
Trong câu chuyện người dùng này, chúng tôi đã mô tả một tính năng cụ thể đáp ứng nhu cầu của người dùng cuối (các bà mẹ bận rộn) và mang lại giá trị cho họ (dễ dàng theo dõi danh sách mua sắm của mình). Câu chuyện người dùng được viết từ góc nhìn của người dùng cuối và sử dụng một mẫu cụ thể để đảm bảo tính rõ ràng và nhất quán.
Ví dụ về trường hợp người dùng: Người dùng muốn tạo một danh sách mua sắm mới trong ứng dụng. Họ mở ứng dụng và điều hướng đến tính năng danh sách mua sắm. Họ nhấp vào nút “Tạo danh sách mới” và nhập tên cho danh sách. Sau đó, họ bắt đầu thêm các mặt hàng vào danh sách bằng cách nhấp vào nút “Thêm mặt hàng” và gõ tên mặt hàng. Họ cũng có thể chỉ định số lượng hoặc ghi chú bổ sung. Khi người dùng đã thêm tất cả các mặt hàng cần thiết, họ có thể lưu danh sách và quay lại sau này. Họ cũng có thể đánh dấu các mặt hàng là đã mua khi đã mua xong.
Trong trường hợp người dùng này, chúng tôi đã mô tả một tình huống cụ thể nơi người dùng tương tác với tính năng danh sách mua sắm của ứng dụng. Chúng tôi đã mô tả các bước mà người dùng thực hiện để đạt được mục tiêu và các tương tác giữa người dùng và hệ thống. Trường hợp người dùng chi tiết hơn câu chuyện người dùng và cung cấp cái nhìn toàn diện về cách tính năng này nên hoạt động.
Cả hai phương pháp câu chuyện người dùng và trường hợp người dùng đều hữu ích cho phát triển linh hoạt. Câu chuyện người dùng cung cấp cái nhìn tổng quan cấp cao về tính năng và tập trung vào nhu cầu của người dùng cuối, trong khi trường hợp người dùng cung cấp mô tả chi tiết hơn về hành vi của tính năng. Việc sử dụng cả hai phương pháp đảm bảo rằng đội phát triển có cái nhìn toàn diện về tính năng và nhu cầu của người dùng cuối, điều này là thiết yếu cho phát triển linh hoạt thành công.
Chi tiết hóa một Câu chuyện người dùng với 3C
dưới đây là một phân tích 3C có thể cho ví dụ câu chuyện người dùng:
- Thẻ: “Là một người mẹ bận rộn, tôi muốn có thể tạo danh sách mua sắm trong ứng dụng để tôi có thể dễ dàng theo dõi các mặt hàng mà tôi cần mua. Tôi cũng muốn có thể thêm và xóa các mặt hàng khỏi danh sách và đánh dấu các mặt hàng đã mua khi tôi đã hoàn thành việc mua sắm.”
- Cuộc trò chuyện:
- Người sở hữu sản phẩm: “Bạn có thể nói thêm về lý do tại sao bạn cần theo dõi danh sách mua sắm của mình không?”
- Mẹ bận rộn: “Chắc chắn rồi, là một người mẹ với lịch trình bận rộn, tôi cần đảm bảo mình không quên bất cứ thứ gì khi đi siêu thị. Thật hữu ích nếu tôi có thể dễ dàng tạo danh sách mua sắm trên điện thoại và thêm hoặc xóa các mặt hàng khi cần.”
- Người sở hữu sản phẩm: “Hiểu rồi. Và điều quan trọng như thế nào đối với bạn khi có thể đánh dấu các mặt hàng là đã mua?”
- Mẹ bận rộn: “Điều đó quan trọng vì như vậy tôi có thể nhanh chóng thấy những gì mình đã mua và những gì mình vẫn cần mua.”
- Xác nhận: “Là một người mẹ bận rộn, tôi có thể tạo danh sách mua sắm trong ứng dụng, thêm và xóa các mặt hàng khỏi danh sách, và đánh dấu các mặt hàng là đã mua khi tôi đã hoàn thành việc mua sắm.”
Chi tiết hóa một Trường hợp sử dụng với Mô tả Trường hợp sử dụng
dưới đây là một ví dụ mô tả trường hợp sử dụng dựa trên mô tả vấn đề và câu chuyện người dùng:
Tên trường hợp sử dụng: Tạo và Quản lý Danh sách mua sắm
Người tham gia:
- Người dùng: người muốn tạo và quản lý danh sách mua sắm trong ứng dụng.
Điều kiện tiên quyết:
- Người dùng đã tải xuống và cài đặt ứng dụng trên thiết bị di động của mình.
- Người dùng có kết nối internet ổn định.
Điều kiện hậu hành động:
- Người dùng đã thành công trong việc tạo và quản lý một danh sách mua sắm trong ứng dụng.
Luồng sự kiện:
- Người dùng mở ứng dụng và điều hướng đến tính năng danh sách mua sắm.
- Ứng dụng hiển thị danh sách các danh sách mua sắm hiện có hoặc yêu cầu người dùng tạo một danh sách mới.
- Người dùng nhấp vào nút “Tạo danh sách mới”.
- Ứng dụng yêu cầu người dùng nhập tên cho danh sách mới.
- Người dùng nhập tên cho danh sách mới và nhấp vào “Lưu”.
- Ứng dụng hiển thị danh sách mua sắm trống với tên mà người dùng đã nhập.
- Người dùng nhấp vào nút “Thêm mục”.
- Ứng dụng yêu cầu người dùng nhập tên của mục mà họ muốn thêm vào danh sách.
- Người dùng nhập tên của mục và nhấp vào “Thêm”.
- Ứng dụng hiển thị mục mới trong danh sách mua sắm.
- Người dùng lặp lại các bước 7-10 cho đến khi đã thêm tất cả các mục cần thiết vào danh sách.
- Người dùng có thể xóa một mục khỏi danh sách bằng cách nhấp vào nút “Xóa mục” bên cạnh mục đó.
- Người dùng có thể đánh dấu một mục là đã mua bằng cách nhấp vào nút “Đánh dấu là đã mua” bên cạnh mục đó.
- Ứng dụng cập nhật danh sách mua sắm để phản ánh mọi thay đổi mà người dùng đã thực hiện.
- Người dùng có thể xem danh sách mua sắm bất kỳ lúc nào bằng cách quay lại tính năng danh sách mua sắm trong ứng dụng.
Luồng thay thế:
- Nếu người dùng hủy việc tạo danh sách mới ở bước 5, ứng dụng sẽ đưa người dùng quay lại danh sách các danh sách mua sắm hiện có hoặc yêu cầu người dùng tạo danh sách mới lần nữa.
- Nếu người dùng hủy việc thêm một mục mới ở bước 9, ứng dụng sẽ đưa người dùng quay lại danh sách mua sắm mà không thêm mục đó.
Sự khác biệt giữa các câu chuyện người dùng và các trường hợp sử dụng
Bảng cung cấp bản tóm tắt về sự khác biệt giữa các câu chuyện người dùng và các trường hợp sử dụng. Các câu chuyện người dùng là những mô tả ngắn gọn, đơn giản tập trung vào mục tiêu và nhu cầu của người dùng, trong khi các trường hợp sử dụng cung cấp các mô tả chi tiết từng bước về hành vi và chức năng của hệ thống.
| Câu chuyện người dùng | Trường hợp sử dụng |
|---|---|
| Mô tả ngắn gọn, đơn giản về một tính năng từ góc nhìn của người dùng. | Mô tả chi tiết từng bước về cách người dùng tương tác với hệ thống. |
| Tập trung vào mục tiêu và nhu cầu của người dùng. | Tập trung vào hành vi và chức năng của hệ thống. |
| Nhấn mạnh vào cuộc trò chuyện và sự hợp tác giữa các bên liên quan. | Nhấn mạnh một cách tiếp cận có cấu trúc và được chuẩn hóa hơn. |
| Thường được viết theo phong cách không chính thức, thân mật hơn. | Thường được viết theo phong cách có cấu trúc và kỹ thuật hơn. |
| Thường được sử dụng để ghi lại các yêu cầu và tính năng cấp cao. | Thường được sử dụng để ghi lại các yêu cầu chức năng chi tiết. |
| Thường dễ và nhanh hơn để viết và xem xét. | Thường tốn nhiều thời gian hơn để viết và xem xét. |
Tóm tắt
Bài viết khám phá việc sử dụng các câu chuyện người dùng và các trường hợp sử dụng trong phát triển linh hoạt, lập luận rằng cả hai phương pháp đều phù hợp khi được sử dụng đúng cách. Các câu chuyện người dùng là những mô tả ngắn gọn, đơn giản về một tính năng từ góc nhìn của người dùng, trong khi các trường hợp sử dụng cung cấp mô tả chi tiết từng bước về cách người dùng tương tác với hệ thống.
Một ví dụ về vấn đề tạo và quản lý danh sách mua sắm được sử dụng để minh họa cách cả hai phương pháp có thể được sử dụng. Bài viết nhấn mạnh tầm quan trọng của 3Cs (Thẻ, Cuộc trò chuyện, Xác nhận) trong việc tạo ra các câu chuyện người dùng hiệu quả và tầm quan trọng của các tác nhân, điều kiện tiền đề và điều kiện hậu quả trong việc tạo ra các trường hợp sử dụng hiệu quả. Tổng thể, bài viết cung cấp một hướng dẫn toàn diện cho các nhà phát triển phần mềm về cách sử dụng hiệu quả các câu chuyện người dùng và các trường hợp sử dụng trong phát triển linh hoạt.
Kết luận, các câu chuyện người dùng và các trường hợp sử dụng đều là những công cụ quý giá trong phát triển linh hoạt khi được sử dụng phù hợp. Các câu chuyện người dùng nhẹ nhàng, dễ viết và linh hoạt, phù hợp với các dự án có yêu cầu thay đổi liên tục. Các trường hợp sử dụng chi tiết và cung cấp cái nhìn toàn diện về hành vi của hệ thống, phù hợp với các dự án có yêu cầu được xác định rõ ràng. Bằng cách sử dụng cả hai kỹ thuật này, các đội phát triển linh hoạt có thể đảm bảo rằng họ có cái nhìn toàn diện về hành vi và mục tiêu của hệ thống.











