Nhóm của tôi sẽ sử dụng Visual Studio Team Services cho một dự án sắp tới. Các công cụ Agile cho phép tôi sắp xếp các Câu chuyện và Nhiệm vụ của Người dùng theo thứ bậc như thế này:
Sử thi> Tính năng> Câu chuyện người dùng> Nhiệm vụ / Lỗi
Hãy nói rằng tôi đang thiết kế một hệ thống quản lý Học sinh (câu lạc bộ) cho học sinh trung học và cố vấn. Sinh viên và cố vấn có thể tham gia các câu lạc bộ, làm sĩ quan, tổ chức các sự kiện, gửi thông báo, v.v.
Hãy lấy tính năng Thông báo làm ví dụ:
Câu chuyện của người dùng:
- Là một sinh viên, tôi muốn đọc Thông báo cho các câu lạc bộ mà tôi là một phần để tôi nhận thức được sự thay đổi lịch trình.
- Là một cố vấn, tôi muốn đọc Thông báo cho các câu lạc bộ mà tôi là một phần để tôi nhận thức được sự thay đổi lịch trình.
- Là một cố vấn, tôi muốn gửi Thông báo cho các câu lạc bộ mà tôi là một phần để Học sinh của tôi nhận thức được sự thay đổi lịch trình
- Là Quản trị viên, tôi muốn gửi Thông báo tới TẤT CẢ các câu lạc bộ của trường để tôi có thể khiến họ biết về xung đột lịch trình.
- Vân vân
Nếu chúng tôi cho rằng đây là những Câu chuyện Người dùng được viết tốt (có thể không có), tôi sẽ bối rối khi nhóm phát triển của mình và tôi ngồi xuống để phân chia các mục này thành Nhiệm vụ phát triển. Chúng tôi có thể bao gồm các phần của một số Câu chuyện người dùng với các Nhiệm vụ phát triển duy nhất. Ví dụ: chúng tôi có một công cụ tạo các hành động CRUD cho tất cả các lớp từ UI đến DB chỉ bằng cách xác định các thuộc tính của Thông báo. Vì vậy, các phần của một số Câu chuyện người dùng "gửi" và "đọc" được hoàn thành trong một bước phát triển duy nhất.
Từ những gì tôi đã đọc, mỗi Câu chuyện của người dùng nên độc lập với những câu chuyện khác và điều đó có ý nghĩa. Nhưng mỗi Câu chuyện người dùng của chúng tôi chia sẻ Nhiệm vụ "Tạo giao diện người dùng và DB" bởi vì đây là cách chúng tôi tạo giao diện người dùng cấp cơ sở (trước khi chúng tôi tùy chỉnh nó). Tôi không nên viết Tác vụ "Tạo UI và DB" cho mỗi Câu chuyện của người dùng. Đó là quá nhiều dư thừa. Nhưng tôi không biết cách viết tác vụ "Tạo UI và DB" phải được hoàn thành trước khi có thể bắt đầu bất kỳ Câu chuyện người dùng nào.
Tôi có sự nhầm lẫn tương tự với hệ thống cho phép của chúng tôi. Chúng tôi có các loại tài khoản khác nhau như Sinh viên, Cố vấn và Quản trị viên đều có quyền truy cập vào trang Thông báo, nhưng có chức năng khác nhau trong trang (Tôi đã nắm bắt ý tưởng này với Câu chuyện của người dùng ở trên). Chúng ta có thể viết hệ thống cấp phép thành mô-đun để có thể sử dụng nó cho các Tính năng khác, nhưng tôi không biết phải viết Tác vụ ở đâu để tạo "hệ thống cấp phép mô-đun".
Tôi đoán toàn bộ câu chuyện Người dùng này làm tôi bối rối. Vâng, thật tuyệt vời khi nắm bắt chức năng của một hệ thống, nhưng khi suy nghĩ về các Nhiệm vụ phát triển, tôi dường như không thể quấn đầu xung quanh nó. Bất cứ lời khuyên nào cũng tuyệt vời cả.
TL; DR: Một số chương trình tôi thực hiện cho một Câu chuyện người dùng có thể được sử dụng ở nơi khác trong dự án của chúng tôi cho các Câu chuyện người dùng khác (hệ thống cấp phép, v.v.). Làm cách nào để tôi viết / sắp xếp Nhiệm vụ cho Câu chuyện của Người dùng để minh họa khả năng này?