Софт за 30 дней. Как Scrum делает невозможное возможным - Джефф Сазерленд
Шрифт:
Интервал:
Закладка:
Проблема новых возможностей в том, что они новые. Пути их достижения, как правило, – либо создание чего-то нового, либо новое использование старого подхода. В любом случае всегда есть много новых вещей, которые нужно продумать, найти красивое решение, написать новое программное обеспечение либо перепрофилировать старое. Традиционно нас просят сначала обдумать, а потом уже начинать разработку. Это называется планирование требований, и результатом планирования становится документация продукта или документация маркетинговых требований. Проблема в том, что мы точно не знаем, чего хотим. Даже когда у нас есть четкие идеи, лучший подход обычно появляется во время разработки, потому что определение сложных проблем при планировании – задача трудная, чреватая ошибками и упущениями. С помощью Scrum мы планируем по мере продвижения, находя то, что нам нужно, в процессе работы над проектом. Предсказуемость появляется из своевременного принятия решений, основанных на реальных результатах. Хотя мы и планируем время и стоимость в начале проекта, но постоянно оцениваем его по мере продвижения вперед. В случае с традиционными проектами время и стоимость также прогнозируются в самом начале, но они не предоставляют эффективных данных для внесения изменений в планы до тех пор, пока как минимум 90 % работы не будет закончено.
Длина спринта
Организации, которые применяют Scrum, имеют тенденцию к использованию 30-дневных спринтов, но Scrum также позволяет более короткие спринты наравне со спринтом в один месяц. Более длинные спринты хороши для более стабильных ситуаций, а более короткие – для более сложных и требовательных.
Рис. 6.5. Переменные, влияющие на длину спринта
Лучшая длина спринта для вашего проекта определяется после оценки следующего (рис. 6.5):
• перерасходы на короткие спринты;
• увеличение гибкости и контроля;
• длина спринта.
Спринт никогда не должен превышать один месяц.
Доводы в пользу более коротких спринтов
Четыре недельных спринта дают большую гибкость и контроль, чем один длиной в 30 дней. Вот некоторые из переменных, способных повлиять на ваш выбор длины спринта.
1. Неустойчивая ситуация на рынке. Длина спринта определяет, как часто вы можете перенаправлять или перепланировать продукт. Рынок для вашего продукта может быть новым или неустойчивым. Другие организации и конкуренты также представляют свои продукты. Вы хотите сохранить большую гибкость для приспособления и быстрого реагирования на представляющиеся возможности. Или вы не хотите много инвестировать в каждую отличительную особенность своего продукта, прежде чем иметь возможность поменять направление.
2. Неустойчивая команда. Scrum-команде иногда требуется до одного года работы, чтобы стать эффективной. Более короткие спринты дают каждому четкое представление о динамике команды, таким образом, проблемы могут быть быстро обнаружены и продуктивность улучшена.
3. Нестабильная технология. Всякий раз, когда используются новые технологии, необходимо как можно раньше узнать об их новых возможностях и преимуществах. В новых продуктах возможности новых технологий зачастую определяют успех. Опробуйте новые технологии в попытке создать небольшой фрагмент функционала. Посмотрите, как они работают, работают ли вообще, вписываются ли в вашу систему. Например, если продукт должен поддерживать одновременно подключение множества пользователей или иметь высокую степень безопасности, необходимо очень рано понять, поддерживает ли это новая технология. Если нет, вам надо внести изменения в проект или отменить его.
4. Создание стабильной скорости. Лучший способ прогнозировать стоимость проекта – обзор продуктивности предыдущих подобных проектов, с идентичной технологией и командами, долгое время работающими вместе. В случае если данные о подобных предыдущих проектах недоступны, следующий хороший способ прогнозирования – запуск коротких спринтов. По мере того как разработчики будут учиться взаимодействовать друг с другом и технологиями над вашим проектом, они начнут показывать стабильную скорость разработки или количество функциональных возможностей, которые могут создать в каждом спринте. Когда скорость стабилизируется, вы можете осторожно прогнозировать возможности команды разработки, чтобы определить стоимость продукта и дату релиза. Помните, однако, что прогноз – это не гарантия.
5. Предоставление обучающего опыта. Люди любят быть успешными. Когда они учатся ездить на велосипеде, кататься на коньках или лыжах, то для начала делают короткие попытки. Неудача может быть оценена и внесены изменения. Затем они пробуют снова. Короткие спринты способствуют обучению.
6. Контроль рисков. Желаемый возврат инвестиций в проект может быть недостижимым. Когда рыночная ситуация нестабильна или неизвестна, технологии не проверены, а люди делают новую для них работу, ранний сбор информации о затратах и прибыли может стать чрезвычайно важным, и короткие спринты дают такую информацию, делая возможным более частый контроль над проектом. Еще до того, как решение об отмене проекта принято, появляется шанс потратить меньше денег.
В целом более длинные спринты используются там, где меньше риска, нестабильности или неопределенности. К примеру, продукт или система предназначены только для внутреннего пользования. В таких или подобных случаях тридцатидневный спринт будет более чем адекватным.
Доводы против более коротких спринтов
Два двухнедельных спринта стоят больше, чем один 30-дневный. Будет в два раза больше мероприятий по планированию спринта, обзору спринта и ретроспективе спринта. Scrum-команда должна будет формулировать новый дизайн в два раза чаще. Естественные процессы разгона и спада скорости во время спринта будут и происходить в два раза чаще.
Цена, которую приходится платить за более короткие спринты, – увеличение времени, необходимого для планирования и разбора. Вы можете сами выбирать, хотите ли вы платить за дополнительную страховку. Таблица 6.1 показывает, какое примерно время необходимо на спринты разной длины. В примере время на проведение мероприятий спринтов разной длины приведено к эквиваленту 30-дневного спринта. Стоимость мероприятий спринта, таких как планирование спринта, обзор спринта и ретроспектива спринта, принята одинаковой. Стоимость Scrum-команды, о которой идет речь в примере, составляет 200 тысяч долларов за тридцатидневный спринт.
Таблица 6.1. Стоимость коротких спринтов
Многие организации считают приемлемой дополнительную плату за большую предсказуемость, контроль и гибкость, которые обеспечивает более короткая продолжительность спринта.