Mengapa seri Fibonacci digunakan dalam poker perencanaan tangkas? [Tutup]

94

Saat memperkirakan ukuran relatif cerita pengguna dalam pengembangan perangkat lunak tangkas, anggota tim diharapkan memperkirakan ukuran cerita pengguna sebagai 1, 2, 3, 5, 8, 13, .... Jadi nilai yang diperkirakan harus menyerupai deret Fibonacci. Tapi saya heran, kenapa?

Deskripsi http://en.wikipedia.org/wiki/Planning_poker di Wikipedia menyimpan kalimat misterius:

Alasan menggunakan deret Fibonacci adalah untuk mencerminkan ketidakpastian yang melekat dalam memperkirakan item yang lebih besar.

Tetapi mengapa harus ada ketidakpastian yang melekat pada item yang lebih besar? Bukankah ketidakpastian lebih tinggi, jika kita membuat lebih sedikit pengukuran, artinya jika lebih sedikit orang yang memperkirakan cerita yang sama? Dan bahkan jika ketidakpastian lebih tinggi di cerita yang lebih besar, mengapa hal itu menyiratkan penggunaan deret Fibonacci? Apakah ada alasan matematis atau statistik untuk itu? Jika tidak, menggunakan deret Fibonacci untuk estimasi terasa seperti sains CargoCult bagi saya.

asmaier
sumber
9
Mungkin hanya karena deret Fibonacci itu "keren". Urutan eksponensial apa pun akan berhasil. 2^nmungkin memberi spasi pada angka terlalu jauh, jadi mengapa tidak menggunakan deret Fibonacci, yaitu tentang c*phi^n?
interjay
1 untuk 'keren'. Saya pernah bekerja dengan programmer sebelumnya yang selalu ingin mendorong keanehan ke dalam Fibonacci - itu selalu 'hal' mereka
KevinDTimm
2
Pertanyaan ini tampaknya di luar topik karena tentang ...?
Adriano Repetti

Jawaban:

78

Deret Fibonacci hanyalah salah satu contoh skala estimasi eksponensial. Alasan skala eksponensial digunakan berasal dari Teori Informasi.

Informasi yang kita peroleh dari estimasi tumbuh jauh lebih lambat daripada ketepatan estimasi. Sebenarnya itu tumbuh sebagai fungsi logaritmik.Inilah alasan ketidakpastian yang lebih tinggi untuk item yang lebih besar.

Menentukan basis paling optimal dari skala eksponensial (normalisasi) sulit dalam praktiknya. Basis yang sesuai dengan skala Fibonacci mungkin atau mungkin tidak optimal.

Berikut ini penjelasan yang lebih detail tentang justifikasi matematis: http://www.yakyma.com/2012/05/why-progressive-estimation-scale-is-so.html

isak gilbert
sumber
4
Ini adalah penjelasan yang lebih dalam yang saya harapkan. Terima kasih atas jawaban ini.
asmaier
“[Sebuah] upaya estimasi kecil sangat membantu dan [sebuah] upaya estimasi besar membantu sedikit" artikel bagus
ptim
40

Dari enam angka pertama deret Fibonacci, empat adalah bilangan prima. Ini membatasi kemungkinan untuk memecah tugas secara merata menjadi tugas-tugas yang lebih kecil agar banyak orang mengerjakannya secara paralel. Melakukan hal tersebut dapat menyebabkan kesalahpahaman bahwa kecepatan tugas dapat berskala proporsional dengan jumlah orang yang mengerjakannya. Seri 2 ^ n paling rentan terhadap masalah seperti itu. Deret Fibonacci memaksa seseorang untuk memperkirakan ulang tugas-tugas yang lebih kecil satu per satu.

KillerInsect
sumber
7
Itu adalah sudut pandang yang menarik. Tapi mengapa deret bilangan prima 1,2,3,5,7,11, ... digunakan untuk memperkirakan, bukan deret Fibonacci?
asmaier
2
Itu ide yang bagus. Sebenarnya, mereka muncul cukup sering untuk hanya memilih yang secara kasar membuat seri [1.5-2.0] ^ n. Bilangan Fibonacci memang lebih mudah dibuat ulang dari head, tetapi alat seperti JIRA memungkinkan untuk menentukan rangkaian nilai apa pun.
KillerInsect
5
Titik lainnya adalah jarak antar perkiraan. Semakin besar waktu Anda memperkirakan semakin sedikit kepastian yang ada. Antara 3-5 dan 5-7 adalah perbedaan yang sama, menyiratkan kepastian yang sama. Tetapi ketika Anda harus memilih antara 8 dan 13 (celah yang lebih besar), itu memaksa Anda untuk benar-benar memeriksa seberapa yakin Anda.
Chris
@asmaier Saya pikir itu karena bilangan fibonacci eksponensial di mana bilangan prima linier untuk sampel kecil yang biasanya digunakan saat memperkirakan cerita
icc97
17

Menurut blog lincah ini

"karena mereka tumbuh pada tingkat yang sama di mana kita sebagai manusia dapat merasakan perubahan yang berarti dalam besaran."

Ya benar. Saya pikir itu karena mereka menambahkan suasana legitimasi (Fibonacci! Math!) Pada apa yang pada dasarnya adalah latihan pengukuran (bukan pelingkupan) tingkat awal yang sangat tinggi (yang memang memiliki nilai).

Tetapi Anda bisa mendapatkan hasil yang sama dengan menggunakan ukuran kaos ...

Ibrahim Bashir
sumber
1
Jawaban ini hampir sama persis (mereferensikan link dan kutipan yang sama) dengan jawaban dari @kaj dua bulan sebelumnya.
icc97
1
Saya sangat menyukai cara orang ini mengutipnya. membuat saya langsung mengerti.
nishantbhardwaj2002
15

Anda pasti menginginkan sesuatu yang eksponensial, sehingga Anda dapat mengekspresikan jumlah waktu berapa pun dengan kesalahan relatif yang konstan. Ketepatan estimasi Anda juga sangat mungkin sebanding dengan estimasi Anda.

Jadi Anda menginginkan sesuatu: a) dengan bilangan bulat b) eksponensial c) mudah

Sekarang mengapa Fibonacci, 1 2 4 8? Dugaan saya adalah karena fibonacci tumbuh lebih lambat. Ada dalam rasio emas ^ n, dan rasio emas = 1,61 ...

fulmicoton
sumber
3
"Ketepatan estimasi Anda juga sangat mungkin sebanding dengan estimasi Anda." Apakah ini aturan dalam statistik atau ini sesuatu yang biasanya dilakukan manusia? Jika Anda menggunakan angka Fibonacci, Anda berasumsi, bahwa kesalahan relatif dari suatu estimasi adalah tentang f (n-1) / f (n) = 1-goldenratio = 61%. Jadi jika seseorang memperkirakan 5, orang menganggap ini menyiratkan kesalahan relatif sekitar 3, jadi peningkatan kompleksitas yang signifikan hanya akan menjadi 8 atau lebih tinggi. Namun, mengapa kesalahan relatif diasumsikan sekitar 60%? Apakah ini hanya aturan praktis?
asmaier
1
Untuk menjawab komentar saya sendiri: Mike Cohn (November 2005). "Agile Estimating and Planning" mengatakan: "Studi telah menunjukkan bahwa kami paling baik dalam memperkirakan hal-hal yang termasuk dalam satu urutan besarnya (Miranda 2001; Saaty 1996)".
asmaier
1
Miranda (2001): "Meningkatkan Estimasi Subyektif Menggunakan Perbandingan Berpasangan" mengatakan: "Saya melakukan survei informal di antara rekan kerja; 30 orang dari berbagai negara dan dari industri dan akademisi memberikan masukan untuk skala. Hasilnya menunjukkan bahwa korespondensi antara ukuran dan deskripsi verbal dalam domain perangkat lunak lebih mirip dengan yang ditunjukkan pada Tabel 3 dibandingkan dengan Saaty. " Dan di tabel ini kita melihat bahwa sesuatu disebut "sedikit lebih besar" jika 125% dari ukuran dasar dan disebut "lebih besar", jika 175% dari ukuran dasar.
asmaier
1
Angka Fibonacci berikutnya adalah 161% dari angka Fibonacci sebelumnya, jadi angka ini cocok di antara "sedikit lebih besar" dan "lebih besar" dalam tabel Mirandas. Tampaknya survei informal ini adalah akar mengapa kami menggunakan bilangan Fibonacci, karena rasionya mendekati apa yang kami maksud jika kami mengatakan sesuatu yang lebih besar.
asmaier
@asmaier Saya pikir Anda harus menambahkan komentar ini sebagai jawaban terpisah, mereka luar biasa, atau mungkin pada pertanyaan PM.SE yang ditautkan karena sayangnya ini terkunci.
icc97
7

Urutan Fibonacci hanyalah salah satu dari beberapa yang digunakan dalam poker perencanaan proyek.

Sulit untuk secara akurat memperkirakan unit kerja yang besar dan mudah macet dalam diskusi berjam-jam vs berhari-hari jika angka Anda terlalu "realistis".

Saya suka penjelasannya di http://www.agilelearninglabs.com/2009/06/story-sizing-a-better-start-than-planning-poker/ , yaitu deret Fibonacci merepresentasikan sekumpulan angka yang bisa kita bedakan secara intuitif di antara mereka sebagai besaran yang berbeda.

kaj
sumber
4

Saya menggunakan Fibonacci karena beberapa alasan:

  • Saat tugas semakin besar, detailnya menjadi lebih sulit untuk dipahami
  • Perkiraan tugas adalah jumlah jam bagi siapa pun dalam tim untuk menyelesaikan tugas
  • Tidak semua orang dalam tim akan memiliki jumlah pengalaman yang sama untuk tugas tertentu sehingga menambah ketidakpastian juga
  • Manusia kelelahan karena tugas yang lebih besar dan berpotensi lebih kompleks. Sementara tugas yang dua kali lebih rumit diselesaikan dalam waktu ganda untuk komputer, mungkin dibutuhkan lebih banyak untuk pengembang.

Saat kami menjumlahkan semua ketidakpastian, kami kurang yakin dengan jam berapa sebenarnya seharusnya. Akan lebih mudah jika kita bisa mengukur apakah tugas ini lebih besar / lebih kecil dari tugas lain yang sudah kita berikan perkiraannya. Saat kita meningkatkan ukuran / kompleksitas tugas, efek ketidakpastian juga diperkuat. Saya akan dengan senang hati mengambil perkiraan 13 jam untuk tugas yang tampaknya dua kali lebih besar dari yang saya perkirakan sebelumnya adalah 5 jam.

Chris Chou
sumber