Привет, искушенный читатель! Если ты вращаешься вокруг проектного управления и Agile, то наверняка слышал о таком понятии как сторипойнты/Story Points. Для краткости их буду указывать по тексту как СП.
Я обозвал их изобретением дьявола потому что они обладают специфическими свойствами, которые легко вводят в заблуждение неокрепшие умы. В этой статье я бы хотел немного рассказать про них и развеять несколько мифов.
Миф 1. СП это из Scrum
СП придумал Рон Джеффрис году эдак в 2001 (точных дат нет), затем их популяризировал Майкл Кон в своей книге Agile: оценка и планирование проектов.
Что забавно, изначально в 1 версии гайда (в 2010 году) предполагалось планирование в идеальных человеко-днях.
Миф 2. СП это относительные оценки
Тут происходит путаница из-за того что СП часто отождествляют с методом покер-планированием. Покер-планирование это метод, который придумал Джеймс Греннинг на основе метода Дельфи , а популяризировал его все тот же Майкл Кон. Это метод экспертной оценки, но не задач, а вообще оценки любых показателей и призван для нивелирования влияния мнения лидера (если тимлид сказал что надо 5 дней на задачу, то попробуй ему возрази) и для шаринга знаний о сущности работы.
В покер-пленнинге использует относительный подход, когда собравшимися выбирается единица отсчета, относительно которой оценивают другие рассматриваемые объекты.
Сами по себе СП не являются относительными изначально.
Миф 3. СП это оценка сложности
Само себе определение СП путает. СП - это единица измерения оценки общих усилий, которые потребуются для полной реализации элемента незавершенной работы по продукту или любой другой работы.
Казалось бы в чем разница между усилиями и трудозатратами?
Но если разбираться чуть дальше, то окажется что СП состоит из 3 измерений, которые нужно держать в голове при оценке:
Объем работы (как много времени потребуется чтобы сделать работу);
Сложность работы (величина умственной нагрузки);
Неопределенность (риски и неуверенность что это можно сделать).
Миф 4. Можно переводить СП в часы
Очень известный миф, каждый второй ПМ и СМ пытаются так делать. Тут есть 3 момента, которые этому помешают.
Логический
Если СП оценки усилий команды для реализации определенного объема работы, то часы это рабочее время, которая затратит команда на реализацию работы. Почему-то строится такое выражение: усилия == рабочее время команды.
Математический
Есть два различных показателя. Мы не знаем есть ли между ними связь (например, линейная корреляция), поэтому переводить показатели из одного базиса в другой каким-то выдуманным коэффицентом бессмысленно. Даже если связь есть, то нужно найти формулу перевода, а она может не выражаться алгоритмически, просто нет аппроксимирующей кривой или что еще забавнее временные ряды этих показателей могут не сходиться.
Смысловой
Был оценен хвост кота, насколько он пушистый и крепкий. А теперь давайте по хвосту найдем сколько еды ест в неделю такой кот. Перевод теплое в мягкое.
Если все таки очень хочется конвертировать
Выбери примерно 100 задач с оценкой в СП, посчитай сколько на каждую задачу ушло времени (не оцени, а именно посчитай, cycle time от старта работы и до конца). Затем посчитай линейный коэффициент Пирсона между оценкой и временем. Если он больше 0.5, построй кривую по оценке и попробуйте ее аппроксимировать другой кривой по методу наименьших квадратов. Это самый простой способ "в лоб".
Миф 5. Емкость команды в СП выражает ее эффективность и можно по ней сравнивать команды
Каждая команда уникальна и имеет свой набор навыков. У каждой команды свой контекст и своя производственная среда. И дело не в том что они по разному оценивают, а в том что они просто работают по разному.
Даже если стандартизировать их способ мышления при оценке и способ выполнения работы, то ничего не получится. СП применяют для нематериального производство, которое происходит в разумах людей.
И как в поговорке "к сожалению к рукам сотрудника прилагается и остальной человек".
Не нужно оценивать эффективность по количеству СП и тем более сравнивать 2 команды. ты сравниваешь одни уникальные усилия с другими уникальными усилиями. Оценивайте результат.
Миф 6. Сначала оценим СП аналитика, потом разработчика, потом тестировщика
При оценке СП участвуют все члены команды, каждый высказывают свою оценку сразу целиком по всей задаче. Даже аналитик, хотя он не разработчик и не знает как это точно "закодить".
Работает такая оценка на опыте и СП предполагает именно усилия команды, а не отдельных ее членов.
Рассматривать команду надо не как группу индивидуумов, временно собранных вместе волею судеб, а как нечто неделимое, чёрный ящик, куда можно забросить задание и получить результат.
Что забавно, СП почти никогда не работает в группах людей, которые не понимают смысла работы друг друга и не работают на единой целью.
Миф 7. При декомпозиции задачи также декомпозируется ее оценка в СП
Вывод проистекает из мифа 5 и мифа 3. У каждой подзадачи будет свой набор рисков и своя сложность. Складывая 1 и 2 яблока ты получишь просто 3 яблока, а не одно большое.
Ну и плюс немного дополнительных умозаключений:
Нарезать истории на подзадачи никому кроме команды и не надо. Они сами себе её нарежут так, как им удобно. Декомпозиция нужна именно для увеличения знаний о задаче и удобства работы с ней. Не для оценки;
Оценивать подзадачи тоже не надо, никому не интересно, сколько будет делаться конкретная подзадача, всем интересен конечный результат - готовая задача.
Миф 8. СП можно складывать
Можно конечно попробовать складывать, но тут опять вылезает миф 3. Не складывается просто сложность и неопределенность.
Также можно посмотреть математически. Является ли базис СП линейным и обладает ли он свойством аддитивности? Можно ли сложить задачу в 3 СП и 2 СП? Полагаю в твоем случае тоже нет).
Также появляется интересный вывод - capacity это не сумма СП, а просто их количество.
Представь что виртуальная "емкость усилий" есть у каждой задачи. Представь в виде ведра. Сложив 4 таких задачи ты просто получишь 4 ведра, а не одно большое ведро.
Миф 9. СП лучше часов. Штуки задач лучше СП. NoEstimates!!!
СП необходимы для оценки усилий и дальнейшего выбора в контейнер времени наиболее важных задач (часто такой контейнер называют спринтом).
Часы нужны для прогнозирования того, сколько денег будет потрачено. Все сроки, дедлайны сводятся к одному - когда будет произведен возврат инвестиций, а это именно про деньги.
А штуки нужны для управления потоком и нагрузки на команду. WIP limit, inflow и вот это все.
Единственное преимущество, которые дают штуки задач относительно СП - это то что можно просто не тратить время на оценку. В остальном их точность прогнозирования, например с помощью Монте-Карло примерно одинаковая.
Миф 10. СП подходят для долгосрочного планирования
Из предыдущего мифа следует простой вывод. СП нужны только на коротком промежутке времени и применяются именно для решения "сколько работы уложится в итерацию". После запуска итерации смысл СП исчезает.
Но Майкл Кон так не думает)
Так как оценка СП выражает объем, риски и сложность, то оценивать весь беклог в них и потом использовать на планировании спринта оценку в СП, которую поставили полгода назад бессмысленно. Даже если объем работы не поменялся, то изменилась сложность (люди не стоят на месте, они развиваются или деградируют + меняется состав команды) + могла изменится неопределенность (какие-то риски ушли, какие-то появились).
Также с точки зрения математики расчет среднего значения по несколькими спринтам есть довольно странное упражнение, которое называют velocity. По распределению скорее всего среднее находится левее медианы, так как подвержено выбросам. То есть вероятность велосити это даже меньше чем "50/50, или сделаем или нет".
Комментарии (13)
SozTr
15.05.2023 11:47Можно переводить СП в часы
У меня так менеджеры всё время как мантру твердили «стори пойнты это не часы» а SWAG, но потом используя какую-то магию всегда превращали их в часы в тасках в джире. Я пытался им на это указать, но всегда шли в несознанку, типа я не я и оценка не моя.Renewal_Studio Автор
15.05.2023 11:47Да, тоже с этим сталкивался. В одной компании даже писал большую SQL-процедуру для перевода СП в часы и вывода в BI для финансистов (так надо было) и объяснить что это булщит не получилось(
cs0ip
15.05.2023 11:47Хотелось бы аналогичную статью с пояснением, для чего и как стоит использовать SP. Потому, что с таким количеством того, чем СП не являются, складывается ощущение, что пользы от них сейчас как от квантовых компьютеров. Все говорят, но результатов нет и никто до конца не понимает
Renewal_Studio Автор
15.05.2023 11:47Хмм, думаю прямо сейчас у меня руки не дойдут) Но могу ответить кратко в комментарии. СП нужны для ответа на вопрос: "сделается ли задача за спринт?"
По сути его отлично решает, так как позволяет сосредоточить внимание факте сделаем/не сделаем и построить дискуссию вокруг того какие риски или возможности видят оценивающие
При этом создается достаточно абстрактная штука, чтобы всякие эффективные менеджеры отстали от команды с точными срокамиcs0ip
15.05.2023 11:47Спринт ведь имеет четкое ограничение по времени. Если мы пытаемся определить, сделаем ли, то фактически мы пытаемся сопоставить конкретный объем в СП и конкретный объем в часах. Мне казалось из объяснения выше, что по СП невозможно определить, укладываемся ли мы в конкретный временной промежуток
Renewal_Studio Автор
15.05.2023 11:47Верно, СП не конвертируются по крайней мере линейно точно во время. Но нам никто не мешает прикинуть сколько рыб влезет в ведро, даже если мы не знаем объем каждой рыбы. Зачем их складывать чтобы сказать сделаем задачу за спринт или нет?)
gandjustas
15.05.2023 11:47СП нужны для двух вещей:
отделить оценку срока от оценки объема
сделать интегральную оценку затрат команды, а не планировать работу каждого специалиста
И обе цели индуцируют недостатки:
бизнесу нужны сроки, так как зарплаты не зависят от трудозатрат и объема работ
бизнесу нужна максимальная утилизация каждого сотрудника, а не высокий velocity
бизнес хочет объективные величины сроков\затрат\результата, а не абстрактные
Поэтому проблема не в самих СП, а в разрыве между бизнесом и процессом разработки.
Renewal_Studio Автор
15.05.2023 11:47Все так. Но если приходить к бизнесу и спрашивать "А можно мы будем требовать таких же прогнозов ценности того что вы приносите, как вы от разработки прогнозов сроков?", то бизнес быстро начнет ворчать не "вашего ума дело"
cs0ip
15.05.2023 11:47А зачем нужно отделять сроки от объемов, если цель именно в сроках? Ведь сами объемы никого не интересуют.
В п.2 вы говорите про оценку затрат команды, но затраты как раз в часах, а не в объемах. Я никак не могу понять математику всех этих расчетов, пока магия какая-то. Т.к. интегральная оценка не из воздуха берется, а из частей с помощью определенных операций (сложение, взятие интеграла, пр.), а в статье говорится про то, что складывать нельзя
Renewal_Studio Автор
15.05.2023 11:47Я пытаюсь донести разницу между счетным количеством и суммированием. В кепку влезет 3 яблока, от того что ты положишь туда 3 яблока у тебя не получится 1 большое яблоко
А еще продолжительность!=дедлайн!=трудозатраты!=сложность!=объем работы команды за неделю скажем
gandjustas
15.05.2023 11:47Объем оценить легче чем срок и гораздо точнее. Срок зависит от объема, продуктивности и нагрузки исполнителей, ожиданий, связи и параллелизма задач.
В принципе вся наука типа PERT и сетевого планирования придумана чтобы объемы превратить в сроки.
Собственно проблема всех научных методов в том, что они требуют детальную декомпозицию задач и исполнителей на весь срок планирования, что зачастую сделать невозможно, ибо мы не знаем чего мы не знаем. Но даже на старте проекта мы можем оценить относительные объемы-сложности фич в
условных попугаяхстори поинтах, а потом, в процессе, считать коэффициенты перевода стори-поинтов в сроки и получать предсказуемые сроки реализации фич.
gandjustas
И?
Надо использовать или не надо? Если надо, то каких ограничений придерживаться?
Или использовать что-то другое?
Renewal_Studio Автор
Это описание инструмента, статья. Без мнения надо или не надо, что лучше или хуже. Ограничения описаны в тексте.