Bạn có bao giờ nên ước tính lại câu chuyện người dùng?


8

Dự án hiện tại của tôi đang có một 'cuộc thảo luận' được tách ra ở giữa- "câu chuyện này phức tạp hơn chúng tôi nghĩ ban đầu, chúng tôi nên ước tính lại" vs "bạn không bao giờ nên ước tính lại vì bạn chỉ ước tính lên và không bao giờ xuống " .

Bất cứ ai có thể làm sáng tỏ về việc bạn có bao giờ nên ước tính lại?

IMHO Tôi tưởng tượng bạn có thể đưa ra một thẻ hoàn toàn mới cho một yêu cầu hoặc câu chuyện mới, nhưng quay lại và ước tính lại các mục tồn đọng dường như làm lệch khái niệm kích thước tương đối và sẽ chỉ 'thổi phồng' hồ sơ tồn đọng của bạn.


2
Ước tính có một giá trị nhất định, nhưng chúng dựa trên thông tin bạn có tại một thời điểm nhất định. Ước tính sớm không kém hiệu lực so với ước tính muộn hơn trên khuôn mặt, nhưng ước tính sau có lẽ phù hợp hơn. Giống như những người khác đã nói, nếu nó có ý nghĩa và nó làm tăng giá trị cho quy trình của bạn, hãy làm điều đó; tuy nhiên, các ước tính sửa đổi là để sử dụng hạn chế của riêng bạn..có thể sửa đổi thêm giá trị và không can thiệp vào việc ước tính trong tương lai?
JustinC

ước tính của bạn trong "ngày" hay "điểm chức năng"? nếu nó ở điểm chức năng, bạn có thể hạ cấp vận tốc của mình.
k3b

2
Ước tính hiện tại của bạn là "sai". Nhưng ước tính trong tương lai của bạn sẽ sai, bởi vì chúng sẽ được thực hiện trong cùng hoàn cảnh. Nếu bạn sửa lại esimates thì bạn đã thay đổi hoàn cảnh một cách hiệu quả và bạn không còn so sánh những thứ bằng nhau trong ước tính vận tốc.
MrFox

@ k3b - Ước tính của chúng tôi có kích thước tương đối ... Số Fibonacci.
F1

Câu trả lời:


11

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âybậ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?


Chúng tôi chắc chắn đã nhận được thẻ '13' hoặc 'vô cực' của mình cho những thứ quá lớn để nói ... Tuy nhiên, nếu chúng tôi có kích thước 3 thứ ban đầu so với mọi thứ khác, và sau đó chúng tôi chuyển nó thành 8 tại một ngày sau đó - không phải vì thay đổi yêu cầu mà vì chúng tôi đã quyết định nó phức tạp hơn so với suy nghĩ ban đầu - không làm lệch tất cả các số liệu của bạn? Đặc biệt là vì bạn không bao giờ thực sự ước tính được ... Bạn sẽ không bị ảnh hưởng trong lần lặp đó, và sau đó nó sẽ hoạt động theo thời gian khi bạn đóng cửa những người vợ thực sự nên là twos?
F1dave

1
Tôi đã cập nhật câu trả lời của mình với sự làm rõ về ý của tôi bằng cách 'tăng sự hiểu biết'
RJ Lohan

Muốn xây dựng một chút về ví dụ lắp ráp C # của bạn? Tôi nghĩ rằng nếu một "nút trong C #" được 1 điểm thì "nút trong cụm" sẽ nhận được ít nhất 10 điểm. Làm thế nào PO có thể ưu tiên giữa hai câu chuyện này nếu cả hai đều có kích thước 1 điểm (nhưng một câu chuyện thực sự phức tạp hơn nhiều)?
Martin Wickman

1
@MartinWickman - đã xây dựng với một bản cập nhật. Bây giờ trông giống như một bài tiểu luận về ước tính nước rút ... :-P
RJ Lohan

Nhưng hey, đó là một tốt bài luận ...
f1dave

7

Lý do chính tôi không nhắc lại là nó phá hủy tính hữu dụng của vận tốc của bạn. Hãy xem xét một nhóm scrum giả thuyết, người ước tính mỗi câu chuyện là 1 điểm. Họ hoàn thành khoảng 10 câu chuyện mỗi lần lặp, với vận tốc trung bình là 10.

Trong quá trình hồi tưởng, một thành viên trong nhóm lập luận rằng trong nhận thức muộn màng, khi bạn nhìn lại gần như mỗi lần lặp lại, một trong những câu chuyện thực sự nên là một con trỏ 5, vì vậy họ nên đặt lại nó để "sửa chữa" vận tốc của chúng. Điều đó mang lại vận tốc của họ lên đến 14.

Kế hoạch tiếp theo, vận tốc cho thấy họ có thể đảm nhận thêm bốn câu chuyện. Họ khá chắc chắn rằng điều đó không thể đúng, bởi vì rất có thể là một trong những câu chuyện trong tương lai mà họ ước tính thực sự là một con trỏ 5. Thật không may, họ không biết cái nào. Đột nhiên, họ có một con số vận tốc hoàn toàn vô dụng để lập kế hoạch.

Vấn đề là, nếu họ đã giữ tốc độ của mình ở mức 10, điều đó sẽ xem xét các kỹ năng ước tính của họ. Nếu 10% câu chuyện của họ trong các lần lặp trước thực sự là 5 con trỏ, thì tỷ lệ cược là 10% câu chuyện của họ trong các lần lặp lại trong tương lai cũng bị đánh giá thấp tương tự. Trong một thời gian dài, tất cả đi ra trong rửa.

Nhớ vận tốc không có đơn vị. Con số cao hơn không tốt hơn con số chính xác và hữu ích. Nếu bạn muốn quyền khoe khoang, hãy nhân mọi thứ với 1000 :-)


2
Tôi cảm thấy rằng tất cả cũng sẽ xuất hiện trong quá trình giặt, nhưng một thành viên trong nhóm của tôi thách thức tôi về điều này và nói theo kinh nghiệm của anh ấy, điều đó không bao giờ xảy ra; bạn chỉ đơn giản là có các lần lặp 'xấu' ảnh hưởng đến tinh thần vì bạn đã hoàn thành 3 điểm khi thực sự bạn biết rằng nó phải là 10 nếu bạn ước tính lại. Tôi cảm thấy đó là một vấn đề với suy nghĩ của nhóm (phải luôn đạt được điểm X) hơn bất kỳ điều gì khác, nhưng tôi cảm thấy khó tranh luận với kinh nghiệm của chính mình.
F1

Vì vậy, repoint nếu nó giúp tinh thần. Chỉ cần sử dụng các số liệu ban đầu trong vận tốc của bạn.
Karl Bielefeldt

Tôi sẽ nói thêm rằng bạn luôn có thể ước tính lại bên ngoài bất kỳ công cụ nào bạn đang sử dụng; vì vậy bạn có thể giữ ước tính ban đầu và ước tính lại cùng với nó và xem cái nào chính xác hơn sau khi nhiệm vụ hoàn thành
Rudolf Olah

4

Câu trả lời ngắn gọn: chủ sở hữu sản phẩm có thể làm bất cứ điều gì mình muốn cho một câu chuyện - cho đến khi nước rút mà nhóm cam kết hoàn thành nó.

Vì vậy, nếu nhóm muốn ước tính lại một câu chuyện cho lần chạy nước rút trong tương lai, hãy thực hiện.

Khi bạn đang ở giai đoạn nước rút, công việc (và ước tính) đã được sửa.

Tôi đã làm việc theo cách này trên nhiều dự án và nó hoạt động tốt. Nếu bạn đang thực hiện dự phòng cho việc tồn đọng sản phẩm, hãy đảm bảo cập nhật lại dự toán hoặc ít nhất là trực quan để làm rõ rằng thay đổi không phải là trường hợp bị lỗi.


3

Có vẻ như trong trường hợp này, nếu ước tính sai lầm lớn, bạn sẽ hủy bỏ nước rút và bắt đầu lại. Tất nhiên, điều này sẽ tùy thuộc vào chủ scrum và chủ sở hữu. Khi không có cách nào để đưa ra bất cứ nơi nào gần với ước tính, chúng ta cần trung thực với ông chủ và nói với họ sớm hơn để có thể đưa ra quyết định.


Đúng ... Tôi đồng ý bạn phải nuôi nó, và nuôi nó càng sớm càng tốt. Tôi chỉ không chắc bạn nên thay đổi số.
F1dave

3

Không có vấn đề ước tính lại các mục tồn đọng, lên hoặc xuống. Phát triển là một quá trình học tập, do đó, dự kiến ​​một số mục tồn đọng trong tương lai sẽ trở nên đơn giản hoặc phức tạp hơn tùy thuộc vào kiến ​​thức thu được trong các lần chạy nước rút trước đây.

Có thể "vận tốc" (nếu được nhóm / công ty sử dụng làm số liệu) không thể được đo chính xác trong trường hợp ước tính lại rất lớn, nhưng điều quan trọng nhất là các bài tập ước tính lại sẽ làm sắc nét các ước tính của chính nhóm trong Tương lai. Chìa khóa để có thể dự đoán là sử dụng thông tin cập nhật nhất, không bị hạn chế theo ước tính sớm.


Tôi biết đó là một uestion cũ nhưng đã suy nghĩ về việc trả lời nó tương tự như điều này chắc chắn, nếu bạn đưa nó ra khỏi cuộc đua nước rút. Không cần biết rằng tôi thấy câu trả lời của bạn.
jmoreno
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.