Хенрик Книберг - Scrum и XP: заметки с передовой
- Название:Scrum и XP: заметки с передовой
- Автор:
- Жанр:
- Издательство:C4Media
- Год:2007
- ISBN:978-1-4303-2264-1
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Хенрик Книберг - Scrum и XP: заметки с передовой краткое содержание
Эта книга исключительна полезна. С одной стороны она про такой хорошо (если не излишне) раскрученный термин как Scrum, на который ведутся большинство (если не все) начальников. С другой стороны, она упирает на то, что Scrum без инженерных практик не живёт. Не знаю сознательно ли Хенрик заложил этот месадж в книгу или так получилось случайно, но получилось именно то, что доктор прописал :-)
Scrum и XP: заметки с передовой - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Лучше:
Еще лучше:
Один из вариантов для этого — «инженерные дни» (или как бы вы их не называли). Это дни, когда разработчикам разрешается делать по сути все, что они хотят. (ОК, я признаю, в этом виноват Google). Например, читать о последних средствах разработки и API, готовиться к сертификации, обсуждать компьютерные занудства с коллегами, заниматься своим личным проектом.
Лучше некуда?
Наша цель — инженерный день между каждым спринтом. Так между спринтами появляется реальная возможность отдохнуть, а команда разработки получает хороший шанс поддерживать актуальность своих знаний. К тому же, это достаточно весомое преимущество работы в компании.
Сейчас у нас один инженерный день между спринтами. Если конкретно, то это первая пятница каждого месяца. Почему же не между спринтами? Ну, потому что я считал важным, чтобы вся компания брала инженерный день в одно и то же время. Иначе люди не воспринимают его серьезно. И так как мы (пока что) не согласовывали спринты между всеми продуктами, я был вынужден выбрать инженерный день, независимый от спринтов.
Когда-нибудь мы можем попробовать согласовать спринты между продуктами (то есть одна и та же дата для начала спринта и одновременное окончание спринтов для всех продуктов и команд). В этом случае, мы точно поместим инженерный день между спринтами.
Как мы планируем релизы и составляем контракты с фиксированной стоимостью
Иногда нужно планировать дальше, чем на один спринт вперед. Это типичная ситуация для контрактов с фиксированной стоимостью, когда нам приходится планировать наперед, или же есть риск подписаться под нереальной датой поставки.
Как правило, планирование релиза для нас — это попытка ответить на вопрос: «когда, в самом худшем случае , мы сможем поставить версию 1.0».
Если вы действительно хотите разобраться, как планировать релиз, советую пропустить эту главу и купить книгу Майка Кона «Agile Estimating and Planning». Эх, прочитать бы мне эту книгу раньше… (она попалась мне уже после того, как мы на собственном опыте поняли, что к чему…). Мой способ планирования простой, как угол дома, но может послужить вам хорошей отправной точкой.
Определяем свою приёмочную шкалу
В дополнении к обычному product backlog, product owner определяет приёмочную шкалу , которая представляет собой ни что иное, как простое разбиение всех историй product backlog’а на группы в зависимости от их уровня важности в контексте контрактных обязательств.
Вот пример диапазонов из нашей приёмочной шкалы:
• Все элементы с важностью >= 100 обязаны быть включены в версию 1.0, иначе нас оштрафуют по полной программе.
• Все элементы с важность 50–99 должны быть включены в версию 1.0, но в случае чего мы можем выкатить эту функциональность в следующем дополнительном релизе.
• Элементы с важностью 25–49 необходимы, но могут быть сделаны в последующем релизе версии
• 1.1.
• Важность элементов < 25 весьма спорна, так как возможно, что они вообще никогда не пригодятся.
Вот пример product backlog’а, раскрашенного в соответствии с вышеописанными правилами:
Красные = обязательно должны быть добавлены в версию 1.0 (банан — груша)
Жёлтые = желательно включить в версию 1.0 (изюм — лук)
Зелёные = могут быть добавлены позже (грейпфрут — персик)
Итак, если к крайнему сроку мы закончим всё: от банана до лука, то нам бояться нечего. Если время будет нас поджимать, то мы ещё успеем выкрутиться , убрав изюм, арахис, пончик и лук. Всё, что ниже лука — бонус.
Оцениваем наиболее важные истории
Чтобы спланировать релиз, product owner’а нужны оценки, как минимум оценки всех включенных в контракт историй. Как и в случае планирования спринта, это — коллективный труд команды и Product owner’а. Команда планирует, а product owner объясняет и отвечает на вопросы.
Оценка считается ценной , если впоследствии она оказалась близкой к реальности. Менее полезной, если отклонение составило, скажем, 30 %. И абсолютно бесполезной, если она не имеет ничего общего с реально потраченным временем.
А вот что я думаю о зависимости ценности оценки от того, кто и как долго её делает.
Резюмируя вышесказанное:
1. Пусть команда проведёт оценку.
2. Не давайте им тратить на это много времени.
3. Убедитесь, что команда понимает, что нужно получить приблизительные оценки, а не контракт, под которым надо ставить подпись.
Обычно product owner собирает всю команду, делает вводный обзор и сообщает, что целью этого совещания является оценка двадцати (например) наиболее значимых историй из product backlog’а. Он проходится по каждой истории и позволяет команде приступить к процессу оценки. Product owner остаётся с командой, чтобы, в случае необходимости, отвечать на вопросы и прояснить объём работ историй. Так же, как и при планировании спринта, колонка «как продемонстрировать» — отличное средство, чтобы избежать недопонимания.
Совещание должно быть строго ограниченным по времени — команды склонны тратить очень много времени на оценку всего нескольких историй.
Если product owner захочет потратить больше времени на оценку, он просто назначит другое совещание позже. Команда должна убедиться в том, что product owner осознаёт, что проведение подобных совещаний отразится на их текущем спринте. То есть, что он понимает, что за все (и за оценку в том числе) нужно платить.
Ниже приведен пример результатов оценки (в story point’а):
Прогнозируем производительность
Хорошо, теперь у нас есть приблизительные оценки для наиболее важных историй. Следующий шаг — прогноз средней производительности команды.
Это значит, что для начала мы должны определить наш фокус-фактор (см. стр. 23 «Как команда принимает решение о том, какие истории включать в спринт?»)
По большому счёту, фокус-фактор показывает: «насколько эффективно команда использует своё время для работы над выбранными историями». Это значение никогда не достигнет 100 %, так как команда всегда тратит время на незапланированные задачи, помощь другим командам, переключение между задачами, проверку электронной почты, ремонт своих поломанных компьютеров, политические дебаты на кухне и т. д.
Предположим, что фокус-фактор нашей команды равен 50 % (это достаточно низкое значение, у моей команды значение колеблется в районе 70 %). Допустим также, что длина нашего спринта будет 3 недели (15 дней), а размер команды — 6 человек.
Таким образом, каждый спринт — это 90 человеко-дней, однако, в лучшем случае мы можем надеяться только на 45 человеко-дней (так как наш фокус-фактор составляет всего 50 %).
Следовательно, прогнозируемая производительность составит 45 story point'ов.
Читать дальшеИнтервал:
Закладка: