Почему серия Фибоначчи используется в гибком планировании покера?

При оценке относительного размера пользовательских историй в гибкой разработке программного обеспечения члены группы должны оценивать размер пользовательских историй как 1, 2, 3, 5, 8, 13, ... . Таким образом, оценочные значения должны напоминать ряд Фибоначчи. Но мне интересно, почему?

Описание http://en.wikipedia.org/wiki/Planning_poker в Википедии содержит загадочное предложение:

Причина использования последовательности Фибоначчи состоит в том, чтобы отразить внутреннюю неопределенность в оценке более крупных предметов.

Но почему должна быть присущая неопределенность в более крупных предметах? Разве неопределенность не выше, если мы сделаем меньше измерений, то есть, если меньше людей оценит ту же историю? И даже если неопределенность выше в больших историях, почему это подразумевает использование последовательности Фибоначчи? Есть ли математическая или статистическая причина для этого? В противном случае использование ряда Фибоначчи для оценки кажется мне наукой о CargoCult.

6 ответов

Решение

Ряд Фибоначчи - это только один пример экспоненциальной шкалы оценок. Причиной использования экспоненциальной шкалы является теория информации.

Информация, которую мы получаем из оценки, растет намного медленнее, чем точность оценки. На самом деле он растет как логарифмическая функция. Это является причиной более высокой неопределенности для более крупных предметов.

Определение наиболее оптимальной базы экспоненциальной шкалы (нормализация) затруднено на практике. База, соответствующая шкале Фибоначчи, может быть или не быть оптимальной.

Вот более подробное объяснение математического обоснования: http://www.yakyma.com/2012/05/why-progressive-estimation-scale-is-so.html

Из первых шести чисел последовательности Фибоначчи четыре являются простыми. Это ограничивает возможности разбить задачу в равной степени на более мелкие задачи, чтобы несколько человек работали над ней параллельно. Это может привести к неправильному представлению о том, что скорость выполнения задачи может пропорционально увеличиваться в зависимости от количества людей, работающих над ней. Серия 2^n наиболее уязвима для такой проблемы. Последовательность Фибоначчи фактически вынуждает пересматривать меньшие задачи одну за другой.

Согласно этому гибкому блогу

"потому что они растут примерно с той же скоростью, с которой мы, люди, можем ощутить значимые изменения в величине".

Да правильно. Я думаю, это потому, что они добавляют атмосферу легитимности (Фибоначчи! Математика!) К тому, что по сути является упражнением ранжирования (не определения объема) на очень высоком уровне (которое имеет ценность).

Но вы можете получить те же результаты, используя размер футболки...

Вы определенно хотите что-то экспоненциальное, чтобы вы могли выразить любое количество времени с постоянной относительной ошибкой. Точность вашей оценки также, вероятно, будет пропорциональна вашей оценке.

Итак, вы хотите что-то: а) с целыми числами б) экспоненциальным в) легко

Теперь, почему вместо Фибоначчи 1 2 4 8? Я предполагаю, что это потому, что Фибоначчи растет медленнее. Это в goldratio ^ n, и goldratio=1.61...

Последовательность Фибоначчи - это лишь одна из нескольких, которые используются в покер планирования проектов.

Трудно точно оценить большие единицы работы, и легко увязнуть в обсуждениях часов или дней, если ваши цифры слишком "реалистичны".

Мне нравится объяснение на http://www.agilelearninglabs.com/2009/06/story-sizing-a-better-start-than-planning-poker/, а именно ряд Фибоначчи представляет собой набор чисел, которые мы можем интуитивно различить между ними как разной величины.

Я использую Фибоначчи по нескольким причинам:

  • По мере того как задача становится больше, детали становятся сложнее понять
  • Оценка задания - это количество часов в команде для выполнения задания.
  • Не у всех в команде будет одинаковое количество опыта для конкретной задачи, что также добавляет неопределенности
  • Человек испытывает усталость от более масштабной и потенциально более сложной задачи. Хотя задача, в два раза более сложная, решается в два раза для компьютера, для разработчика может потребоваться немного больше.

Поскольку мы складываем все неопределенности, мы все меньше уверены в том, какими должны быть часы. Это в конечном итоге легче, если мы можем просто оценить, является ли эта задача больше / меньше, чем другая, где мы уже дали оценку. По мере увеличения размера / сложности задачи эффект неопределенности также усиливается. Я бы с радостью взял оценку в 13 часов для задачи, которая кажется вдвое больше той, которую я ранее оценил в 5 часов.

Другие вопросы по тегам