Từ Những Câu Chuyện Đến Hệ Thống: Chinh Phục Use-Case 2.0 Cho Phát Triển Linh Hoạt Và Hướng Tự Động Hóa Bằng AI
Giới Thiệu
Trong bối cảnh phát triển phần mềm đang thay đổi nhanh chóng, mâu thuẫn giữa tính linh hoạt và cấu trúc đã lâu nay là một thách thức then chốt. Trong nhiều thập kỷ, các đội ngũ đã dao động giữa việc lập tài liệu nặng nề đảm bảo tính đầy đủ nhưng kìm hãm tốc độ, và những câu chuyện người dùng nhẹ nhàng thúc đẩy tốc độ nhưng thường bỏ quên bối cảnh. Khi các hệ thống ngày càng phức tạp và nhu cầu giao hàng nhanh chóng gia tăng, thì không phải cực đoan nào cũng đủ.
Xuất hiện Use-Case 2.0: một bước tiến hiện đại trong kỹ thuật yêu cầu, giúp lấp đầy khoảng trống này. Ra đời từ những nguyên tắc nền tảng của các use case truyền thống nhưng được tái định hình qua lăng kính các phương pháp Agile như Scrum và Kanban, Use-Case 2.0 mang đến một cách tiếp cận nhẹ nhàng nhưng có thể mở rộng để ghi nhận nhu cầu người dùng. Nó kết hợp sự đơn giản của câu chuyện người dùng với cấu trúc toàn diện của use case, cung cấp cho các đội ngũ bản đồ rõ ràng từ mục tiêu cấp cao đến triển khai chi tiết.

Nghiên cứu trường hợp này khám phá cách Use-Case 2.0 thay đổi quá trình thu thập yêu cầu, thiết kế và phát triển. Bằng cách xem xét các nguyên tắc cốt lõi, ứng dụng thực tiễn và sự phối hợp với các công cụ phát triển hỗ trợ AI đang nổi lên, chúng tôi chứng minh phương pháp này giúp các đội ngũ xây dựng được hệ thống đúng hệ thống một cách hiệu quả, đảm bảo việc giao giá trị ở mỗi bước tiến.
Sự Tiến Hóa Của Kỹ Thuật Yêu Cầu
Trong gần ba mươi năm qua, các use case đã đóng vai trò nền tảng trong kỹ thuật yêu cầu, giúp các đội ngũ hiểu cách người dùng tương tác với hệ thống để đạt được mục tiêu của họ. Chúng đã truyền cảm hứng cho nhiều kỹ thuật hiện đại, bao gồm cả câu chuyện người dùng. Nhưng trong những năm gần đây, điều đáng kinh ngạc đã xảy ra—sự truyền cảm hứng đã chảy theo chiều ngược lại.
Use-Case 2.0 là thế hệ mới của phát triển dựa trên use case—nhẹ nhàng, linh hoạt và tối ưu—được lấy cảm hứng từ câu chuyện người dùng và các phương pháp Agile như Scrum và Kanban. Nó đại diện cho một bước tiến đáng kể so với các thực hành use case truyền thống, kết hợp sự đơn giản và tập trung của câu chuyện người dùng với cấu trúc toàn diện và khả năng mở rộng mà use case luôn mang lại.
“Use-Case 2.0 có tất cả những giá trị phổ biến từ quá khứ—không chỉ hỗ trợ yêu cầu, mà còn cả kiến trúc, thiết kế, kiểm thử và trải nghiệm người dùng—and nó đóng vai trò then chốt trong mô hình hóa kinh doanh và tái sử dụng phần mềm.”
Điều Gì Làm Nên Sự Khác Biệt Của Use-Case 2.0?
Phương pháp use case truyền thống bao gồm việc tạo các tài liệu use case chi tiết ghi lại hành vi hệ thống, bao gồm mô tả ngắn gọn, điều kiện tiền và hậu, cũng như tương tác của các tác nhân. Mặc dù hiệu quả, cách tiếp cận này thường trở nên nặng về tài liệu và khó thích nghi với quá trình lặp lại nhanh chóng của phát triển Agile.
Use-Case 2.0 xây dựng trên nền tảng này đồng thời giới thiệu một số đổi mới:
-
Phù Hợp Với Agile: Tích hợp liền mạch với các phương pháp Agile, giúp các đội phát triển dễ dàng hợp tác với các bên liên quan, phân tách yêu cầu và lặp lại nhanh chóng
-
Tích Hợp Câu Chuyện Người Dùng: Tích hợp câu chuyện người dùng như một cách nhẹ nhàng để ghi nhận nhu cầu người dùng và xây dựng sự hiểu biết chung
-
Các Mảnh Use Case: Chia các use case phức tạp thành các đơn vị nhỏ hơn, dễ quản lý, có thể triển khai và kiểm thử độc lập
-
Mô Hình Hình Ảnh: Nhấn mạnh vào sơ đồ luồng, sơ đồ hoạt động và sơ đồ tuần tự để hiểu toàn diện về hệ thống
-
Phát Triển Theo Chu Kỳ: Kiểm thử từng thành phần ngay khi được xây dựng, cho phép phát hiện vấn đề sớm
Ở cốt lõi, Use-Case 2.0 giới thiệu một khái niệm mới then chốt: mảnh use case. Một mảnh là phần được chọn cẩn thận từ một use case, có thể được xử lý độc lập—nó cắt xuyên suốt không chỉ yêu cầu, mà còn cả thiết kế, triển khai, các trường hợp kiểm thử và kết quả kiểm thử.

Hình 1: Biểu diễn trực quan về cấu trúc Use-Case 2.0 thể hiện mối quan hệ giữa các tác nhân, các trường hợp sử dụng và các mảnh.
Sáu nguyên tắc của Use-Case 2.0
Ivar Jacobson, Ian Spence và Kurt Bittner đã xác định sáu nguyên tắc cơ bản tạo nên nền tảng cho việc áp dụng Use-Case thành công:
1. Đơn giản hóa bằng cách kể chuyện
Kể chuyện là cách đơn giản và hiệu quả nhất để truyền đạt điều mà một hệ thống cần làm. Các trường hợp sử dụng ghi lại mục tiêu của hệ thống, còn các câu chuyện mô tả cách đạt được những mục tiêu đó và xử lý các vấn đề phát sinh dọc đường. Điều này giúp các yêu cầu được ghi lại, chia sẻ và hiểu một cách dễ dàng.
2. Hiểu được bức tranh toàn cảnh
Dù hệ thống của bạn lớn hay nhỏ, việc hiểu được toàn cảnh là điều thiết yếu. Không có cái nhìn tổng quan này, các đội nhóm không thể đưa ra quyết định đúng đắn về phạm vi, chi phí hay giá trị. Một sơ đồ trường hợp sử dụng cung cấp cách đơn giản để trình bày tổng quan về yêu cầu của hệ thống—thể hiện tất cả các cách hệ thống có thể được sử dụng, ai khởi tạo tương tác và bất kỳ bên nào khác tham gia.

Hình 2: Một sơ đồ trường hợp sử dụng mẫu minh họa các tác nhân và tương tác của họ với hệ thống.
3. Tập trung vào giá trị
Giá trị chỉ được tạo ra khi một hệ thống thực sự được sử dụng. Thay vì tập trung vào danh sách dài các chức năng hay tính năng, các trường hợp sử dụng tập trung vào cách hệ thống sẽ được sử dụng để đạt được các mục tiêu cụ thể cho người dùng nhất định. Luồng cơ bản mô tả cách đơn giản nhất để đạt được mục tiêu, trong khi các luồng thay thế bổ sung các lựa chọn và xử lý lỗi. Các đội nhóm có thể phát hành luồng cơ bản trước và thêm các lựa chọn sau—đây là cách tiếp cận tích hợp theo thiết kế.
4. Xây dựng hệ thống theo từng mảnh
Hầu hết các hệ thống đều cần công việc lớn trước khi trở nên sử dụng được. Việc cố gắng xây dựng hệ thống như vậy chỉ trong một lần là sai lầm. Thay vào đó, các hệ thống nên được xây dựng theo từng mảnh, mỗi mảnh mang lại giá trị rõ ràng cho người dùng.
Công thức đơn giản như sau:
-
Xác định điều hữu ích nhất mà hệ thống phải thực hiện
-
Chia nhỏ nó thành các mảnh mỏng hơn, dễ quản lý
-
Xác định các trường hợp kiểm thử đại diện cho việc chấp nhận các mảnh đó
-
Chọn mảnh trung tâm nhất, đi xuyên suốt toàn bộ khái niệm
-
Ước lượng nó cùng đội nhóm và bắt đầu xây dựng
5. Cung cấp hệ thống theo từng bước
Các hệ thống phần mềm phát triển qua nhiều thế hệ và các phiên bản phát hành. Mỗi bước tiến phải cung cấp một phiên bản có thể minh chứng hoặc sử dụng được của hệ thống. Use-Case 2.0 hỗ trợ điều này bằng cách chia nhỏ các trường hợp sử dụng thành các công việc có thể được lắp ráp thành các bước tiến và cuối cùng là các phiên bản phát hành.
6. Linh hoạt điều chỉnh để đáp ứng nhu cầu của đội nhóm
Không có giải pháp nào phù hợp với mọi tình huống trong phát triển phần mềm. Các đội nhóm và tình huống khác nhau đòi hỏi các phong cách và mức độ chi tiết khác nhau. Use-Case 2.0 có thể được áp dụng ở mức độ nhẹ tùy ý—các đội nhỏ, hợp tác chặt chẽ có thể sử dụng các bản kể chuyện trường hợp sử dụng nhẹ nhàng trên các thẻ ghi chú đơn giản, trong khi các đội lớn phân tán có thể sử dụng các tài liệu chi tiết hơn.
Cấu trúc của Use-Case 2.0: Các mảnh, các tình huống và các nhiệm vụ
Ba khái niệm then chốt định nghĩa cách Use-Case 2.0 hoạt động trong thực tế:
Các mảnh trường hợp sử dụng là những thành phần nhỏ hơn, dễ quản lý hơn của một trường hợp sử dụng. Thay vì định nghĩa toàn bộ một trường hợp sử dụng trong một tài liệu, Use-Case 2.0 chia nó thành các mảnh dễ thiết kế, phát triển và kiểm thử hơn. Mỗi mảnh đại diện cho một chức năng cụ thể mà hệ thống phải thực hiện để hỗ trợ một nhiệm vụ hoặc mục tiêu cụ thể của người dùng.
Các tình huống đại diện cho các con đường khác nhau mà người dùng có thể đi để hoàn thành các nhiệm vụ trong một mảnh:
-
Đường đi bình thường: Chuỗi thao tác được mong đợi hoặc tiêu chuẩn (đường đi “vui vẻ”)
-
Đường dẫn thay thế: Các biến thể hoặc cách thức khác nhau để đạt được cùng một mục tiêu
-
Đường dẫn ngoại lệ: Các lỗi hoặc tình huống bất thường có thể xảy ra
Nhiệm vụlà những hành động cụ thể mà người dùng phải thực hiện trong một tình huống để đạt được mục tiêu. Chúng đại diện cho các bước riêng lẻ tạo nên một tình huống.
Ví dụ, trong phần use-case ‘Duyệt sản phẩm’ của một nền tảng thương mại điện tử:
-
Đường dẫn bình thường: Người dùng tìm kiếm, xem kết quả, chọn sản phẩm, thêm vào giỏ hàng, tiến hành thanh toán
-
Đường dẫn thay thế: Người dùng chọn phương thức thanh toán khác (PayPal thay vì thẻ tín dụng)
-
Đường dẫn ngoại lệ: Thanh toán bị từ chối do tài khoản không đủ tiền hoặc địa chỉ thanh toán sai

Hình 3: Phân tích chi tiết một phần use-case thể hiện các đường dẫn bình thường, thay thế và ngoại lệ.
Use-case so với User stories: Tại sao cả hai đều quan trọng
Đây chính là nơi Use-Case 2.0 mang đến một giải pháp thuyết phục cho một thách thức phổ biến trong Agile.
Một user story là một mục độc lập—nó không có mối quan hệ tích hợp với các story khác. Một danh sách công việc sản phẩm gồm 200 user story trở nên khó quản lý nếu không có các cơ chế nhóm bổ sung như epic hoặc chủ đề. Các story có thể mất bối cảnh, và các đội thường viết kiểm thử chấp nhận quá muộn.
Một use case khác biệt. Nó nhóm tất cả các story liên quan dưới một mục tiêu duy nhất, với:
-
Một mục tiêu rõ ràng (chính use case đó)
-
Một luồng từng bước (luồng cơ bản)
-
Các biến thể được xác định (luồng thay thế)
-
Tiêu chí chấp nhận (các trường hợp kiểm thử)
Khi bạn xem xét một use case, bạn sẽ thấy toàn bộ bức tranh về cách người dùng đạt được một mục tiêu cụ thể, chứ không chỉ là một mảnh rời rạc.

Hình 4: Biểu đồ so sánh làm nổi bật sự khác biệt và tính bổ trợ lẫn nhau giữa user stories và use cases.
Use-Case 2.0 trong thực tiễn Agile: Các ví dụ thực tế
Use-Case 2.0 cung cấp cấu trúc cho các đội Agile đối mặt với những thách thức phổ biến:
Nền tảng thương mại điện tử: Các use case cho hệ thống mua sắm trực tuyến bao gồm Duyệt sản phẩm, Tìm kiếm sản phẩm, Thêm vào giỏ hàng, Tiến hành thanh toán và Thanh toán. Biểu đồ use-case sớm tiết lộ các luồng bị thiếu—như ‘Thanh toán khách’—mà có thể được bổ sung trước khi cam kết sprint, ngăn ngừa các vấn đề bỏ giỏ hàng trong môi trường sản xuất.
Ứng dụng ngân hàng di động: Việc ghi chép các luồng thay thế như “thông tin đăng nhập sai → chuyển sang xác thực đa yếu tố” giúp phát hiện sớm các lỗ hổng bảo mật, tránh các bản vá tốn kém sau khi ra mắt và xây dựng niềm tin từ người dùng.
Dịch vụ chia sẻ xe cộ: Các mảnh use-case thúc đẩy phát triển MVP—bắt đầu với yêu cầu, chấp nhận và thanh toán; sau đó thêm đánh giá và khiếu nại ở các vòng lặp tiếp theo. Điều này giúp cung cấp giá trị nhanh chóng với việc ưu tiên rõ ràng.
Nền tảng đặt lịch khám chữa bệnh: Việc xem xét lại luồng use-case từ các bên liên quan phát hiện ra yêu cầu xử lý “không đến khám”. Có thể thêm chức năng sắp xếp lại lịch tự động, có thể giảm thiểu số lần bỏ cuộc hẹn.

Hình 5: Ví dụ về một đội Agile sử dụng các mảnh use-case để lập kế hoạch các sprint.
Mối liên hệ với AI: Use-Case 2.0 gặp gỡ phát triển hỗ trợ bởi AI
Use-Case 2.0 ban đầu được phát triển vào năm 2011, cách đây rất lâu trước khi các trợ lý lập trình AI xuất hiện. Nhưng các nguyên tắc của nó đang chứng minh là sự kết hợp hoàn hảo cho phát triển hỗ trợ bởi AI.
Các trợ lý lập trình AI hoạt động tốt nhất với các tài liệu yêu cầu rõ ràng và có cấu trúc. Một use case cung cấp:
-
Một mục tiêu rõ ràng để AI hiểu
-
Một luồng từng bước để AI triển khai
-
Các biến thể được xác định để AI xử lý
-
Các tiêu chí chấp nhận để AI đáp ứng
Bốn giai đoạn của phát triển hỗ trợ bởi AI tự nhiên phù hợp với các nguyên tắc của Use-Case 2.0:
-
Khởi đầu → “Hiểu bức tranh tổng thể” — tạo ra các yêu cầu kinh doanh và sơ đồ use-case ban đầu
-
Phát triển chi tiết → “Tập trung vào giá trị” — viết tài liệu yêu cầu với luồng cơ bản và luồng thay thế
-
Xây dựng → “Xây dựng hệ thống theo từng mảnh” — với AI, đơn vị công việc có thể là toàn bộ tài liệu yêu cầu use case, chứ không chỉ là một mảnh
-
Chuyển đổi → “Cung cấp hệ thống theo từng bước” — kiểm thử chấp nhận từ người dùng xác nhận rằng các use case đáp ứng nhu cầu của các bên liên quan

Hình 6: Minh họa cách các trợ lý AI tích hợp với quy trình làm việc của Use-Case 2.0.
Bắt đầu với Use-Case 2.0
Bạn không cần phải áp dụng toàn bộ thực hành Use-Case 2.0 ngay lập tức. Bắt đầu với ba điều sau:
-
Vẽ sơ đồ use-case — Xác định các tác nhân và use case cho hệ thống của bạn. Việc này mất khoảng 30 phút và giúp bạn có cái nhìn tổng thể.
-
Viết một bản mô tả use-case — Chọn use case quan trọng nhất. Viết luồng cơ bản dưới dạng dàn ý có gạch đầu dòng. Liệt kê các luồng thay thế chỉ với tên ban đầu.
-
Triển khai use case đầu tiên của bạn — Dù bạn sử dụng phát triển thủ công hay hỗ trợ từ AI, hãy để use case dẫn dắt quá trình triển khai của bạn.
Bạn có thể theo dõi các trường hợp sử dụng trên một bảng tính đơn giản hoặc trên giấy ghi chú dán. Không cần công cụ đặc biệt nào để bắt đầu với Use-Case 2.0.
Kết luận
Use-Case 2.0 không phải là sự thay thế cho các câu chuyện người dùng—nó là một bổ sung. Các trường hợp sử dụng cung cấp cho bạn cái nhìn tổng thể và cấu trúc. Các trường hợp kiểm thử cung cấp cho bạn định nghĩa rõ ràng về việc hoàn thành. Đối với phát triển thủ công, các mảnh nhỏ giúp bạn có được các nhiệm vụ phù hợp về kích thước.
Điểm then chốt là các trường hợp sử dụng bao gồm các kỹ thuật được cung cấp bởi các câu chuyện người dùng, đồng thời mang lại nhiều giá trị hơn đáng kể cho các hệ thống lớn, các nhóm lớn và các phát triển phức tạp hơn. Chúng nhẹ nhàng như các câu chuyện người dùng nhưng có thể mở rộng một cách trơn tru, có cấu trúc để tích hợp bất kỳ mức độ chi tiết nào cần thiết. Quan trọng nhất, chúng thúc đẩy và kết nối nhiều khía cạnh khác nhau trong quá trình phát triển phần mềm.

Trong thời đại mà AI đang thay đổi cách chúng ta xây dựng phần mềm, Use-Case 2.0 cung cấp nền tảng có cấu trúc, tập trung vào người dùng, đảm bảo rằng chúng ta xây dựng được hệ thống đúng hệ thống—not chỉ là một hệ thống hoạt động. Bằng cách đón nhận phương pháp luận phát triển này, các đội nhóm có thể đạt được sự rõ ràng, hiệu quả và giao dịch giá trị cao hơn trong hành trình Agile của họ.
Tài liệu tham khảo
-
Use-Case 2.0: Sự phát triển Agile của kỹ thuật yêu cầu: Tổng quan toàn diện về các nguyên tắc và thực hành của Use-Case 2.0.
-
Tích hợp các trường hợp sử dụng với các phương pháp Agile: Hướng dẫn về việc kết hợp các trường hợp sử dụng với Scrum và Kanban.
-
Sức mạnh của các mảnh trường hợp sử dụng: Giải thích chi tiết về các kỹ thuật chia nhỏ trong Use-Case 2.0.
-
Phát triển hỗ trợ bởi AI và các yêu cầu có cấu trúc: Khám phá cách các công cụ AI được lợi từ các trường hợp sử dụng có cấu trúc.
-
Mô hình hóa trực quan trong các dự án Agile: Các thực hành tốt nhất khi sử dụng sơ đồ trong môi trường Agile.














