Итеративный инкремент, бэклог и прочие артефакты: ультракороткий гайд для не-разработчиков.
На прошлой неделе начальник радостно объявил, что мы переходим на скрам. В письме выслал календарь на 10 еженедельных встреч, ссылку на гайд и предложил задавать вопросы.
Раньше я слышала, что скрам — это такой модный фреймворк для организации работы команды разработчиков. Бухгалтер, логист, менеджер на телефоне, редактор блога и контент-менеджер по ассортименту — мы замерли, переглянулись и пожали плечами. Не похожи на разработчиков.
Открываю гайд, читаю:
Для проведения Планирования Спринта нужны: Бэклог Продукта, последний Инкремент продукта, прогноз возможностей Команды Разработки в будущем Спринте, статистика её прошлой производительности. При этом только Команда Разработки определяет количество Элементов Бэклога Продукта, которые могут быть выполнены в Спринте. Ей же принадлежит исключительное право оценивать объём работ, который по силам завершить в текущем Спринте.
Думаю: Бэклог Продукта? Инкремент? Какая разработка? Что за элементы бэклога? Память рисует тревожные очертания. Это книга про скрам. Она медленно поворачивается. Ракурс с видом на обложку мучительно медленно сменяется корешком. Толщина корешка не заканчивается.
Стоп, но я ведь не собираюсь скрам внедрять. Как исполнительной единице, мне нужно лишь понять:
Принципы, термины и действия. Только суть для не-разработчиков.
Время конспекта. Сваяла ультракороткий гайд.
Определение Скрама.
Скрам — это набор правил организации работы. +скрам (scrum)
Скрам применяют для разработки сложных продуктов. Со Скрамом можно делать это творчески, продуктивно, и с максимальной ценностью.
Разработка — это любая сложная работа. +разработка (development)
В Скраме много терминов. Дальше они объясняются. Если термин используется впервые, рядом есть +хэштег. Если термин можно заменить адаптивным переводом, за хэштегом следует @адаптация.
Применение Скрама.
Поверьте, Скрам клёвый. Скрам применяется к людям. Скрам объединяет людей.
Теория Скрама.
Скрам не взят с потолка, а теоретически обоснован. Основная идея: Знание —следствие опыта. А решения принимаются на основе знаний. +эмпиризм (empiricism)
В скраме повторяются циклы и приращиваются результаты. +итеративный (iterative) +инкрементальный (incremental)
Важно, чтобы все понимали термины одинаково. +прозрачность (transparency)
Важно регулярно обсуждать ход работы, чтобы предотвращать ошибки заранее. Это не должно мешать работе. +инспекция (inspection)
Если обнаружен сбой, что-то можно изменить. +адаптация (adaptation)
Будет много встреч. Зачем они нужны узнаете дальше.
Ценности Скрама.
Скрам хороший. Люди, использующие Скрам, становятся хорошими.
Скрам-команда.
Люди в Скраме: команда (разработчиков), владелец продукта, скрам-мастер. +скрам-команда (the scrum team)
Команда (разработчиков).
У нас это команда интернет-магазина. В команде каждый самоорганизован и кросс-функционален. То есть может действовать без указа руководства и может выполнять работу другого сотрудника (все равны). Хороший размер команды: 3-9 человек. Работать в команде клёво. +команда разработчиков (the development team) @команда +самоорганизованность (self-organizing) +кросс-функциональность (cross-functional)
Владелец продукта.
У нас это Директор. Он отвечает за результат. Последнее слово за ним. Он в курсе всех дел. +владелец продукта (the product owner) @Директор
Скрам-мастер.
У нас его нет. Скрам-мастер помогает соблюдать Скрам. Устраняет препятствия и вдохновляет. +скрам-мастер (the scrum master)
События Скрама.
Будут спринты и встречи. Встречи по Скраму вытесняют другие встречи. Встречи нужны.
Спринт.
Это отрезок времени. Например, неделя. За этот отрезок определяется цель и достигаются результаты. Когда один Спринт кончается, начинается новый. Спринт можно отменить, только если цель перестала быть актуальной.
Цель спринта зависит от бизнес-целей и возможностей команды. Для достижения цели используется то, что было сделано ранее. Достигать нужно вместе, а не разрозненно. Достигать возможно разными средствами. +спринт (sprint) +цель спринта (sprint goal) @цель
Планирование Спринта.
На первой встрече Спринта всё планируем. Команда решает:
- что будет улучшать
- что будет делать, чтобы это улучшить
Директор согласует это. План действий разбиваем на мелкие задачи, которые можно решить за день. +планирование спринта (sprint planning) @планёрка
Ежедневный Скрам.
Команда встречается ежедневно. Каждый говорит, что сделал вчера и что будет делать сегодня. После встречи можно обсуждать детали подробно лично. Директор не согласует это. +ежедневный скрам (daily scrum) @стендап
Обзор Спринта.
На второй встрече Спринта обсуждаем, что было сделано с начала Спринта и корректируем план действий. Отвечаем на вопросы:
- что было сделано
- какие возникли проблемы
- что работает
- на каком этапе работа
- когда может быть завершена
- что изменилось на рынке и может повлиять
Могут приглашаться внешние люди. Это нужно для следующего планирования Спринта. +обзор спринта (sprint review) @отчёт
Ретроспектива Спринта.
На третьей встрече Спринта обсуждаем, что можно улучшить в работе команды:
- какие подходы к работе используем
- как общаемся
- в какой среде работаем
Это полезно. +ретроспектива спринта (sprint retrospective) @былое
Артефакты Скрама.
Это понятия и сущности Скрама. Важно, чтобы все одинаково понимали, о чем речь. Артефакты должны быть прозрачными в любой момент. Прозрачность достичь не легко. В этом помогает скрам-мастер. +артефакты скрама (scrum artifacts)
Бэклог продукта.
Это все, что было сделано и получено. Весь результат прошлых Спринтов по продукту. Бэклог состоит из доработок. Доработки нумеруются, описываются, характеризуются ценностью и объемом затраченной работы. +бэклог продукта (product backlog) @результаты +элементы бэклога продукта (product backlog items) @доработки
Бэклог спринта.
Это все, что делаем и что используем для достижения цели и создания нового. Детальный план. Он меняется в ходе Спринта. Если в ходе спринта появляется новая работа, связанная с достижением цели спринта, она добавляется в бэклог спринта. +бэклог спринта (sprint backlog) @план спринта
Икремент.
Это все новое, созданное ранее командой. Доработки, которые работают. Новое используется в работе. +инкремент (increment) @новое
Критерии готовности.
Нужно договориться, что значит Готово. Важно понимать это одинаково. +готово (done)