Оценка и факт в Да: превращение экспорта в отклонение, которое можно защитить
Кто-то спрашивает, как далеко пробежала команда. Да экспортирует CSV-файл с четырьмя полями времени в каждом билете, и выбор неправильных двух полей превращает 40-процентный перерасход в чистый спринт. Эта страница посвящена выбору, а не экспорту.
Что вы делаете: дисперсия time spent - original estimate, в часах, только для завершенных заявок, при этом переоцененные заявки помечаются, а не удаляются. Ниже приведен реальный спринт, в котором каждая из трех формул-кандидатов дает разные ответы.
Краткая версия. Только исходная оценка может иметь отклонение, поскольку это единственное поле, которое было зафиксировано до начала работы.
Четыре поля и что на самом деле представляет собой каждое из них
| Поля Джиры | Экспорт столбца | Что это такое | Использовать для дисперсии? |
|---|---|---|---|
| Первоначальная смета | timeoriginalestimate | Обязательства, принятые до начала работы | Да. Это базовый уровень. |
| Оставшаяся оценка | timeestimate | Сегодняшняя вера в то, что осталось | Нет. Он перемещается ежедневно и заканчивается в 0. |
| Проведенное время | timespent | Зарегистрированная работа, суммированная из рабочих журналов | Да. Это факт. |
| Сюжетные точки | настраиваемое поле | Относительный размер, без единиц измерения | Отдельный отчет. Никогда не в том же столбце, что и часы. |
Все три временных поля экспортируются в секунды. Прежде всего разделите на 3600 и сделайте это в отдельном столбце, чтобы необработанное значение все еще присутствовало, когда число выглядит неправильным. Билет «1800 часов» — это полчаса, которые никто не делил.
Один спринт, три ответа
Восемь заполненных билетов. Оценка и затраты указаны в часах.
| Билет | Оригинал | Проведенное время | дисперсия | Отклонение % | примечание |
|---|---|---|---|---|---|
| PAY-101 | 8 | 10.5 | +2.5 | +31% | |
| PAY-102 | 16 | 14 | -2.0 | -13% | |
| PAY-103 | 4 | 13 | +9.0 | +225% | Объем расширился |
| PAY-104 | 8 | 8 | 0 | 0% | Переоценка на третий день |
| PAY-105 | 24 | 21.5 | -2.5 | -10% | |
| PAY-106 | 2 | 6 | +4.0 | +200% | |
| PAY-107 | 0 | 7.5 | +7.5 | без процентов | Никогда не оценивался |
| PAY-108 | 12 | 11 | -1.0 | -8% | |
| Общий | 74 | 91.5 | +17.5 | +24% |
Спринт длился 17,5 часов больше, чем предполагалось 74, что составляет 24 процента. Теперь есть три способа, которыми это число сообщается неправильно:
- Среднее процентное соотношение билетов дает около +61 процента, потому что PAY-103 и PAY-106 — крошечные билеты с огромными коэффициентами. Усреднение процентов дает двухчасовой билет такой же вес, как двадцатичетырехчасовой. Суммируйте часы, затем разделите один раз.
- Используя текущую оценку сбрасывает превышение PAY-104 до нуля и показывает меньшее превышение, чем то, которое произошло, потому что обещание было незаметно переписано, чтобы соответствовать результату.
- Удаление неоцененного билета теряет 7,5 реальных часов, а неоцененная работа обычно является интересной находкой, а не ухудшением качества данных.
Проблема переоценки и как ее обнаружить
Да ведет журнал изменений. Если ваш инструмент экспорта поддерживает его, потяните Issue history для поля исходной оценки и отмечайте все заявки, в которых они изменились после даты начала спринта. Эти билеты не могут поддерживать отклонения, и они должны отображаться в отчете как подсчеты, а не незаметно отбрасываться:
Completed tickets 8
with an untouched estimate 7
re-estimated in flight 1 (PAY-104)
never estimated 1 (PAY-107)
Если журнал изменений недоступен в вашем экспорте, вы все равно можете сказать честную вещь: заявить, что в этих данных не могут быть обнаружены переоценки, и это ограничение, которое стоит записать, а не причина хранить молчание. Эта привычка является предметом Документирование ограничений данных.
Экспорт и два столбца, которые нужно построить первыми
Из Да: Проблемы, фильтрация по спринту, Экспорт > CSV (все поля). Затем в Excel перед поворотом:
Est_h =IF([@timeoriginalestimate]="",0,[@timeoriginalestimate]/3600)
Spent_h =IF([@timespent]="",0,[@timespent]/3600)
Var_h =[@Spent_h]-[@Est_h]
Var_pct =IF([@Est_h]=0,"",[@Var_h]/[@Est_h])
Flag =IF([@Est_h]=0,"unestimated",IF(ABS([@Var_h])>=4,"review",""))
Пустая проверка имеет значение: незарегистрированный билет экспортируется как пустая ячейка, а не как ноль, а вычитание из пустой ячейки в любом случае автоматически обрабатывает ее как ноль. Сделайте это решение явным, чтобы следующий человек мог видеть, что это было решение.
Что сообщать и в каком порядке
- Итого: потрачено 91,5 часов против 74 предполагаемых, на 24 процента больше.
- Концентрация: два билета PAY-103 и PAY-106 занимают 13 часов из 17,5.
- Схема: оба были оценены в четыре часа или меньше. Маленькие билеты — это то место, где оценка хуже всего, потому что никто не разбирает работу, которую считает маленькой.
- Охват: один билет вообще не содержал оценки и занял 7,5 часов.
Этот порядок работает, потому что он начинается с числа, которое они запрашивают, и заканчивается действием, которое они могут предпринять. Список из восьми отклонений билетов — это данные. «Наши маленькие билеты — это те, о которых мы неправильно судим», — это вывод.
Как применить это в своей работе
- Экспортируйте один закрытый спринт и проверьте, какое поле оценки в данный момент читается в вашем отчете. Если это
timeestimate, ваши перерасходы исчезают. - Разделите секунды в именованном столбце и сохраните столбец необработанных секунд рядом с ним.
- Прежде чем что-либо фильтровать, посчитайте билеты с нулевой оценкой. Этот подсчет является открытием сам по себе.
- Суммируйте часы до деления. Никогда не усредняйте столбец процентов.
- Отсортируйте по абсолютным часам, а не по процентам, и посмотрите, какие билеты действительно повлияли на спринт.
Единственная привычка, которую нужно сохранить
Спросите, какое поле можно было редактировать во время работы. Все, что можно было редактировать после того, как обещание было дано, не может измерить, было ли оно выполнено. Этот вопрос выходит далеко за рамки Да: это тот же вопрос, который можно задать в отношении прогноза, который будет переформулирован, или цели, которая будет изменена в июле.
В вашем последнем отчете о спринте указано, сколько заявок вообще не содержало оценок?
Думать как аналитик Речь идет о той части, которую за вас не сделает ни один инструмент: формулировка вопроса, выбор меры, утверждение того, что данные не могут подтвердить, и защита цифр в комнате.
Думать как аналитик, 19 $ →Определение метрик читается ли сопровождающий, и Операционная аналитика охватывает пропускную способность и время цикла одного и того же вида экспорта. Курс Excel имеет механику поворота и поиска.
Прочтите «Определение метрик» →