Выбрать главу

Очень важно напоминать всем членам команды, что они должны оценивать общий объём работ по истории, а не только «свою часть». Тестировщик должен оценивать не только работы по тестированию.

Заметьте, последовательность значений на картах — нелинейная. Вот, например, между 40 и 100 ничего нет. Почему так?

Это нужно, чтобы избежать появления ложного чувства точности для больших оценок. Если история оценивается примерно в 20 story point’а, то нет смысла обсуждать должна ли она быть 20, или 18, или 21. Всё, что нам нужно знать, это то, что её сложно оценить. Поэтому мы примерно назначаем ей оценку в 20.

Если у вас возникло желание более детально переоценить эту историю, то лучше разбейте её на более мелкие части и оцените уже их!

И, кстати, жульничать, выкладывая карты 5 и 2, чтоб получить 7, нельзя. Вы должны выбрать или 5 или 8 — семёрки нет.

Есть ещё несколько специальных карт:

• 0 = или «история уже готова» или же её оценка «пара минут работы».

•? = «Я понятия не имею. Абсолютно».

• Чашка кофе = «Я слишком устал, чтобы думать. Давайте сделаем перерыв».

Уточнение описаний историй

Нет ничего ужасней, чем ситуация, когда команда с пафосом демонстрирует новую функциональность продукта, а product owner тяжко вздыхает и говорит: «ну да — всё это красиво, вот только не то, что я просил!»

Как убедиться, что product owner и команда понимают историю одинаково? Или что все члены команды понимают все истории одинаково? Да никак. Есть простые способы выявить разницу в понимании. Наиболее простая практика — всегда заполнять все поля для каждой истории (точнее, для всех историй, которые могут попасть в текущий спринт).

Пример № 1:

Команда и product owner вполне довольны планом на спринт и уже готовы закончить планирование, но тут ScrumMaster говорит: «Минуточку! У нас нет оценки для истории „добавить пользователя“. Давайте-ка оценим!». После пары сдач в planning poker, команда сходится на оценке в 20 story point’а, на что product owner вскакивает с криком: «ЧЕГООО?!?». Пара минут ожесточённых споров и вдруг выясняется, что команда имела в виду «удобный web-интерфейс для функций добавить, редактировать, удалить и искать пользователей», а product owner имел в виду только «добавлять пользователей напрямую в базу данных с помощью SQL-клиента». Команда оценивает историю заново и останавливается на 5-ти story point'ах.

Пример № 2:

Команда и product owner вполне довольны планом на спринт и уже готовы закончить планирование, но тут Scrum master говорит: «Минуточку! Вот тут у нас есть история „добавить пользователя“… Как она может быть продемонстрирована?». Народ пошепчется и через минуту кто-то встанет и начнёт: «ну, для начала надо залогиниться на сайт, потом…», a product owner тут же перебьёт: «залогиниться на сайт?! Не-не-не-не… эта функция вообще к сайту не должна иметь никакого отношения — это будет просто маленький SQL-скрипт, только для администраторов».

Поле «как продемонстрировать» может (и должно) быть очень кратким! Иначе вы не успеете вовремя закончить планирование спринта. По сути, это лаконичное описание на обычном русском языке, как вручную выполнить наиболее общий тестовый пример: «Сделать это, потом это, потом проверить, что получилось так-то».

И я понял, что такое простое описание часто позволяют обнаружить разное понимание объёма работ для историй. Хорошо ведь узнать об этом заранее, не так ли?

Разбиение историй на более мелкие истории

Истории должны быть не слишком маленькими, но и не слишком большими (в смысле оценок). Если вы получили кучу историй в половину story point'a, то вы наверняка падёте жертвой микроменеджмента. С другой стороны, история в 40 story point'oB несёт в себе риск того, что к концу спринта её успеют закончить лишь частично, а незавершённая история не представляет ценности для вашей компании, она только увеличивает накладные расходы. Дальше — больше: если ваша прогнозируемая производительность 70 story point'oB, а две наиболее важные истории оценены в 40, то планирование несколько усложнится. Команда станет перед выбором: или расслабиться (т. е. включить в спринт только одну историю), или взять на себя невыполнимые обязательства (т. е. включить обе).

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