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

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

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

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

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

Ответ 1

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

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

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

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

Ответ 2

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

Ответ 3

В соответствии с этот гибкий блог

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

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

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

Ответ 4

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

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

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

Ответ 5

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

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

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

Ответ 6

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

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

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