#SECONRU
Как добавить работе по Agile
предсказуемости,
не потеряв гибкость
Цветцих Денис
Руководитель проектов в компании OneSystems
ПЕНЗА
Кто я
• Меня зовут Денис и я руковожу проектами уже 4 года
• Опыт как в аутсорсинге, так и в продуктовой разработке
• Опыт работы и по тяжелым методологиям, и по Agile
2
В нашей компании некоторое время назад
• 1 заказчик
• 3 команды
• Scrum по евангелию
• Один филиал в Новосибирском академе
• ПМ вообще не было
3
Со временем
• Нас стало много (более 15 команд)
• Стало много заказчиков
• Появились ПМ
• Филиалы Челябинске, Питере и Новосибирске в городе
• Специализированные команды с отдельными бэклогами
• Команды не кроссфункциональные (QA отдельно от Dev)
4
Особенности
Кровавый Enterprise (рынок страхования)
Мы разрабатываем продукт
Но продукт дорабатывается для каждого кастомера
Перед кастомерами есть обязательства по задачам и срокам
Ежемесячные релизы
5
Специализированные команды
6
Dev 1 Dev 2
Dev 3
Dev 4
Core Public API
Личный
кабинет
Прямые
продажи
Офис 1 Офис 2 Офис 3
QA
Мы хотим
• Сократить время выхода задач, затрагивающих все проекты
• Водопад с четким ТЗ – однозначно сделать не то
• Писать ТЗ на 100 страниц – не попасть ни в какие сроки
• Укладываться в дедлайны для задач
7
Нам нужно масштабирование Agile!
8
О чем поговорим
Каким бывает масштабирование Agile
• Scrum of Scrums
• Nexus
• LeSS
• SAFe
С чего начать и какие будут трудности
9
Опрос
• Кто ничего не знает о масштабировании Agile?
• Кто слышал, но не применял?
• У кого есть опыт применения?
10
Scrum of Scrums
Митинг скрам-мастеров
Как часто проводить, не регламентируется (как правило каждый день)
Что обсуждать – тоже не регламентируется, но как правило:
• Что сделали с прошлого собрания
• Какие проблемы (в том числе во взаимодействии команд)
• Что сделаем к следующему собранию
11
Это круто, когда:
• Общий бэклог на все команды
• Команды взаимозаменяемы
12
Не описывается
Одновременный ли старт спринтов в разных командах?
Как часто проводить Scrum of Scrums?
Каким составом его проводить?
Какие вопросы обсуждать?
Кроссфункциональные команды или нет?
13
Итого
Самое простое, что можно сделать
Слишком гибко 
14
Nexus
15
Nexus
3-9 команд
Один Product Owner
Общий бэклог
Одинаковая длина спринтов
Общий интегрированный инкремент
16
Nexus Integration Team
Nexus Integration Team (NIT) – команда, ответственная за
• Успешную интеграцию всех сделанных инкрементов
• Решение вопросов взаимодействия команд
В нее входят представители команд
17
Nexus Sprint Planning
• NIT разбивает бэклог на задачи до размера, когда одна команда может
закончить задачу за один спринт
• Выявляются и визуализируются зависимости между задачами
• Формируется roadmap: что и какой командой будет сделано в каком
спринте
• Команды более подробно анализируют свои задачи
18
Nexus Daily Scrum
Аналог Daily Scrum для NIT
• Что было успешно интегрировано до сегодняшнего Daily Scrum?
• Какие новые зависимости обнаружили?
• Какую информацию нужно распространить среди команд сегодня?
19
Nexus Retrospective
• NIT определяет проблемы, затронувшие более одной команды
• В командах проводится ретро с учетом общих проблем
• Формируется общее видение как отслеживать сформулированные пункты
20
Итого
Тоже классно, когда:
• Команды взаимозаменяемы
• Общий бэклог
Плохо работает, когда:
• Разные бэклоги
• Команды не заменяемые
• Минимизация зависимостей не работает
21
Large-Scale Scrum (LeSS)
22
Large-Scale Scrum (LeSS)
Отличия от Nexus:
• Планируют инкремент не представители, а команды целиком
Достоинства:
• Есть ресурс с описанием практик
• Есть инфраструктура в виде тренеров и консультантов
23
Bизуализировать зависимости в спринте
24
Blocked
Team 1
Team 2
ToDo In Progress Done
Минимизировать зависимости до спринта
25
Текущий
спринт
Team 1
Team 2
Спринт + 1 Спринт + 2
Scaled Agile Framework (SAFe)
26
Scaled Agile Framework (SAFe)
Преимущества:
• Сокращение Time To Market на 30-50%
• Багов меньше на 50%
• 20-50% рост продуктивности
• Более счастливые сотрудники
27
Особенности
• 5-12 Agile команд (50-150 человек)
• Команды могут работать по Scrum или Kanban
• Но нужно работать двухнедельными итерациями
• Итерации всех команд выравниваются
• Общий бэклог
28
Координация
Роль Release Train Engineer, отвечающий за общий результат
Команда из RTE, Product Manager, System Architect
Еженедельные встречи
29
Самое интересное
• Релизный цикл (Agile Release Train) – 5 итераций
• В течение цикла возможны промежуточные релизы
• Общий Product Increment (PI)
• PI Planning – планирование PI всеми командами в полном составе!
30
PI Panning
31
Ключевой момент– связи между задачами
32
Кроссфункциональные команды
Dev + QA = Profit
Иначе команды могут держать друг - друга
33
Техдолг
Обычно – неприятно, но терпимо
SAFe – препятствие к достижению целей
Enabler – специальная задача для техдолга
Enabler планируется совместно с новыми фичами
Последний спринт ART – прототипы, хакатоны и исследования
Надоело продавать техдолг своему ProductOwner – внедряйте SAFe 
34
Внедрение
35
Воспитать своих аналитиков
Наш ART – месяц (2 итерации по 2 недели)
На момент старта ART - требования на 2 итерации вперед
При анализе фичи прописывается, она нужна:
• в каких продуктах
• для каких кастомеров
По возможности – уже указаны зависимости между задачами
36
Унифицировать оценки
• Оценка в одинаковых попугаях
• Заложены одинаковые вещи
• Code Review добавили
• Reverse Integration, Developer testing – убрали
• Одинаково трекаются часы
• Подобная декомпозиция типовых задач
• Добавление поля в программу
37
Унификация мониторинга работы
Все команды работают по скраму
Одинаково настроены доски
Одинаково стартуют/закрываются спринты
38
Синхронизовать спринты
Выгоды:
• Если на каком-то проекте понадобится помощь, мы точно знаем, когда к
нему может подключиться новая команда
• Есть команда поддержки которая меняется. Нет проблем сделать замену
39
Кроссфункциональные команды
Core и API: Dev + QA = Profit
Devops – вне команд
Аналитики – вне команд
40
Поддержка в Task tracker
У нас – Jira
• Task и Subtask – в течение спринта
• User Story – в течение ART
• Epic – в течение нескольких ART
• Enabler – отдельный Issue Type от Task
41
Выводы
• Внедрение SAFe, как и внедрение PMO – это сложно
• Изменение структуры компании
• Быть или не быть QA отделу
• Составление регламентов
42
Главное
Внедряйте изменения осознанно! Понимайте, чего хотите добиться
Будет сопротивление, но 5 раз объяснил – сам понял 
43
Результат
До «перестройки»:
• Любые фичи – от 3 месяцев. Как правило – больше 
После перестройки:
• Мелкие фичи – месяц во всех продуктах
• Большие фичи – 2 месяца во всех продуктах
44
Планы
Перейти на ART по 3 месяца через год
• Укладывать в 3 месяца доработку под кастомера
• Синхронизировать работу Dev и Sales
45
Январь Февраль Март Апрель Май Июнь
Команда 1 Штат А Штат В
Команда 2 Программа X Программа Y
Что почитать/посмотреть
Документация по SAFe
http://www.scaledagileframework.com/
Ролики
SAFe overview: краткий обзор https://www.youtube.com/watch?v=NOcYhwarLkM
SAFe Portfolio & Value stream https://www.youtube.com/watch?v=1Kv9-qiYFQM
SAFe Agile Release Train execution https://www.youtube.com/watch?v=utDIdiQdoqU
SAFe Практика внедрения на реальных проектах https://www.youtube.com/watch?v=G1ZPndN8dto&t
46
Цветцих Денис
Руководитель проектов в компании OneSystems
den.tsvettsih@yandex.ru
+7 923 272 32 48
47

SECON'2017, Цветцих Денис, Как добавить работе по Agile предсказуемости, не потеряв гибкость

  • 1.
    #SECONRU Как добавить работепо Agile предсказуемости, не потеряв гибкость Цветцих Денис Руководитель проектов в компании OneSystems ПЕНЗА
  • 2.
    Кто я • Менязовут Денис и я руковожу проектами уже 4 года • Опыт как в аутсорсинге, так и в продуктовой разработке • Опыт работы и по тяжелым методологиям, и по Agile 2
  • 3.
    В нашей компаниинекоторое время назад • 1 заказчик • 3 команды • Scrum по евангелию • Один филиал в Новосибирском академе • ПМ вообще не было 3
  • 4.
    Со временем • Насстало много (более 15 команд) • Стало много заказчиков • Появились ПМ • Филиалы Челябинске, Питере и Новосибирске в городе • Специализированные команды с отдельными бэклогами • Команды не кроссфункциональные (QA отдельно от Dev) 4
  • 5.
    Особенности Кровавый Enterprise (рынокстрахования) Мы разрабатываем продукт Но продукт дорабатывается для каждого кастомера Перед кастомерами есть обязательства по задачам и срокам Ежемесячные релизы 5
  • 6.
    Специализированные команды 6 Dev 1Dev 2 Dev 3 Dev 4 Core Public API Личный кабинет Прямые продажи Офис 1 Офис 2 Офис 3 QA
  • 7.
    Мы хотим • Сократитьвремя выхода задач, затрагивающих все проекты • Водопад с четким ТЗ – однозначно сделать не то • Писать ТЗ на 100 страниц – не попасть ни в какие сроки • Укладываться в дедлайны для задач 7
  • 8.
  • 9.
    О чем поговорим Какимбывает масштабирование Agile • Scrum of Scrums • Nexus • LeSS • SAFe С чего начать и какие будут трудности 9
  • 10.
    Опрос • Кто ничегоне знает о масштабировании Agile? • Кто слышал, но не применял? • У кого есть опыт применения? 10
  • 11.
    Scrum of Scrums Митингскрам-мастеров Как часто проводить, не регламентируется (как правило каждый день) Что обсуждать – тоже не регламентируется, но как правило: • Что сделали с прошлого собрания • Какие проблемы (в том числе во взаимодействии команд) • Что сделаем к следующему собранию 11
  • 12.
    Это круто, когда: •Общий бэклог на все команды • Команды взаимозаменяемы 12
  • 13.
    Не описывается Одновременный листарт спринтов в разных командах? Как часто проводить Scrum of Scrums? Каким составом его проводить? Какие вопросы обсуждать? Кроссфункциональные команды или нет? 13
  • 14.
    Итого Самое простое, чтоможно сделать Слишком гибко  14
  • 15.
  • 16.
    Nexus 3-9 команд Один ProductOwner Общий бэклог Одинаковая длина спринтов Общий интегрированный инкремент 16
  • 17.
    Nexus Integration Team NexusIntegration Team (NIT) – команда, ответственная за • Успешную интеграцию всех сделанных инкрементов • Решение вопросов взаимодействия команд В нее входят представители команд 17
  • 18.
    Nexus Sprint Planning •NIT разбивает бэклог на задачи до размера, когда одна команда может закончить задачу за один спринт • Выявляются и визуализируются зависимости между задачами • Формируется roadmap: что и какой командой будет сделано в каком спринте • Команды более подробно анализируют свои задачи 18
  • 19.
    Nexus Daily Scrum АналогDaily Scrum для NIT • Что было успешно интегрировано до сегодняшнего Daily Scrum? • Какие новые зависимости обнаружили? • Какую информацию нужно распространить среди команд сегодня? 19
  • 20.
    Nexus Retrospective • NITопределяет проблемы, затронувшие более одной команды • В командах проводится ретро с учетом общих проблем • Формируется общее видение как отслеживать сформулированные пункты 20
  • 21.
    Итого Тоже классно, когда: •Команды взаимозаменяемы • Общий бэклог Плохо работает, когда: • Разные бэклоги • Команды не заменяемые • Минимизация зависимостей не работает 21
  • 22.
  • 23.
    Large-Scale Scrum (LeSS) Отличияот Nexus: • Планируют инкремент не представители, а команды целиком Достоинства: • Есть ресурс с описанием практик • Есть инфраструктура в виде тренеров и консультантов 23
  • 24.
    Bизуализировать зависимости вспринте 24 Blocked Team 1 Team 2 ToDo In Progress Done
  • 25.
    Минимизировать зависимости доспринта 25 Текущий спринт Team 1 Team 2 Спринт + 1 Спринт + 2
  • 26.
  • 27.
    Scaled Agile Framework(SAFe) Преимущества: • Сокращение Time To Market на 30-50% • Багов меньше на 50% • 20-50% рост продуктивности • Более счастливые сотрудники 27
  • 28.
    Особенности • 5-12 Agileкоманд (50-150 человек) • Команды могут работать по Scrum или Kanban • Но нужно работать двухнедельными итерациями • Итерации всех команд выравниваются • Общий бэклог 28
  • 29.
    Координация Роль Release TrainEngineer, отвечающий за общий результат Команда из RTE, Product Manager, System Architect Еженедельные встречи 29
  • 30.
    Самое интересное • Релизныйцикл (Agile Release Train) – 5 итераций • В течение цикла возможны промежуточные релизы • Общий Product Increment (PI) • PI Planning – планирование PI всеми командами в полном составе! 30
  • 31.
  • 32.
    Ключевой момент– связимежду задачами 32
  • 33.
    Кроссфункциональные команды Dev +QA = Profit Иначе команды могут держать друг - друга 33
  • 34.
    Техдолг Обычно – неприятно,но терпимо SAFe – препятствие к достижению целей Enabler – специальная задача для техдолга Enabler планируется совместно с новыми фичами Последний спринт ART – прототипы, хакатоны и исследования Надоело продавать техдолг своему ProductOwner – внедряйте SAFe  34
  • 35.
  • 36.
    Воспитать своих аналитиков НашART – месяц (2 итерации по 2 недели) На момент старта ART - требования на 2 итерации вперед При анализе фичи прописывается, она нужна: • в каких продуктах • для каких кастомеров По возможности – уже указаны зависимости между задачами 36
  • 37.
    Унифицировать оценки • Оценкав одинаковых попугаях • Заложены одинаковые вещи • Code Review добавили • Reverse Integration, Developer testing – убрали • Одинаково трекаются часы • Подобная декомпозиция типовых задач • Добавление поля в программу 37
  • 38.
    Унификация мониторинга работы Всекоманды работают по скраму Одинаково настроены доски Одинаково стартуют/закрываются спринты 38
  • 39.
    Синхронизовать спринты Выгоды: • Еслина каком-то проекте понадобится помощь, мы точно знаем, когда к нему может подключиться новая команда • Есть команда поддержки которая меняется. Нет проблем сделать замену 39
  • 40.
    Кроссфункциональные команды Core иAPI: Dev + QA = Profit Devops – вне команд Аналитики – вне команд 40
  • 41.
    Поддержка в Tasktracker У нас – Jira • Task и Subtask – в течение спринта • User Story – в течение ART • Epic – в течение нескольких ART • Enabler – отдельный Issue Type от Task 41
  • 42.
    Выводы • Внедрение SAFe,как и внедрение PMO – это сложно • Изменение структуры компании • Быть или не быть QA отделу • Составление регламентов 42
  • 43.
    Главное Внедряйте изменения осознанно!Понимайте, чего хотите добиться Будет сопротивление, но 5 раз объяснил – сам понял  43
  • 44.
    Результат До «перестройки»: • Любыефичи – от 3 месяцев. Как правило – больше  После перестройки: • Мелкие фичи – месяц во всех продуктах • Большие фичи – 2 месяца во всех продуктах 44
  • 45.
    Планы Перейти на ARTпо 3 месяца через год • Укладывать в 3 месяца доработку под кастомера • Синхронизировать работу Dev и Sales 45 Январь Февраль Март Апрель Май Июнь Команда 1 Штат А Штат В Команда 2 Программа X Программа Y
  • 46.
    Что почитать/посмотреть Документация поSAFe http://www.scaledagileframework.com/ Ролики SAFe overview: краткий обзор https://www.youtube.com/watch?v=NOcYhwarLkM SAFe Portfolio & Value stream https://www.youtube.com/watch?v=1Kv9-qiYFQM SAFe Agile Release Train execution https://www.youtube.com/watch?v=utDIdiQdoqU SAFe Практика внедрения на реальных проектах https://www.youtube.com/watch?v=G1ZPndN8dto&t 46
  • 47.
    Цветцих Денис Руководитель проектовв компании OneSystems den.tsvettsih@yandex.ru +7 923 272 32 48 47

Editor's Notes

  • #8 Водопад вообще не катит, предметная область сложная и написать ТЗ и потом пилить его несколько месяце в подводной лодке – однозначно сделать что-то не то. Да и все требования сразу заказчик выдать не сможет, часто требования несколько раз прорабатываются и уточняются
  • #12 Нужно ли одной команде подхватить задачи другой команды Держит ли одна команда другую команду
  • #17 Автор – Кен Швабер, работал над первыми версиями Scrum https://habrahabr.ru/company/nixsolutions/blog/306070/
  • #30 Выделенная команда называется русским словом Troika
  • #31 Release Train Ingineer - отвечает за общий результат Еженедельные совещания Scrum Master и RTE
  • #33 Планирование так, чтобы задачи уплотнялись
  • #35 Техдолг – что сделать в этом ART чтобы следующий прошел лучше Из 5 итераций планируется 4. Последняя итерация – для хакатонов, экспериментов и обкатки идей
  • #37 Как в Nexus не нужно проставлять какая команде делает какую задачу, бэклоги разные
  • #46 Отодвинуть горизонт планирования на 3 месяца