Как стать автором
Обновить

Ломай меня полностью… разве это про Scrum?

Время на прочтение4 мин
Количество просмотров16K
На мой взгляд самую коварную ошибку допустили создатели, когда сказали, что скрам это фрэймворк, который нужно адаптировать под себя. Я много раз слышал, как люди ссылаясь на это утверждение, оправдывали отсутствие или модификацию фундаментальных элементов скрама, таких как роль Product Owner, burndown диаграмма, цель спринта, демонстрация, готовый продукт в конце спринта и др. Для таких многочисленных «адаптаций» даже появился специальный термин «Скрамно» (ScrumBut).

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

1. ПОЧЕМУ нужна цель спринта?


Я долгое время не понимал зачем нужна цель спринта. И почему в книге «Scrum и XP — заметки с передовой» Хенрика Книберга написано, что очень важно ее выбрать. Из-за подчеркнутой важности этого элемента скрама, мы всегда его использовали. Но из-за того, что мы не понимали смысла, мы придумывали ужасные цели. Обычно мы просто упрощали процесс выбора цели, задавая негласное правило, брать целью выпуск очередного релиза или реализацию какой-то очередной жирной спринтовой фичи. От этого усиливалось ощущение бесполезности цели, а то и ее вреда.

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

Как можно исправить сложившуюся ситуацию? Ведь речь идет о тяжелом и мучительном изменении процесса в его корне. Хорошо подобранная цель спринта является тем мощным инструментом, который делает команду командой. Если у команды есть общая цель. Та цель к которой стремится каждый из ее членов. То такая команда будет трансформировать свои процессы естественным образом, чтобы достичь поставленной в начале спринта цели.

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

2. ПОЧЕМУ нужно отправлять письмо с объявлением старта спринта всем заинтересованным лицам и членам команды?


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

У письма есть и другое, более известное назначение. Все заинтересованные лица вводятся в курс задач и сроков команды. Такая осведомленность ЗЛ повышает лояльность к команде и уменьшает поток незапланированных задач.

3. ПОЧЕМУ нужно считать производительность команды и вести график?


Считая производительность команды (velocity) и ведя график исторических значений производительности, можно понять насколько ритмична и стабильна работа команды. Начинающая команда, еще не вошедшая в ритм, будет иметь ломанный график. Если ломанный график имеет зрелая команда, то это сигнализирует о проблеме, которую нужно решать (за исключением отпусков и больничных). Например, на график может повлиять постоянное изменение объема незапланированных задач, от спринта к спринту. Эта проблема в свою очередь может быть причиной срыва сроков спринта.

Также график производительности команды полезен при определении объема задач на спринт на основе метода вчерашней погоды.

4. ПОЧЕМУ важен постоянный ритм?


Во-первых, такой ритм дает более устойчивое значение velocity, а следовательно и более надежное планирование. Во-вторых, ритм формирует устойчивые привычки у членов команды, выполнение которых требует меньше интеллектуальных и психологических затрат, чем выполнение тех же действий, но без привычек. В-третьих, к ритму команды привыкают заинтересованные лица и они всегда знают чего ожидать от команды.

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

5. ПОЧЕМУ нужно проводить DSM и зачем рисовать burndown?


Все знают, что DSM (daily scrum meeting) нужны для синхронизации команды. Также DSM позволяет своевременно устранять проблемы разработки. Если у кого-нибудь из команды возникает проблема, угрожающая срывом сроков спринта, то она сразу вскрывается и решается совместными усилиями. Таким образом, основная ценность DSM заключается в обеспечении контроля следования плану. Эту ценность можно усилить, если отмечать завершенные задачи на burndown диаграмме в конце каждого DSM. Если burndown сигнализирует о слишком медленном завершении задач, это сразу вскрывается и решается.

6. ПОЧЕМУ в конце спринта должен быть готовый продукт?


Основной причиной этому является необходимость в частых релизах со стороны бизнеса. Но так бывает не всегда. Иногда бизнесу нужны ежеквартальные, а то и полугодовые релизы. Нужны ли нам готовые продукты в конце каждого спринта в этих случаях? Нужны!

Во-первых, делая готовый продукт в конце спринта, команда избавляется от хвостов. Новый спринт начинается с чистого листа, с новыми пользовательскими историями. Это делает работу последовательной. В новом спринте не приходится вспоминать детали реализации задачи, половину которой команда сделала в прошлом/позапрошлом спринте.

Во-вторых, готовый продукт можно продемонстрировать заинтересованным лицам и получить от них полезную обратную связь. Демонстрация готового продукта лучше любого отчета показывает результаты работы и провоцирует новые идеи. Также демонстрация мотивирует команду в течении спринта. Зная что будет демонстрация, команда готовится к ней.

В-третьих, не приходится выпиливать куски кода для пользовательской истории, которая была наполовину реализована один или несколько спринтов назад и сильно упала в приоритете или совсем потеряла актуальность.

Литература:

scrum_xp-from-the-trenches-rus-final.pdf
www.smartagilee.com/2012/06/v-behaviorurldefaultvmlo.html
www.scrum.org/ScrumBut

Теги:
Хабы:
Всего голосов 20: ↑12 и ↓8+4
Комментарии23

Публикации

Истории

Работа

Ближайшие события