TL; DR
Câu chuyện của người dùng là để ghi lại giá trị nào cần được thêm vào sản phẩm và tại sao. Chi tiết triển khai (ví dụ như cách giá trị được thêm, kiểm tra, đo lường hoặc xác nhận) bị ràng buộc bởi câu chuyện, nhưng không được chứa trong chúng. Chúng được cố tình để lại như các tạo tác riêng biệt để duy trì tính linh hoạt và nhanh nhẹn trong khuôn khổ.
Các thông số kỹ thuật và chi tiết triển khai thường được ghi lại trong các tạo phẩm khác như Kịch bản chấp nhận thử nghiệm (ATDD), Phát triển dựa trên thử nghiệm (TDD) và kịch bản và kịch bản Phát triển hướng hành vi (BDD). Các tạo phẩm cụ thể này không được ủy quyền bởi khung Scrum, nhưng chắc chắn chúng sẽ cung cấp cho bạn một điểm khởi đầu tốt nếu bạn chưa có các biện pháp kiểm soát quy trình hiệu quả khác.
Câu chuyện của người dùng không phải là thông số kỹ thuật
Người đăng ban đầu (OP) đã hỏi câu hỏi sau :
[A] khách hàng muốn xử lý khác nhau cho các thẻ tín dụng khác nhau, có những yêu cầu nghiêm ngặt phải được thực hiện và được biết để các trường hợp kiểm tra có thể được viết ... TÔI NÊN NÀO NÀO NẾU KHÔNG Ở CÂU CHUYỆN?
Câu chuyện người dùng là một tính năng mang lại giá trị , cung cấp một số ngữ cảnh để hướng dẫn các cuộc hội thoại về việc triển khai và quan điểm gắn liền với người tiêu dùng giá trị , người sẽ được hưởng lợi từ giá trị được cung cấp bởi tính năng.
Toàn bộ điểm của một câu chuyện người dùng là các chi tiết thực hiện không theo quy định. Nhóm có thể tự do triển khai tính năng này theo bất kỳ cách nào mang lại giá trị được xác định cho người tiêu dùng giá trị trong bối cảnh thích hợp.
Một ví dụ hoạt động
Câu chuyện người dùng mẫu
Điều này dễ giải thích hơn nếu bạn bắt đầu với một tập các câu chuyện người dùng ít mơ hồ hơn. Vì OP không cung cấp một câu chuyện người dùng có thể hành động theo bản ghi nhớ ĐẦU TƯ , tôi sẽ phát minh ra một câu chuyện để lấy ví dụ. Hãy xem xét câu chuyện sau đây:
Là người dùng thích thanh toán bằng thẻ Discover,
tôi muốn có tùy chọn mua hàng bằng thẻ Discover
để tôi không bị giới hạn ở Visa, Mastercard hoặc American Express.
Điều này cung cấp một tính năng cụ thể, cung cấp một số bối cảnh có thể hướng dẫn các quyết định triển khai mà nhóm phải đưa ra và xác định người tiêu dùng giá trị là khách hàng sở hữu thẻ Khám phá. Đó không phải là một bộ thông số kỹ thuật, nhưng đó là những gì bạn cần để có những cuộc trò chuyện phù hợp với khách hàng và với nhóm về cách tốt nhất để thực hiện câu chuyện trong quá trình phát triển.
Phân tích và thực hiện
Việc thực hiện là tùy thuộc vào đội. Nhóm sẽ phải làm một số phân tích để xác định:
- Cách dễ nhất để thực hiện một tính năng mới.
- Những lựa chọn thực hiện nào khác nhau sẽ dễ dàng nhất để hỗ trợ trong tương lai, mà không tích lũy nợ kỹ thuật.
- Cách áp dụng các nguyên tắc đóng mở và YAGNI để đảm bảo rằng tính năng mới của bạn mạnh mẽ mà không bị quá tải.
Một trong những nguyên tắc cốt lõi của Tuyên ngôn Agile là hợp tác với khách hàng. Một nhóm tự tổ chức chéo, đa chức năng dự kiến sẽ có thể cộng tác với khách hàng để tìm ra các chi tiết triển khai trong các hướng dẫn được cung cấp bởi câu chuyện của người dùng.
Nếu câu chuyện người dùng của bạn không được viết tốt hoặc nếu nhóm không có kỹ năng hoặc quá trình trưởng thành để thực hiện phân tích vừa đủ theo khung nhanh nhẹn của họ, thì điều này rõ ràng sẽ khó hơn nhiều so với yêu cầu. Toàn bộ cuốn sách đã được viết về chủ đề làm thế nào để tạo ra những câu chuyện hay của người dùng ở mức độ chi tiết phù hợp; Thật không may, không có viên đạn bạc, nhưng nó là một kỹ năng có thể học được cho các đội nhanh nhẹn.
Thiết kế hướng thử nghiệm và hướng hành vi
Cách tốt nhất để đảm bảo rằng phân tích là hợp lý và việc triển khai vừa lành mạnh vừa có thể hỗ trợ là thông qua việc sử dụng các thực hành TDD và BDD. Ví dụ, được đưa ra câu chuyện ở trên, nhóm nên nắm bắt việc thực hiện theo kế hoạch thông qua các hiện vật như:
Tính năng dưa chuột với các kịch bản thử nghiệm.
Điều này hữu ích nhất để thúc đẩy sự phát triển của các thử nghiệm chấp nhận và ghi lại những kỳ vọng của người dùng về hành vi ứng dụng. Ví dụ: câu chuyện người dùng nên có một hoặc nhiều tính năng Cucumber liên quan mô tả cách người dùng có thể kiểm tra bằng thẻ Discover và quy trình đó trông như thế nào đối với người dùng.
Các thử nghiệm RSpec xác nhận hành vi (không phải chi tiết triển khai nội bộ) của các tính năng mã mới.
Điều này hữu ích nhất để ghi lại và xác thực hành vi dự định của tính năng trong ứng dụng. Ví dụ: câu chuyện của người dùng sẽ thúc đẩy việc tạo các bài kiểm tra đơn vị và tích hợp để đảm bảo rằng việc sử dụng thẻ Discover sẽ gọi bất kỳ hành vi cụ thể nào về thẻ mà ứng dụng yêu cầu để cho phép bán hàng thông qua cổng thanh toán.
Các công cụ cụ thể không quan trọng. Nếu bạn không thích Cucumber hoặc RSpec, hãy sử dụng bất kỳ công cụ hoặc phương pháp nào phù hợp nhất với nhóm của bạn. Tuy nhiên, vấn đề là các chi tiết triển khai dựa trên câu chuyện của người dùng , nhưng không được quy định bởi nó . Thay vào đó, việc triển khai (hoặc thông số kỹ thuật, nếu bạn thích) là các chi tiết cần được thực hiện trong quá trình phát triển tính năng theo kiểu hợp tác.