Я уверен, что это не редкая тема. У нас есть две команды разработчиков, которые хорошо справляются с оценкой пользовательских историй, используя сюжетные очки (текущим групповым созвездиям всего около 8 месяцев, хотя члены команды имеют несколько лет опыта в разработке). Но деловой части компании трудно соотноситься с историями пользователей; им нужны фактические единицы времени (или «формула для преобразования сюжетных точек в часы»), чтобы они могли составить план, когда все будет готово ( «нам нужно знать, когда мы сможем сообщить клиентам, что Feature X будет в производстве») " )
Я и мои предшественники Scrum Master, конечно, объяснили, что «между историческими моментами и фактическим временем нет определенной связи и что« исторические точки используются для определения того, насколько команда может уместиться в спринте », и я конечно, вы можете догадаться, насколько они были удовлетворены этим ответом. Они все еще хотят знать, в календарное время, когда мы доберемся до 27-го пользовательского рассказа в отставании.
В любом случае, я собирал некоторую статистику, и наши оценки SP переводят в сильно отличающиеся результаты, потраченные на фактическое время (как измеряется нашим программным обеспечением Scrum Board, которое отслеживает, сколько времени тратит билеты в столбце «работа над»). ). Для пользовательских историй с 1-SP, конечно, существует сильный уклон в сторону очень коротких промежутков времени (со случайным взрывом), но особенно для историй с 2-SP, они повсюду: есть фактор 20 между «самым быстрым» и «самым медленным» завершением. Для историй на 3, 5 и 8-SP разброс также более чем в 2 раза.
Это указывает на то, что (а) команда должна быть намного более последовательной в оценке пользовательских историй (что должно быть) схожей сложности, и (б) команде необходимо повысить свою точность в отчетности по времени (т. Е. Помнить о том, чтобы вывести билеты из «работать», когда они на собрании, на обеде или играют в настольный футбол).
У меня есть планы по улучшению как (а), так и (б), но я чувствую, что этого недостаточно, что бизнес ожидает «большей конкретности», чем то, что дадут эти инициативы.
Каковы некоторые хорошие стратегии для умиротворения деловой стороны , чтобы они не слишком сильно мешали нашей работе (например, навязывая использование отдельного отслеживания времени, что, по-моему, было бы глупо, поскольку в любом случае оно было бы менее точным, чем текущее «автоматическое» отслеживание), в то же время позволяя им получить некоторую меру конкретности, когда истории будут сделаны?
(Исторически во время планирования мы делили пользовательские истории на рабочие элементы, которые затем индивидуально оценивались в фактическом рабочем времени , но то, о чем я говорю, - это пользовательские истории в обратном журнале, которые не будут иметь такого уровня детализации или разбивки -вниз.)
Обновление: у моего менеджера было предчувствие, что существует своего рода распределение кривой количества часов, потраченных на каждую точку рассказа, но данные, которые я сопоставил, и графики, которые он сделал, полностью дезориентировали его в этом представлении. :-)
источник
Ответы:
Вы правы, здесь нет формулы для перевода очков истории в часы. Вы можете получить практически без потерь преобразование метров в футы, и наоборот, но вы не можете сказать, что история из 3 пунктов займет X часов, поэтому история из 5 пунктов займет Y часов (решите за Y).
HorusKol коснулся этой следующей части. Ваша скорость спринта в команде может помочь с более долгосрочными результатами. Скажем, ваша команда набирает 50 очков за спринт, а каждый спринт длится 2 недели. Таким образом, 50 баллов за спринт, умноженные на 50 недель в году (при условии, что люди отдыхают на 2 недели), тогда ваша нынешняя команда может набрать максимум 2500 баллов за 12 месяцев.
Таким образом, бизнес приходит к вам с историями и эпопеями на 170 баллов. Разделите это на историческую скорость команды в 50 очков (в среднем за каждый спринт на данный момент), и вы получите 3,4 спринта. Так как мы делаем оценку, округлите до 4 спринтов: 8 недель. Два месяца, в основном. Я также хотел бы взять последние 3-4 спринта и сделать другую оценку. Допустим, ваша команда за последние 3 спринта набрала 53, 67 и 55 очков соответственно. Это работает до 58-ти пунктов, которые с такой скоростью составляют 2,9 спринта - так в основном 3 спринта. Похоже, ваш график этих 170 баллов выглядит как 6-8 недель.
Расскажи бизнесу 2 месяца. Не говорите им 6-8 недель, потому что они просто услышат "6 недель". Даже не говорите им 8 недель, потому что в большинстве месяцев примерно 4,5 недели, а когда люди слышат «4 недели», они сразу же думают «1 месяц». Как только оценка достигает приблизительно 4 недель, она становится 1 месяцем. Тогда просто работай месяцами. Если вам выпал год или больше, то, честно говоря, просто не оценивайте эту работу. Это бессмысленно. Слишком многое может измениться за год.
Я обнаружил, что это довольно точный способ конвертировать сюжетные моменты в часы ... ну, во всяком случае, время.
Вы получите различие в количестве времени, которое требуется, чтобы отдельные истории были закончены. Некоторые разработчики работают быстрее, чем другие. Помещение всех пунктов истории в миску и включение блендера для работы со средними значениями помогает устранить эти несоответствия.
О, и не забудьте самую важную часть:
Округлять. Всегда.
источник
У вас, вероятно, уже есть какое-то внутреннее преобразование из сюжетных моментов в оценки времени - как вы решили, что выбрали достаточно работы для своего спринта? Вы, вероятно, сказали что-то вроде «команда может обрабатывать 20 (или 40 или что-то) очков в неделю». После нескольких спринтов у вас должна быть возможность пересмотреть это на основе завершения - так что теперь это 15 или 25 (или 35 или 50 или ...) очков за спринт - это скорость вашей команды .
Некоторое изменение во времени, чтобы закончить определенные истории, хорошо в пределах значений пунктов - скорость заботится о той неопределенности, будучи средним значением за недавнюю историю.
Тем не менее, вам, возможно, придется внимательно посмотреть, как вы назначаете очки, особенно эти 2-указатели, если вы получаете такие большие колебания. Предполагается, что задачи более высокой точки должны быть неопределенными (и их следует разбивать), но задачи размером с 2 указателя должны быть достаточно согласованными.
Поскольку все задачи, которым присвоено одно и то же значение балла, должны требовать одинакового усилия, нет смысла выполнять такой интервал времени.
Итак, посмотрите на 2-указатель, который занял больше всего времени в вашей ретроспективе. Почему что-то, что, вероятно, должно было принять утренний оборот, превратилось в 10-дневный удар? Могло ли что-то быть помечено в то первое утро, чтобы сказать: «Это должно стать грандиозным и разбитым на более мелкие задачи»? Как только это произойдет, конечно, дополнительная работа должна быть отложена и не мешать остальному спринту.
Кроме того, попробуйте и посмотрите, как команда недооценила этот предмет - могли бы вы лучше справиться с будущими предметами, просмотрев его?
Да, дата доставки будет соответственно изменена, или список функций для обновления может быть изменен, чтобы доставка не пострадала. Но цель состоит в том, чтобы улучшить будущие оценки, а также получить более точные сроки.
источник
Это как прогноз погоды: чем дальше, тем менее надежно. Это аналогия, понятная каждому. Ошибки в оценках складываются.
Продажи должны научиться говорить в терминах Scrum с клиентами. Скрам не имеет смысла в отдельности, предполагается, что он применяется вертикально во всей компании и предпочтительно распространяется на клиентскую сферу.
Вы как команда разработчиков должны быть тверды в этом. Вы можете дать им ожидания и догадки, но не позволяйте, чтобы это были обязательства, которые продлевают один спринт.
источник
Я делаю несколько вещей, когда получаю такие вопросы.
Во-первых, я отвечаю на вопросы о будущем, описывая прошлое. Я бы сказал что-то вроде « Мы проходим около двух из этих историй в неделю». Итак, если ничего не изменится, мы рассчитываем закончить историю 27 примерно через 14 недель.
Во-вторых, я хочу, чтобы клиент, стоящий перед людьми, взял на себя ответственность за график торговли против риска. Я бы сказал что-то вроде Помните, инженерная команда работает на основе оценки 50/50. Если ничего не изменится, есть шанс 50/50, что функция 27 будет готова через 14 недель. Предположительно, вы не хотите сообщать клиенту что-то с таким уровнем риска. Вы хотите, чтобы я составил оценку, в которой, скажем, мы уверены на 90%? Затем вам нужно будет просмотреть свои исторические свидетельства и сказать что-то вроде: есть 90% -ный шанс, что история 27 будет сделана через 25 недель .
Наконец, напомните своему коллеге, что, как только он возьмет на себя внешнее обязательство, компания будет ограничена. Внешние обещания по поводу сюжета № 27 сводят на нет всю ловкость компании. Тогда вы будете привержены определенному курсу действий. Всякий раз, когда кто-то приходит к вам с запросом на изменение, вам необходимо ответить. Мы обязались закончить рассказ 27 до даты x. Я могу внести это изменение только в том случае, если вы обратитесь к клиенту и скажите ему, что наше обязательство больше не действует. По сути, принятие конкретных обязательств для работы более месяца или около того в будущем сопряжено с множеством проблем.
источник
У вас уже есть (очень грубое) преобразование:
Спринт Скрама составляет (обычно) две недели.
Вы знаете, что можете закончить, скажем, около 20 сюжетных баллов за эти две недели (или как еще вы определяете, какие и сколько функций упакованы в один спринт?), И ваши предыдущие спринты подтверждают эту оценку (скажем, Вы закончили 18, 21, 23, 19 и 20 сюжетных очков за последние пять спринтов.
Допустим, функция X (и все ее зависимости) была оценена в 47 баллов.
Таким образом, вы можете оценить, что если вы поставите реализацию этого вопроса на первый план, вам потребуется около 3 спринтов, то есть 6 недель (но убедитесь, что ваши оценки учитывают, кто может что делать - если 35 из этих пунктов - работа БД, и у вас есть только на БД парень должен пересмотреть свою расчетную скорость, чтобы учесть это).
Это сказало - твердо сообщайте, что это - грубые оценки - есть причина, почему спринты две недели, а не шесть. Чем больше вещей должен покрыть ваш прогноз, тем больше неопределенности и ошибок. Также твердо сообщайте о стоимости, то есть о том, что это будет означать, что задача будет поставлена на первое место, то есть другие задачи не будут решаться. В противном случае вы можете столкнуться со сценарием:
"Когда будет показана функция Y ?"
«Если мы сосредоточимся на этом в следующем ... 12 недель»
« 12 недель?!? Вы сказали, что это займет 4».
«Да, но вы сказали нам расставить приоритеты для функции X , которая, как мы сказали, свяжет все наши ресурсы и займет 8 недель».
"Разве вы не можете работать над функцией X и функцией Y одновременно?"
" стон "
источник
Спринт определяется временем, скажем, 2 недели. Вы не можете предсказать, что какая-то история будет сделана дальше, чем 2 спринта, например, у вас есть текущий спринт и следующий спринт. Я предполагаю, что вы подготовили истории, которые обсуждаются с командой для следующего спринта и были расставлены по приоритетам бизнесом. Так что лучше всего точно сказать, что следующие 4 недели работы.
Все, что больше 4 недель, может быть изменено, и бизнес может составить план, который не установлен в часах. Это должно быть запланировано для каждого спринта, скажем, некоторые эпические 1 (эпические, как в группе сгруппированных историй jira) и эпические 2 должны быть выполнены в спринте 47 и 48, а эпические 3 должны быть выполнены в спринте 49. Эпики я оцениваю примерно в часах самостоятельно, чтобы Посмотрите, поместится ли один или два в спринте, временная шкала все равно будет скользить. Если функции не работают, бизнес должен сократить объем или принять не идеальные решения, которые могут быть улучшены позже, если это необходимо (это должно быть гибким, принять реальность, а не следовать плану).
Вы можете сделать хорошую диаграмму Ганта (это то, что нравится бизнесу) с будущими спринтами и основными темами / эпиками для них.
Мне нравится выпускать каждый спринт, а затем я готовлю релиз с тем, что было закончено в спринте (или с материалом, который был подписан для выпуска бизнесом, хотя и не был идеальным), незаконченный материал переходит к следующему спринту. Таким образом, я получаю предсказуемые результаты примерно через 2-3 недели (одна неделя для возможных исправлений кандидата на релиз).
Это мой опыт работы с небольшой командой, небольшое количество внешних зависимостей и то, что я считаю разумным бизнесом. Ваш пробег может варьироваться.
источник
Для новых функций практически невозможно оценить требуемое время.
Опыт разработки программного обеспечения показывает, что в большинстве случаев есть детали, которые вы не можете увидеть, прежде чем приступить к разработке. В лучшем случае для этих обнаружений может потребоваться дополнительное время, но в худшем случае проект также может потерпеть неудачу. Причиной этого является сложность самой разработки программного обеспечения.
Это причина, по которой SCRUM только оценивает сложность проблемы (сюжетные моменты), но не время. Единственный шанс, который у вас есть, - разбить объекты с высокой сложностью на более мелкие. Таким образом, вы можете минимизировать риск.
Поскольку оценка времени практически невозможна, нет формулы, преобразующей исторические точки в оценки времени. Скорость может быть только очень грубой оценкой, но не более.
В SCRUM владелец продукта может изменять приоритеты элементов невыполненных работ перед каждым спринтом. Поэтому мастер SCRUM не может дать никаких оценок для более чем одного спринта. Он не знает, какой элемент отставания может стать важным в следующем спринте.
SCRUM - это не метод для выполнения невозможных вещей (планирования незапланированного) или ускорения разработки. Это система раннего предупреждения, если время разработки истекает. Это позволяет быстро реагировать на новые требования.
К первоначальному посту:
Вы уже очень хороши, если вам удастся разделить большинство ваших задач на 1 SP до 5 SP историй. Оценки скорости могут улучшиться, если задачи схожи, а ваша команда станет более опытной. Но если в новинках всегда есть новые, не принадлежащие друг другу детали, вам придется жить с неточностью.
Поскольку ваши разработчики обычно проводят некоторое время с работой, не связанной с разработкой (например, совещаниями), вам не следует планировать на разработку 8 часов в день, но меньше, например, 6 часов. Тогда вы получаете резерв для других задач или для рабочих элементов, занимающих больше времени.
Если ваши коллеги по бизнесу хотят иметь точные оценки (что само по себе является противоречием), объясните им присущие проблемы разработки программного обеспечения. Затем покажите им преимущества гибких методов.
источник