Scrum и XP: заметки с передовой (Книберг) - страница 23

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

Обычно мы стремимся получить истории объёмом от двух до восьми человеко-дней. Производительность нашей среднестатистической команды обычно находится в пределах 40-ка — 60-ти человеко-дней, что позволяет нам включать в спринт примерно по 10 историй. Иногда всего 5, а иногда целых 15. Кстати, таким числом учётных карточек достаточно удобно оперировать.

Разбиение историй на задачи

Секундочку… В чём разница между «задачами» и «историями»? Очень правильный вопрос.

А различие очень простое: истории это нечто, что можно продемонстрировать, что представляет ценность для product owner'a, а задачи либо нельзя продемонстрировать, либо они не представляют ценности для product owner'a.

Пример разбиения истории на более мелкие:

Пример разбиения истории на задачи:

Несколько интересных наблюдений:

• Молодые Scrum-команды не любят тратить время на предварительное разбиение историй на задачи. Некоторые считают это «водопадным» подходом.

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

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

• Такая предварительная разбивка заметно увеличивает эффективность ежедневного Scrum'а (см. стр. 46 «Как мы проводим ежедневный Scrum»).

• Даже неточная разбивка, которая будет изменяться по ходу работ, всё равно даёт нам все перечисленные выше выгоды.

Итак, чтобы успеть разбить истории на задачи, мы стараемся выделить достаточно времени на планирование спринта. Однако, если время поджимает, то разбиение на задачи мы можем и пропустить (см. следующую главу «Когда пора остановиться»).

Примечание: мы практикуем TDD (разработку через тестирование), из-за чего первой задачей почти каждой истории является «написать приёмочный тест», а последняя — «рефакторинг» (улучшение читабельности кода и удаление повторений кода).

Выбор времени и места для ежедневного Scum’а

Все часто забывают, что на планировании спринта, помимо всего прочего, необходимо выбрать время и место проведения ежедневного Scrum'а. Без этого ваш спринт обречён на неудачный старт. Ведь первый ежедневный Scrum — это, по большей части, ввод мяча в игру, когда каждый решает с чего начать работу.

Я предпочитаю проводить ежедневный Scrum утром. Хотя, должен признаться, мы особо и не пробовали проводить его в обед или ближе к вечеру.