сеньорчикОткрыть в Telegram
← вся теориятеория к собесу · Agile и Scrum

Scrum

Scrum

Команда закрыла 14 задач из 14. На обзоре спринта выясняется, что пользователь по-прежнему не может сделать ничего нового: экран готов, метод готов, но они не соединены, и выкатить это нельзя. Спринт формально идеален, результата нет. Отсюда и растут все вопросы про Scrum на собеседовании.

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

// Формулировки: «кто отвечает за бэклог?», «что такое DoD?», «в середине спринта прилетела срочная задача»

Роли: у приоритета один хозяин

Владелец продукта единолично решает, что попадает в бэклог и в каком порядке. Команда решает, как это сделать и сколько взять. Скрам-мастер отвечает за процесс и снимает помехи. Аналитик наполняет элементы содержанием - и обычно он же обнаруживает, что порядок в бэклоге противоречит сам себе.

Ломается это всегда одинаково: приоритет начинают назначать трое - владелец продукта, руководитель направления и тот, кто громче написал в чат. Бэклог превращается в свалку одинаково срочных пожеланий, и когда нужно сократить объём, сокращать нечем: всё первое.

// Проверка на живой приоритет простая. Спроси, что уберут, если спринт придётся урезать вдвое. Если ответа нет ни у кого, приоритета нет, есть список.

Готовность общая, приёмка частная

DoD (definition of done), определение готовности - единый для всех элементов набор условий: код прошёл ревью, тесты написаны и зелёные, документация обновлена, функция выкачена на стенд. Один список на команду, не меняется от задачи к задаче.

Критерии приёмки - индивидуальны для каждой истории и описывают конкретное поведение: «при сумме больше 100 000 требуется подтверждение руководителя», «при отказе банка показывается причина и кнопка повтора». Путаница этих двух вещей даёт классическое «готово, но у пользователя не работает»: критерии выполнены, а на стенд не выкачено и миграция не написана.

// Приём, который экономит месяцы: внести обновление документации прямо в определение готовности. Пока это работа «когда будет время», её не делает никто и никогда - времени не бывает.

Цель спринта и срочная задача в середине

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

Посчитаем, во что обходится «маленькая срочная задача». Двухнедельный спринт - это десять рабочих дней. Задача на три дня съедает 30 процентов, плюс переключение туда и обратно, плюс недоделанные хвосты того, что отложили. Реально теряется около половины спринта, и цель не достигается.

// Если срочность настоящая, честный ход - отменить спринт и спланировать заново. Отмена спринта - законный инструмент, а не катастрофа и не приговор команде. Тихо подсунуть задачу хуже: цель формально жива, а достичь её уже нельзя.

Недобор объёма лечится до спринта

Команда берёт 40 поинтов и стабильно доводит 28 - это 70 процентов, и виноватыми назначают исполнителей. Смотреть надо раньше: сколько элементов зашло в спринт без критериев приёмки и с открытыми вопросами. Если таких шесть из десяти, объём вскрывается внутри спринта, и оценка перестаёт значить хоть что-то.

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

// Обе причины лежат до планирования, и первая - зона аналитика. Отсюда простое правило: элемент без критериев приёмки в спринт не заходит, каким бы срочным он ни был.

Как отвечать: «Команда стабильно не завершает взятый объём. Где причина?»

Смотрю в два места, и оба находятся до спринта. Первое - как готовятся элементы. Если они заходят в работу без критериев приёмки и с открытыми вопросами, реальный объём вскрывается уже внутри спринта, и оценка не значит ничего: команда оценивала одну задачу, а делает другую. Это моя зона, и чинится она проработкой на спринт-полтора вперёд. Второе - как оценка превращается в обязательство: часто берут по оптимистичному сценарию, не оставляя запаса на поддержку и инциденты, хотя по истории на них уходит около четверти времени. И отдельно проверил бы, не подменяется ли цель спринта в середине: одна трёхдневная срочная задача в двухнедельном спринте с учётом переключений съедает почти половину, и тогда недобор объясняется без всяких гипотез.

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

На чём валятся

  • − Считают закрытые задачи результатом спринта вместо работающего инкремента.
  • − Путают определение готовности с критериями приёмки.
  • − Разрешают назначать приоритет нескольким людям сразу.
  • − Меняют цель спринта в середине и удивляются, что ничего не доводится до конца.
  • − Сравнивают команды по скорости в поинтах: шкала у каждой своя, а показатель начинает расти сам.
  • − Проводят все события, но бэклог не меняется от обратной связи - ритуал без петли.

Проверьте себя

Пять вопросов из банка по этой подтеме. Всего их 13, остальные разбираются в тренажёре.

  1. #ana_met_scrum1 / 5
    Что является результатом спринта?
    A)Отчёт о проделанной работе
    B)Обновлённый план проекта
    C)Набор закрытых задач в трекере
    D)Готовый к использованию инкремент
    показать ответ и разбор
    +D)Готовый к использованию инкремент

    // разбор: Инкремент — работающая часть продукта, удовлетворяющая критерию готовности и пригодная к поставке. Именно это отличает спринт от отрезка времени с задачами: закрытые задачи без работающего результата инкрементом не являются, даже если все они помечены как выполненные.

  2. #ana_met_scrum2 / 5
    Зачем нужна ретроспектива, если есть обзор спринта?
    A)Обзор — про продукт, ретроспектива — про процесс
    B)Ретроспектива заменяет обзор при нехватке времени
    C)Обзор проводит команда, ретроспективу — заказчик
    D)Ретроспектива нужна только при провале спринта
    показать ответ и разбор
    +A)Обзор — про продукт, ретроспектива — про процесс

    // разбор: На обзоре показывают инкремент и собирают обратную связь по продукту от заинтересованных сторон. Ретроспектива смотрит внутрь: что мешало команде и что изменить в способе работы. Смешение приводит к тому, что процессные проблемы обсуждаются при заказчике и не решаются.

  3. #ana_met_scrum3 / 5
    Что означает определение готовности (Definition of Done)?
    A)Критерии приёмки конкретной истории
    B)Список задач в спринте
    C)Согласие владельца продукта принять работу
    D)Общий для команды набор условий завершённости
    показать ответ и разбор
    +D)Общий для команды набор условий завершённости

    // разбор: Определение готовности едино для всех элементов: код прошёл ревью, тесты написаны и зелёные, документация обновлена, функция выкачена на стенд. Критерии приёмки, в отличие от него, свои у каждой истории и описывают конкретное поведение. Путаница приводит к «готово, но не работает у пользователя».

  4. #ana_met_scrum4 / 5
    Владелец продукта в середине спринта требует добавить срочную задачу. Что предусматривает Scrum?
    A)Задача добавляется, спринт продлевается
    B)Цель спринта в его ходе не меняют
    C)Задача добавляется без обсуждения объёма
    D)Скрам-мастер вправе отклонить просьбу
    показать ответ и разбор
    +B)Цель спринта в его ходе не меняют

    // разбор: Цель спринта защищена: именно она даёт команде возможность спокойно работать короткий отрезок. Объём внутри спринта уточняется по договорённости с командой, но подмена цели ломает смысл события. Если срочность действительно велика, честный вариант — отменить спринт и спланировать заново.

  5. #ana_met_scrum5 / 5
    Команда стабильно не завершает взятый объём. На какое событие это в первую очередь указывает?
    A)На ежедневный стендап
    B)На обзор спринта
    C)На планирование и оценку
    D)На груминг бэклога заказчиком
    показать ответ и разбор
    +C)На планирование и оценку

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

дальше

Теорию прочитали. Навык ставится повторением

В Сеньорчике эта подтема идёт в ежедневных сессиях: движок возвращает её, пока ответы не станут уверенными, и ведёт прогресс отдельно по каждой подтеме. Теория внутри тоже бесплатна, лимит только на количество вопросов в день.