Điều gì là tốt nhất cho câu chuyện của người dùng có hai vai trò


8

Tôi có một số câu chuyện của người dùng trong đó cùng một tính năng cần được chia sẻ bởi nhiều vai trò. Tôi đã bắt đầu viết những câu chuyện như thế này:

Là Vai trò-A hoặc Vai trò-B
Khi tôi thực hiện Hành động-X
Sự kiện-Y nên xảy ra.

Đây có phải là cách chính xác để thể hiện khái niệm đó trong các câu chuyện của người dùng hay tôi nên chia nó thành một câu chuyện cho mỗi vai trò?

Câu trả lời:


14

Thôi đi

một vai trò cho mỗi câu chuyện; bằng cách buộc bạn xem xét từng vai trò riêng biệt, bạn có thể thấy sự khác biệt xuất hiện một cách tự nhiên

[một ví dụ có thể giúp đỡ; có thể có một số nhầm lẫn vai trò diễn ra vai trò A và B chia sẻ rất nhiều câu chuyện tương tự; thay vào đó, có một vai trò C 'sở hữu' những câu chuyện chung]


Cảm ơn câu trả lời. Điều đó làm cho mọi thứ rõ ràng hơn một chút. Điều gì nếu tính năng là một cái gì đó giống như một báo cáo. Báo cáo sẽ có cùng chức năng cho Vai trò A và Vai trò B, nhưng Vai trò A và Vai trò B vẫn cần có các quyền khác nhau trong hệ thống.
Sean Hunter

2
@Sean kiểm tra lại định nghĩa vai trò của bạn. Nếu các quyền khác nhau trong hệ thống cho vai trò A và vai trò B không ảnh hưởng đến báo cáo thì chúng không liên quan và có vẻ như A và B không phải là vai trò chính xác cho câu chuyện báo cáo. Ví dụ: cả Kiến trúc sư vai trò và Trình quản lý vai trò đều có quyền truy cập vào Báo cáo 401K. Sẽ không có ý nghĩa hơn khi định nghĩa "Người tham gia 401K" là vai trò phù hợp hơn cho báo cáo này?
Steven A. Lowe

Vâng điều đó có ý nghĩa tôi nhận được nơi bạn đang đến từ bây giờ. Cảm ơn lời khuyên tốt: D.
Sean Hunter

10

Tôi đồng ý với @Steven. Bạn nên phá vỡ câu chuyện hoặc bạn nên giới thiệu khái quát hóa cho các vai trò. Điều đó có nghĩa là bạn sẽ có sự khái quát hóa A và B sẽ được sử dụng mỗi khi câu chuyện giống nhau cho cả A và B. (Nó giống như sự kế thừa vai trò / diễn viên trong đó khái quát hóa là cha mẹ của A và B).


1
Nếu bạn đồng ý với Steven, tại sao bạn không đơn giản nâng đỡ anh ta hơn là thêm một câu trả lời giống hệt nhau?
pdr

2
@pdr: Tôi không nghĩ rằng phần thứ hai trong câu trả lời của tôi là "giống hệt nhau" và tôi đã nâng cao câu trả lời của Steven. Không có quy tắc rằng bạn không thể mở rộng câu trả lời được đăng bởi người khác. Đó là tùy thuộc vào cộng đồng để đánh giá điều đó và nâng cao câu trả lời họ thích. Như bạn có thể thấy Steven nhận được nhiều sự ủng hộ hơn, điều đó là công bằng vì vậy tôi không thấy có vấn đề gì với câu trả lời của mình.
Ladislav Mrnka

1
@pdr Tôi đồng ý với sự bổ sung của Ladislav và cũng nêu lên câu trả lời của anh ấy. Càng nhiều thông tin tốt càng tốt!
Steven A. Lowe

Tôi hiểu rằng việc tạo ra sự khái quát hóa của người dùng sẽ hỗ trợ kiểm tra tính đầy đủ chính thức cho các câu chuyện của bạn, nhưng tôi nghĩ rằng việc viết những câu chuyện như thế này là một ý tưởng tồi. Lý do là vì nó mâu thuẫn trực tiếp với quy tắc đầu tiên của bản tuyên ngôn nhanh nhẹn: "Cá nhân và tương tác qua các quy trình và công cụ".
Max Hohenegger

1

Bạn cần xác định và trừu tượng hóa vai trò

Ví dụ bạn cung cấp ...

As a Role-A or a Role-B 
When I perform Action-X 
Event-Y should occure.

không mở rộng quy mô vì có số lượng kết hợp theo cấp số nhân mà chương trình có thể thực hiện.

Để trích xuất các vai trò riêng lẻ, bạn cần tưởng tượng các bước từ quan điểm đầu tiên trong khi bỏ qua trạng thái toàn cầu.

Tôi thực sự khuyên bạn nên xem ' Cách lấy một tách cà phê '. Nó cho thấy cách API REST cho quán cà phê có thể được mô hình hóa bằng sơ đồ trạng thái.

Vấn đề là, bạn sẽ không thể vẽ một bức tranh chính xác về cách hệ thống tương tác trên toàn cầu cho đến khi bạn có thể thấy nó hoạt động ở cấp địa phương.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.