Skip to content

Latest commit

 

History

History
153 lines (134 loc) · 14.2 KB

SCRUM.md

File metadata and controls

153 lines (134 loc) · 14.2 KB

НАЗАД к СОДЕРЖАНИЮ


SCRUM (eng - схватка)

  • набор инструментов для ускоренной разработки. Это каркас, состоящий из множества типовых шаблонов (библиотек), которые можно доработать
  • исполнитель не тратит время на создание элементарных вещей
  • исполнитель сосредотачивается на уникальных задачах

Пример спринта:

  • Делим весь проект на спринты (небольшие отрезки времени: 1–3 недели);
  • Ставим цель в конце каждого спринта; (создаем бэклог)
  • На первый спринт цель – сделать единую авторизацию и настроить синхронизацию между всеми устройствами пользователя; (инкремент спринта)
  • В течение спринта команда работает только над этим;
  • Спринт за спринтом – достигли цель всего проекта.

Алгоритм создания продука по SCRUM:

  1. Заказчик изучает требования потенциальных клиентов
  2. Заказчик составляет ТЗ
  3. Команда разработчиков выделяет самые важные задачи ТЗ
  4. Бэклог на первый и последующие спринты
  5. Ежедневно - выбор задач на день

Элементы Scrum:

  • ценности
    • сфокусированность (Focus) - фокусировка на определенной целе на спринте в рамках проекта
    • открытость (Openess) - общение с заказчиком, общение в команде, новые идеи и лучшие практики приветствуются
    • смелость (Courage) - готовность признания ошибок, признания в нужде в помощи
    • приверженность (Commitment) - ответственность за свои слова, приверженность установленным требованиям
    • уважение (Respect) - к заказчику и внутри команды
  • роли
  • артефакты (элементы)
  • практики (ритуалы, процессы)

Принципы Scrum:
✔ Работа короткими циклами (спринтами)
✔ Гибкость
✔ Пользователи и заказчик участвуют в разработке
✔ Взаимодействие команды

SCRUM-команда:

  • обычно состоит из 5-9 человек (редко 3-4)

  • не может быть больше, потому что усложняется взаимодействие

  • 3 основные роли в команде:

    1. владелец продукта (Product owner) - центр принятия решений, должен быть в одном лице
      • формирует ТЗ, видение продукта, составление бизнес-плана
      • определяет план развития, коэффициент окупаемости вложений
      • сортирует по приоритету список требований
      • управляет ожиданиями заказчиков и стейкхолдеров
      • координирует и приоритезирует бэклог
      • предоставляет команде понятные и тестируемые требования
      • взаимодействует с командой проекта и заказчиком
      • принимает и оценивает результаты работы в конце каждого спринта
    2. команда разработчиков (Delivery Team) (внутри команды - должен быть TeamLead)
      • отвечают за техническую реализацию продукта
      • постановка реально достижимых, интересных, значимых целей на спринт
      • достижение целей в рамках дедлайна спринта (инкремента)

    Необходимые навыки в команде:

    • умение планировать
    • объективно оценивать выполненную работу
    • умение взаимодействовать с другими членами команды
    1. SCRUM-мастер/коуч/тренер - менеджер, а не авторитарный управленец, != менеджер проекта, он не должен ставить задачи команде, она должна самоорганизовываться
      • совместно с владельцем продукта разрабатывает бек-лог продукта
      • контролирует соблюдение SCRUM-методологии
      • обсуждает с командой очередной спринт
      • подводит итоги в конце каждого спринта
      • контролирует инициативность и самостоятельность всех членов команды
      • налаживает атмосферу в коллективе
      • обозначает проблемы и открытые вопросы
      • учавствует во всех встречах
      • поддерживает работоспособность команды на высоком уровне
      • устраняет проблемы
      • следит за следованием намеченному графику работ p.s. Не является обособленым лицом, также учавствует в разработке, координирует действия команды

Принципы работы SCRUM-команды:

  1. Постоянное самосовершенствование - совершенствование продукта, доведение его до идеального состояния невозможно без самосовершенствования каждого члена команды.
  2. Автономность -
    все члены команды должны уметь работать не только в команде, но и выполнять какие-то работы автономно, индивидуально.
  3. Кросс-функциональность -
    любая команда самодостаточна, т.к. в нее входят специалисты с разными навыками и опытом. Можно развиваться и перенимать навыки своих коллег

Как устроена работа SCRUM-команды:

  1. Планирование списка задач спринта /берем определенную задачу из бэклога продукта в бэклог спринта
    • в распределении задач учавствует вся команда, а не только скрам-мастер или владелец продукта
    • на планировании определяется ожидаемый результат спринта, объем работ и реальные сроки
  2. Проведение регулярных совещаний /stend-up или Daily Scrum Meeting//проходит около скрам-доски или в совещательной комнате
    • 10-15 минут
    • учавствуют все члены команды (разработчики + владелец продукта + скрам-мастер)
    • Цель - каждый член команды отвечает на 3 вопроса:
      1. Что сделано с момента прошлой встречи? (за 1 день)
      2. Какие планы на сегодня?
      3. Есть ли препятствия к достижению цели? //проблемы
    • Скрам-мастер выявляет проблемы и помогает команде их решить
  3. Организация скрам-доски колонки:
  • To Do (что нужно сделать) - бэклог спринта
  • In Progress (что в работе)
  • Done (что сделано)
  1. Изменение планов в ходе итерации
  • если один из членов команды не успевает решить проблему - сообщает об этом владельцу продукта, а тот, в свою очередь, либо перераспредеяет задачи, либо оптимизирует рабочее время
  • при очень быстрой работе - допущена ошибка в сроках выполнения работы. Владелец продукта дополняет бэклог спринта новыми задачами, чтобы ускорить сроки реализации продукта
  1. Аварийная остановка спринта Abnormal Termination
  • бывает только в исключительно редких случаях
    • в случае, когда цели в рамках спринта по какой-то причине становятся не достижимы
    • в случае, когда отпадает смысл реализации целей спринта
    • по результатам остановки - либо изменяются технические требования к разработке, либо решаются проблемы
  1. Подведение итогов спринта //Sprint review meeting
  • после окончания спринта команда тестирует выполненную часть продукта
  • в тестировании также принимают участие потенциальные потребители (фокус-группа)
  • владелец продукта собирает обратную связь
  • формирует бэклог очередного спринта
  1. Проведение ретроспективы спринта //анализ движения по бэклогу продукта, а не только спринта
  • предназначено для обзора завершенных этапов
  • команда записывает результаты, обсуждает нюансы спринта и сопутствующих процессов
  • основная задача - обратить внимание на успехи и неудачи спринта
  • извлекаются уроки
  • не акцентируем внимание на ошибках = не ищем виноватого, а используем ценный опыт из прошлого спринта. Важно отметить, что можно сделать лучше в дальнейшем

Преимущества SCRUM:
✔ Работа короткими этапами – спринты
✔ Команда работает над разными задачами проекта одновременно
✔ Большие задачи разделяют на мелкие – легко внести корректировки
✔ Сокращается время на поиск ошибок и объяснение проблем
✔ Минимизация финансовых рисков благодаря оперативной реакции на изменения и ошибки
✔ Каждый член команды четко знает свою задачу
✔ Открытый обмен информацией
✔ Поддержание высокого уровня мотивации в команде благодаря ежедневной видимости достижений

Недостатки SCRUM:
✖ Успех проекта во многом зависит от Scrum-мастера
✖ Далеко не всегда можно адаптировать Scrum под сферу деятельности – есть проекты, требующие исключительно планового подхода в работе
✖ Требуется регулярная коммуникации с заказчиком
✖ Сложность внедрения в масштабных и сложных проектах ✖ Scrum больше подходит для малых и средних проектов и опытных специалистов

Epic (эпик) – одна из нескольких глобальных функций продукта. В эпике могут содержаться User Story, например, пакет пожеланий одного пользователя или список задач (Task) для реализации Эпика.

Sprint Goal (спринт гоол) – цель спринта.

Sprint Planning Meeting (спринт плэнин митин) – планирование Sprint, скрам-собрание, где участвует Scrum Team. Выбираются задания из Бэклога, которые возможно выполнить за спринт.

Story Points (стори поинтc) – единица оценки сложности выполнения задачи.

Velocity – скорость команды; для аналитики строится график Velocity, где по оси Х кол-во спринтов, а по оси Y Story Points.На основе этих показателей выстраиваются средние Velocity и Story Points.

Аспекты Scrum для дальнейшего изучения: https://habr.com/ru/articles/464861/