Một phần cốt lõi của việc ước tính các câu chuyện trong một nhóm mà tôi đã làm việc là ý tưởng về một câu chuyện "quá lớn" để ước tính. Đó là - khối lượng công việc ngụ ý bởi câu chuyện vượt quá phạm vi của một lần chạy nước rút.
Khi có nhiều thông tin đến tay, hoặc nhóm đã hiểu rõ hơn về những gì ban đầu dường như là một con thú duy nhất của câu chuyện, chúng tôi thường sẽ ước tính lại câu chuyện. Trong hầu hết các trường hợp, điều này có thể liên quan đến việc phá vỡ câu chuyện 'quá lớn' thành những câu chuyện nhỏ hơn, có thể đạt được và ước tính những câu chuyện thay thế.
Những câu chuyện 'quá lớn' này không bao giờ đi vào kích thước con số hoặc đốt cháy các biểu đồ.
Đồng thời, chúng tôi có thể quay lại một câu chuyện trên đường đua và với sự hiểu biết tốt hơn về các yêu cầu, chúng tôi có thể ước tính lại. Bạn không nên ước tính lại một câu chuyện đơn giản vì nó đã trở nên dễ dàng hơn để đạt được (ví dụ: sau khi xây dựng một loạt các thư viện khung, một phần công việc phụ thuộc sẽ dễ dàng đạt được hơn), bởi vì toàn bộ ý tưởng là khi bạn trở thành ' tốt hơn ', nhóm có thể đạt được nhiều hơn trong một lần chạy nước rút, nhưng chắc chắn tôi nghĩ rằng nó là hợp lệ để ước tính lại câu chuyện nếu sự hiểu biết của bạn về chúng thay đổi.
Sau đây sẽ là một bình luận nhưng tôi đã mang đi ...
Đừng quên phân biệt giữa kích thước và độ phức tạp trong ước tính của bạn. Bạn chỉ nên ước tính về kích thước, không phức tạp hay khó khăn. Ví dụ: việc thêm một nút vào màn hình phải luôn là '1', theo đó, theo như người dùng quan tâm, họ đang nhận được một nút - kích thước rất thấp. Sẽ không thành vấn đề nếu bạn thực sự triển khai nó trong C # (độ phức tạp thấp, rất dễ) hoặc lắp ráp (độ phức tạp cao, rất khó); câu chuyện người dùng có cùng kích thước.
Vì vậy, khi tôi nói rằng nó đáng giá lại ước tính khi thay đổi sự hiểu biết, nó không phải là sự hiểu biết của bạn về cách để thực hiện các tính năng đã thay đổi, đó là sự hiểu biết của bạn về những gì các tính năng được mà đã thay đổi.
Vì vậy, "Tôi muốn có một nút" thật dễ dàng, nhưng sau đó bạn nhận ra người dùng có nghĩa là "Tôi muốn một nút có thể nhấp , chuyển sang màu xanh lá cây và bật lên một thông báo cho người dùng , bây giờ là một câu chuyện phức tạp hơn và do đó nên được tái hiện lại. ước lượng.
Cập nhật ; như được yêu cầu, tôi sẽ cố gắng giải thích những gì tôi muốn nói bằng cách ước tính về 'kích thước' thay vì độ phức tạp.
Tôi nghĩ rằng dễ dàng nhất để xem xét sự khác biệt này trong điều khoản của một sản phẩm mới. Nhóm của bạn được giao nhiệm vụ xây dựng một hệ thống đa màn hình, nơi mọi thứ đều mới. Trong số các câu chuyện người dùng của bạn, bạn có một loạt các câu chuyện như;
1) Tôi muốn có một nút trên Màn hình A, khi nhấp vào sẽ hiển thị lỗi cho người dùng trái phép. 2) Tôi muốn có một nút trên Màn hình B, khi nhấp vào sẽ hiển thị thông báo nếu ngày hiện tại là cuối tuần. 3) Tôi muốn một menu oiption trên Màn hình C, khi nhấp vào sẽ làm cho màn hình nhấp nháy cứ sau 5 phút.
Bây giờ, khi nhóm ước tính những câu chuyện này, họ đồng ý rằng tất cả chúng đều có cùng kích thước và ước tính mỗi câu chuyện là một câu chuyện 'nhỏ', trị giá 5 điểm trên thang tốc độ nước rút của chúng.
Cuộc chạy nước rút bắt đầu, và trong lần chạy nước rút đầu tiên, nhóm không đạt được những câu chuyện nào trong số này, vì họ dành toàn bộ chu trình để thiết lập các dự án, cơ sở hạ tầng, thư viện cốt lõi, v.v. Và có một người mới trong nhóm vẫn đang học.
Một vài lần chạy nước rút và nhóm nghiên cứu kết hợp một màn hình đáp ứng Câu chuyện số 1 - những ngày hạnh phúc, giờ họ đã đạt được 5 điểm vận tốc. (Với mức trung bình là 1 điểm cho mỗi lần chạy nước rút, do những lần chạy nước rút không hiệu quả khi bắt đầu).
Bây giờ, cho lần chạy nước rút tiếp theo, cơ sở hạ tầng đã sẵn sàng, nhóm có một mẫu màn hình để sử dụng lại và anh chàng mới đang xoay quanh mọi thứ, và lần chạy nước rút này, nhóm đã loại bỏ Câu chuyện số 2 & # 3.
Bây giờ, họ đã đạt được 10 điểm trong một lần chạy nước rút, trung bình khoảng 4 điểm cho mỗi lần chạy nước rút. Điều này cho thấy năng suất của nhóm đang được cải thiện theo thời gian, điều này hoàn toàn được mong đợi, khi dự án phát triển, các nhóm nâng cao, mã lõi được sử dụng lại (không được viết lại).
Điều này với tôi, là lý tưởng. Những câu chuyện được ước tính tốt, chứng minh tốc độ tăng dần theo thời gian (mà cuối cùng sẽ cao nguyên bạn sẽ giả định, trừ khi có gì đó thay đổi lớn - như một thành viên mới của nhóm, v.v.).
Mặt khác, nếu ngay từ đầu, nhóm nghiên cứu đã xem xét những câu chuyện đó và ước tính chúng dựa trên mức độ phức tạp, họ sẽ thấy rằng Câu chuyện số 1 là một câu chuyện LỚN, vì họ đang thực hiện mọi nỗ lực tăng cường, cộng với anh chàng mới cần đào tạo. Câu chuyện số 2 là một TRUNG TÂM, bởi vì họ cho rằng họ sẽ ít nhất là trên đường đến lúc đó, và nó sẽ dễ dàng hơn. Và cuối cùng, câu chuyện số 3 là NHỎ, bởi vì nó sẽ dễ dàng một khi # 1 & # 2 được thực hiện.
Bây giờ, những gì bạn đã kết thúc trong mô hình này chỉ đơn giản là một ước tính khó hiểu về THỜI GIAN; các ước tính là bao thanh toán về mức độ khó của nó và mất bao lâu để hoàn thành một phần công việc, và như chúng ta biết, điều này là khó khăn nhất. Trong mô hình này, vận tốc được cân bằng ngay từ đầu và bạn sẽ không bao giờ có thể chứng minh sự cải thiện trong hiệu suất của đội. Nếu bạn ước tính đúng thời gian, thì bạn sẽ chỉ có thể đạt được 40 giờ làm việc trong một tuần. Và bạn sẽ thật ngớ ngẩn khi lên kế hoạch chạy nước rút với bất kỳ công việc nào nhiều hay ít. Nếu nhóm cải thiện khả năng của mình, bạn vẫn chỉ có thể đặt 40 giờ làm việc. Bạn sẽ chỉ bao giờ đạt được 40 giờ làm việc.
Do đó, tại sao tôi lưu ý rằng một công việc trong C # dễ hơn một công việc trong hội (ít phức tạp hơn), nhưng 'kích cỡ' của nhiệm vụ nên được ước tính tương đương. Bằng cách đó, bạn có thể thấy rằng lựa chọn di chuyển ngôn ngữ, cải thiện khả năng, (hoặc điều chỉnh đối với một số động lực nhóm khác) có tác động trực tiếp đến vận tốc.
[ Cập nhật khác: Ưu tiên địa chỉ ]
Đối với ưu tiên, tôi tin rằng đây là một cuộc thảo luận riêng để định cỡ / ước tính. Bạn không ưu tiên hàng đợi đơn giản dựa trên ước tính của một câu chuyện, nếu không chúng ta sẽ chỉ làm những công việc nhỏ, và không bao giờ lớn hơn, [có thể] quan trọng hơn, những người quan trọng hơn. Trong một nhóm tôi lãnh đạo, chúng tôi thường xuyên có những cuộc trò chuyện về sự phức tạp khi quản lý hàng đợi nước rút. PO sẽ được cung cấp để hiểu rằng, trong khi một số nhiệm vụ là nhiệm vụ "NHỎ" (theo điểm câu chuyện), có thể khó đạt được vì X, Y, Z. Đôi khi, vận tốc của đội sẽ bị ảnh hưởng, để thực hiện một số câu chuyện phức tạp hơn. Những lần khác, PO sẽ nói "tốt, tôi muốn có 5 thứ khác trong lần chạy nước rút này, vì vậy chúng tôi sẽ loại bỏ những công việc phức tạp hơn".
Nếu chúng ta chỉ đơn giản ước tính những câu chuyện gặp khó khăn, thì đó sẽ là ẩn giấu vận tốc. Các nhiệm vụ khó khăn hoặc tốn thời gian sẽ luôn được đặt trọng số nhiều hơn, để làm cho vận tốc trung bình ra ngoài. Như tôi đã lưu ý trước đây, đây chỉ là một hình thức ước tính thời gian khác và không có vận tốc theo dõi điểm nếu đây là phương pháp ước tính của bạn, vì bạn luôn có một khoảng thời gian cố định cho một lần chạy nước rút, vì vậy "vận tốc" của bạn sẽ chỉ thay đổi nếu bạn ước tính không chính xác (ví dụ: một nhiệm vụ 8 giờ mất 1 giờ).
Hy vọng rằng sẽ xóa nó lên một danh hiệu?