Tại sao chuỗi Fibonacci được sử dụng trong poker lập kế hoạch nhanh? [đóng cửa]


94

Khi ước tính kích thước tương đối của câu chuyện người dùng trong phát triển phần mềm nhanh, các thành viên của nhóm phải ước tính kích thước của câu chuyện người dùng là 1, 2, 3, 5, 8, 13, .... Vì vậy, các giá trị ước tính phải giống với chuỗi Fibonacci. Nhưng tôi tự hỏi, tại sao?

Mô tả của http://en.wikipedia.org/wiki/Planning_poker trên Wikipedia giữ một câu bí ẩn:

Lý do sử dụng dãy Fibonacci là để phản ánh sự không chắc chắn cố hữu trong việc ước tính các mục lớn hơn.

Nhưng tại sao lại có sự không chắc chắn cố hữu trong các mặt hàng lớn hơn? Không phải độ không chắc chắn sẽ cao hơn, nếu chúng ta thực hiện ít phép đo hơn, nghĩa là nếu ít người ước tính câu chuyện tương tự hơn? Và ngay cả khi độ không chắc chắn cao hơn trong các câu chuyện lớn hơn, tại sao điều đó lại ngụ ý việc sử dụng dãy Fibonacci? Có một lý do toán học hoặc thống kê cho nó? Nếu không, việc sử dụng chuỗi Fibonacci để ước tính giống như khoa học CargoCult đối với tôi.


9
Có lẽ chỉ vì dãy Fibonacci "mát mẻ". Bất kỳ chuỗi số mũ nào cũng sẽ hoạt động. 2^ncó thể khoảng cách các số quá xa, vậy tại sao không sử dụng dãy Fibonacci, là về c*phi^n?
interjay

+1 cho 'thật tuyệt'. Tôi đã làm việc với các lập trình viên trước khi những người luôn luôn muốn oddities đẩy vào Fibonacci - đó là luôn luôn 'điều' của họ
KevinDTimm


2
Câu hỏi này có vẻ lạc đề vì nó nói về ...?
Adriano Repetti

Câu trả lời:


78

Chuỗi Fibonacci chỉ là một ví dụ về quy mô ước lượng hàm mũ. Lý do thang đo hàm mũ được sử dụng đến từ Lý thuyết thông tin.

Thông tin mà chúng tôi thu được từ ước tính phát triển chậm hơn nhiều so với độ chính xác của ước tính. Trong thực tế, nó phát triển như một hàm logarit. Đây là lý do cho độ không chắc chắn cao hơn đối với các mặt hàng lớn hơn.

Trong thực tế, việc xác định cơ số tối ưu nhất của thang số mũ (chuẩn hóa) là khó khăn. Cơ sở tương ứng với thang Fibonacci có thể tối ưu hoặc không.

Dưới đây là giải thích chi tiết hơn về phép biện minh toán học: http://www.yakyma.com/2012/05/why-progressive-estimation-scale-is-so.html


4
Đây là một lời giải thích sâu sắc hơn tôi đã hy vọng. Cảm ơn bạn vì câu trả lời này.
asmaier

“[A] nỗ lực ước tính nhỏ giúp ích rất nhiều và [a] nỗ lực ước tính lớn giúp ích rất ít” cho bài viết tuyệt vời
ptim

40

Trong số sáu số đầu tiên của dãy Fibonacci, bốn số là số nguyên tố. Điều này hạn chế khả năng chia nhỏ một nhiệm vụ thành các nhiệm vụ nhỏ hơn để có nhiều người cùng làm việc đó. Làm như vậy có thể dẫn đến quan niệm sai lầm rằng tốc độ của một nhiệm vụ có thể tăng tỷ lệ thuận với số lượng người làm việc đó. Loạt 2 ^ n dễ bị vấn đề như vậy nhất. Trên thực tế, dãy Fibonacci buộc người ta phải ước tính lại từng nhiệm vụ nhỏ hơn.


7
Đó là một quan điểm thú vị. Nhưng tại sao sau đó, chuỗi số nguyên tố 1,2,3,5,7,11, ... không được sử dụng để ước lượng thay vì chuỗi Fibonacci?
asmaier

2
Đó là một ý tưởng tuyệt vời. Trên thực tế, chúng xảy ra đủ thường xuyên để chỉ chọn những cái gần như tạo ra chuỗi [1.5-2.0] ^ n. Các số Fibonacci được thừa nhận là dễ tạo lại từ đầu hơn, nhưng các công cụ như JIRA cho phép chỉ định bất kỳ bộ giá trị nào.
KillerInsect 21/02/12

5
Điểm khác là khoảng cách giữa các ước tính. Thời gian bạn ước tính càng lớn thì càng ít chắc chắn. Giữa 3-5 và 5-7 là cùng một sự khác biệt, ngụ ý cùng một độ chắc chắn. Nhưng khi bạn phải chọn giữa 8 và 13 (một khoảng cách lớn hơn), nó buộc bạn phải thực sự kiểm tra mức độ chắc chắn của mình.
Chris

@asmaier Tôi nghĩ rằng đó là vì số fibonacci là mũ nơi như số nguyên tố là tuyến tính cho các mẫu nhỏ mà thường được sử dụng khi ước tính tầng
icc97

17

Theo blog nhanh nhẹn này

"bởi vì chúng phát triển với cùng tốc độ mà con người chúng ta có thể nhận thấy những thay đổi có ý nghĩa về độ lớn."

Đúng vậy. Tôi nghĩ rằng đó là bởi vì họ thêm không khí hợp pháp (Fibonacci! Toán học!) Về bản chất là một bài tập xác định kích thước giai đoạn đầu, rất cao (không xác định phạm vi) (không có giá trị).

Nhưng bạn có thể nhận được kết quả tương tự khi sử dụng định cỡ áo thun ...


1
Câu trả lời này gần như giống hệt nhau (tham chiếu cùng một liên kết và cùng một câu trích dẫn) với câu trả lời từ @kaj hai tháng trước đó.
icc97

1
tôi thực sự thích cách người này trích dẫn nó. khiến tôi hiểu ngay lập tức.
nishantbhardwaj2002

15

Bạn chắc chắn muốn một cái gì đó theo cấp số nhân, để bạn có thể biểu thị bất kỳ lượng thời gian nào với sai số tương đối không đổi. Độ chính xác của ước tính của bạn cũng rất có thể tỷ lệ thuận với ước tính của bạn.

Vì vậy, bạn muốn một cái gì đó: a) với số nguyên b) cấp số nhân c) dễ dàng

Bây giờ tại sao Fibonacci thay vì, 1 2 4 8? Tôi đoán là do fibonacci phát triển chậm hơn. Nó tính bằng goldratio ^ n và goldratio = 1,61 ...


3
"Độ chính xác của ước tính của bạn cũng rất có thể tỷ lệ thuận với ước tính của bạn." Đây là một quy tắc trong thống kê hay đây là điều mà con người thường làm? Nếu bạn sử dụng số Fibonacci, bạn giả sử rằng sai số tương đối của một ước lượng là khoảng f (n-1) / f (n) = 1-goldenratio = 61%. Vì vậy, nếu người ta ước tính 5, mọi người giả sử điều này ngụ ý một sai số tương đối khoảng 3, do đó, mức độ phức tạp tăng đáng kể sẽ chỉ là 8 hoặc cao hơn. Tuy nhiên, tại sao sai số tương đối được giả định là khoảng 60%? Đây chỉ là một quy tắc ngón tay cái?
asmaier 20/02/12

1
Để trả lời nhận xét của riêng tôi: Mike Cohn (tháng 11 năm 2005). "Agile Estimating and Planning" cho biết: "Các nghiên cứu đã chỉ ra rằng chúng ta giỏi nhất trong việc ước tính những thứ nằm trong một mức độ lớn nhất (Miranda 2001; Saaty 1996)".
asmaier

1
Miranda (2001): "Cải thiện Ước tính Chủ quan Sử dụng So sánh Ghép đôi" cho biết: "Tôi đã thực hiện một cuộc khảo sát không chính thức giữa các đồng nghiệp; 30 người từ các quốc gia khác nhau và từ cả ngành công nghiệp và học viện đã cung cấp đầu vào cho thang đo. Kết quả cho thấy rằng sự tương ứng giữa quy mô và mô tả bằng lời trong miền phần mềm gần với mô tả trong Bảng 3 hơn là mô tả của Saaty. " Và trong bảng này, chúng ta thấy rằng một thứ được gọi là "lớn hơn một chút" nếu nó bằng 125% kích thước cơ bản và nó được gọi là "lớn hơn", nếu nó bằng 175% kích thước cơ bản.
asmaier

1
Số Fibonacci tiếp theo bằng 161% số Fibonacci trước đây, do đó, điều này phù hợp giữa "lớn hơn một chút" và "lớn hơn" trong bảng Mirandas. Có vẻ như cuộc khảo sát không chính thức này là căn nguyên của lý do tại sao chúng tôi sử dụng số Fibonacci, bởi vì tỷ lệ của chúng gần với ý của chúng tôi nếu chúng tôi nói điều gì đó lớn hơn.
asmaier

@asmaier Tôi nghĩ bạn nên thêm các nhận xét này dưới dạng một câu trả lời riêng biệt, chúng rất xuất sắc hoặc có thể trên câu hỏi PM.SE được liên kết vì điều này rất tiếc đã bị khóa.
icc97,

7

Chuỗi Fibonacci chỉ là một trong số những chuỗi được sử dụng trong poker lập kế hoạch dự án.

Rất khó để ước tính chính xác các đơn vị công việc lớn và rất dễ bị sa lầy trong các cuộc thảo luận hàng giờ so với ngày nếu con số của bạn quá “thực tế”.

Tôi thích lời giải thích tại http://www.agilelearninglabs.com/2009/06/story-sizing-a-better-start-than-planning-poker/ , cụ thể là chuỗi Fibonacci đại diện cho một tập hợp các số mà chúng ta có thể phân biệt bằng trực giác giữa chúng như độ lớn khác nhau.


4

Tôi sử dụng Fibonacci vì một số lý do:

  • Khi nhiệm vụ lớn hơn, các chi tiết trở nên khó nắm bắt hơn
  • Ước tính nhiệm vụ là số giờ để mọi người trong nhóm hoàn thành nhiệm vụ
  • Không phải tất cả mọi người trong nhóm sẽ có cùng một lượng kinh nghiệm cho một nhiệm vụ cụ thể, do đó, điều này cũng làm tăng thêm sự không chắc chắn
  • Con người cảm thấy mệt mỏi vì nhiệm vụ lớn hơn và có khả năng phức tạp hơn. Trong khi một nhiệm vụ phức tạp gấp đôi được giải quyết trong thời gian gấp đôi cho một máy tính thì có thể nhà phát triển sẽ mất nhiều thời gian hơn một chút.

Khi chúng tôi cộng lại tất cả những điều không chắc chắn, chúng tôi không chắc chắn về giờ thực sự nên là bao nhiêu. Nó kết thúc dễ dàng hơn nếu chúng ta có thể đánh giá xem nhiệm vụ này lớn hơn / nhỏ hơn nhiệm vụ khác mà chúng tôi đã đưa ra ước tính. Khi chúng ta tăng quy mô / độ phức tạp của nhiệm vụ, ảnh hưởng của sự không chắc chắn cũng được khuếch đại. Tôi sẽ rất vui khi ước tính 13 giờ cho một nhiệm vụ có vẻ lớn gấp đôi so với công việc mà tôi đã ước tính trước đây là 5 giờ.

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.