использует термин «действие» (activity), потому что слово «задача» (task) значит на шведском кое-что совершенно другое: о) [прим. переводчика — шведско-русский онлайн словарь находится по адресу http://lexin.nada.kth.se/swe-eng.html1

Использование карточек также упрощает процедуру разбиения историй на задачи. Можно разбить команду на пары, тогда они смогут одновременно разбивать истории на задачи — каждая свою.

На нашей доске мы отображаем задачи в виде маленьких стикеров под каждой историей. Каждый стикер соответствует одной задаче в рамках этой истории.

Мы не добавляем задачи в product backlog в Ехсеl’е по двум причинам:

1. Список задач обычно часто меняется: к примеру, задачи могут изменяться и пересматриваться на протяжении sprint'a. Чтобы синхронизировать с ними product backlog в Ехсеl’е нужно слишком много усилий.

2. Скорее всего, на этом уровне детализации product owner не будет участвовать в процессе.

Так же, как и учетные карточки, стикеры с задачами можно использовать в sprint backlog'e (см. стр. 38 «Как мы создаём sprint backlog?»).

Критерий готовности

Важно, чтобы и product owner, и команда совместными усилиями определили критерий готовности. Можно ли считать историю готовой, если весь код был добавлен в репозиторий? Или же она считается готовой, лишь после того как была развёрнута на тестовом сервере и прошла все интеграционные тесты? Где только это возможно, мы используем следующее определение критерия готовности: «история готова к развёртыванию на живом сервере», однако, иногда мы вынуждены иметь дело с определением типа «развёрнуто на тестовом сервере и готово к приёмочному тестированию».

Поначалу мы использовали детализированные контрольные листы для определения того, что история готова. А сейчас мы часто просто говорим: «история готова тогда, когда так считает тестировщик из нашей Scrum-команды». В этом случае проверка того, что пожелания product owner’а были правильно восприняты командой, остаётся на совести тестировщика. В его задачи также входит контроль того, что история достаточно «готова» для того, чтобы удовлетворить принятому критерию готовности.

В конце концов, мы осознали, что нельзя все истории ровнять под одну гребёнку. История «форма поиска пользователей» будет очень сильно отличаться от истории под названием «руководство по эксплуатации». В последнем случае «готово» может просто означать «принято отделом поддержки клиентов». Поэтому здравый смысл часто лучше, чем формальный контрольный лист.

Если вы часто путаетесь с определением критерия готовности (как это было поначалу у нас), то вам, наверное, стоит ввести поле «критерий готовности» для каждой истории.

Оценка трудозатрат с помощью игры в planning poker

Оценка — это командная работа, и, зачастую, все члены команды участвуют в оценке каждой истории. Почему?

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

• Реализация историй обычно требует участия различных специалистов (дизайн пользовательского интерфейса, кодирование, тестирование, и т. д.).

• Для того, чтобы каждый участник команды мог выдать какую-то оценку, он должен более или менее понимать, в чём суть этой истории. Получая оценку от каждого члена команды, мы убеждаемся, что все понимают, о чём идёт речь. Это увеличивает вероятность взаимопомощи по ходу спринта. А также это увеличивает вероятность того, что наиболее важные вопросы по этой истории всплывут как можно раньше.

• При оценке истории совместными усилиями разностороннее видение проблемы приводит к сильному разбросу оценок. Такие разногласия лучше выявлять и обсуждать как можно раньше.

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

Но существует прекрасная практика, которая позволяет этого избежать. Она называется planning poker (придуманная Майком Коном, насколько я знаю).

Каждый член команды получает колоду из 13-ти карт, таких же, как на картинке выше. Всякий раз, когда нужно оценить историю, каждый член команды выбирает карту с оценкой (в story point'ах), которая, по его мнению, подходит, и кладёт её на стол рубашкой наверх. Когда всё члены команды определились с оценкой, карты одновременно вскрываются. Таким образом, члены команды вынуждены оценивать самостоятельно, а не «списывать» чужую оценку.

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

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

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

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

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

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

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

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

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

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

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

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

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

Пример № 1:

Команда и product owner вполне довольны планом на спринт и уже готовы закончить планирование,

Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату