Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
Паттерны масштабирования 
разработки ПО 
Асхат Уразбаев 
Agile Coach 
ScrumTrek
Асхат Уразбаев 
• ScrumTrek 
• Agile Coach 
• Управляющий партнер 
• В прошлом 
• Программист, менеджер, 
архитектор проце...
BoДsоs-о-олго! 
Front End 
Back End 
Testers 
Architect 
OPS 
6 ppl 
8 ppl 
4 ppl
С точки зрения заказчика 
Фичи Разработчики 
Продукт
Внимание, черный ящик 
Разработчики 
специализированы по… 
• Ролям 
• Знанию технологий 
• Знанию бизнес домена 
• Знанию ...
Backlog (список фич) 
Продукт
Почему может быть долго? 
Продукт 
Очередь здесь 
Ждет начала 
работы 
Очередь здесь 
С начала работы до 
окончания
Закон Литтла 
• Среднее время ожидания = размер 
очереди / скорость обслуживания 
• Lead Time = WIP / Average Completion R...
Почему WIP большой?
1. Бизнес «упихивает задачи» 
Продукт 
Входной поток 
больше выходного 
Здесь жизни нет
2. Узкое место (bottleneck) 
Несбалансированная 
команда 
Продукт
2. Узкое место (bottleneck) 
Продукт 
Вариации 
в баклоге
3. Дефекты 
Продукт
Дефекты 
Идея 
анализ 
проектирование 
разработка 
тестирование 
релиз
Стоимость исправления 
дефектов
4.Изменение требований 
Время цикла < период полураспада 
требований
5. Большие фичи 
Продукт 
Время реализации растет 
Появляются узкие места
Паттерн «Кроссфункциональная 
команда» 
• Взаимопомощь 
• Взаимозаменямост 
ь 
• Ранняя интеграция 
• Быстрое 
исправление...
Scrum и Kanban 
• Таймбокс • WIP Limit 
Очередь Разработка Тест Готово 
3 2 
Готово
Разбиение работ на 
Пользовательские Истории 
Интеграция с онлайн-банком 
Свободный платеж 
Оплата мобильного телефона 
Оп...
Spotify.com 
http://agilerussia.ru/practices/spotifyscaling/
• s
BoДsоs-о-олго! 
Front End 
Back End 
Testers 
Architect 
OPS 
6 ppl 
8 ppl 
4 ppl
Boss 
Architect 
Отстойно! 
Я больше не 
могу 
контролировать 
ВСЕ! 
Feature Team 1 Feature Team 2 Feature Team 3
Boss 
Architect 
Feature Team 1 Feature Team 2 Feature Team 3
Паттерн «Виртуальная 
команда» 
• Из разных команд 
• Регулярно собираются вокруг общей 
проблемы 
– Архитектура, инфрастр...
Spotify 
http://agilerussia.ru/practices/spotifyscaling/
Service Team, Functional 
Teams 
• Service Team 
– Помогает другим командам 
– Не несет прямой ценности пользователю 
– За...
Flow 
Design 
Web 
WinPhone iOS Android 
Core Lib 
Backend 
Video Encoding 
Testing
Работа над одной фичей 
разными командами
Технологический стек Feature 
Team 
Android 
iOS 
C++ 
Obj C 
Video 
Java 
JavaScript 
HTML/CSS 
Ruby/Pyth 
on
Feature Team 
• Большой размер 
• Проблемы с 
взаимопомощью 
• Изолированные 
работы 
• Проблемы с поставкой 
• Бессмыслен...
Flow Design 
Web 
WinPhone iOS Android 
Core Lib 
Backend 
Video Encoding 
Testing 
Узкое место
Проблема 
производительности 
Бутылочное 
горлышко 
Capacity 
problem 
Rework 
problem
Паттерн #X. Устранение узких 
мест 
~throughput
Паттерн #X. Устранение узких 
мест
Теория ограничений 
• Identify. Определить ограничение 
• Exploit. Использовать по максимуму 
• Subordinate. Подчинить раб...
Identify 
Type I 
• Быстрая реакция 
• Работа на 
пределе, 
переработки 
• Некогда улучшать 
качество 
Type II 
• Долгие о...
Exploit 
• Передать все 
работы, которые 
возможно, другим 
командам 
• Освободить от 
лишних митингов, 
добавить PM для 
...
Subordinate 
• Уменьшить планы до возможностей 
команды-бутылочного горлышка
Elevate 
• Нанимать по мере возможности
Rework
Rework problem
Design 
Web 
WinPhone iOS Android 
Core Lib 
Backend 
Video Encoding 
Testing 
Где узкое место?
Паттерн «Интеграционная 
команда» 
• Кросс- 
функциональная 
команда 
• Там где rework 
максимальный 
• Супер-спецы 
Разме...
Структура баклога 
Team 1 
Team 2 
Team 3 
Интеграционные 
фичи ~ 30% 
баклога
Узкое место может 
измениться 
• Фича может затронуть 
любое количество 
команд 
• «Путь» фичи через 
команды может быть 
...
Портфельная доска
Releases и Portfolio Kanban 
• Короткие релизы • WIP Limit 
Очередь Business Case Development Готово 
Готово 
Список 
фич ...
Tiger Team 
• Временная 
• Команда 
формируется вокруг 
таска 
• Небольшая 
• Сложнее 
балансировать 
• Проще набрать 
Fea...
4 keystone habits (by Ahmed 
Sidky) 
1. Коммуникации и 
взаимопомощь 
2. Поставлять 
эволюционными 
улучшениями 
3. Интегр...
Пример: совместная 
интеграция
Специальные роли 
• Subject Matter Expert 
– Консультант 
– Присоединяется где нужен 
• System Owner 
– Отвечает за качест...
Summary 
• Functional Team 
• Feature Team 
• Tiger Team 
• Service Team 
• Virtual Team 
• SME 
• System Owner 
Очередь Р...
Askhat 
Urazbaev 
askhat@scrumtrek.r 
u 
askhat.urazbaev 
@zibsun 
askhatu
Практики масштабирования гибкой разработки
Практики масштабирования гибкой разработки
Практики масштабирования гибкой разработки
Prochain SlideShare
Chargement dans…5
×

Практики масштабирования гибкой разработки

1 797 vues

Publié le

Бизнес требует от ИТ постоянно ускорять обороты. Сроки выхода на рынок постоянно сокращаются.
Применение гибких методологий в небольшой команде позволяет значительно уменьшить Time-to-Market.
Однако в крупной компании прямое использование Agile/Scrum затруднено: даже простое на первые взгляд изменение бизнес процесса может затрагивать несколько систем, за которые отвечают разные команды. Выпуск релиза приходится координировать с большим количеством заинтересованных лиц. Это сильно замедляет и проектирование и финальное интеграционное тестирование. В результате добиться снижения Time-to-Market кажется очень непростой задачей, осложненной к тому же непростой политической ситуацией, типичной для крупной организации.
Мы поговорим о системном подходе к снижению Time-to-Market для сложных задач координации релиза, характерных для крупных организаций

Publié dans : Logiciels

Практики масштабирования гибкой разработки

  1. 1. Паттерны масштабирования разработки ПО Асхат Уразбаев Agile Coach ScrumTrek
  2. 2. Асхат Уразбаев • ScrumTrek • Agile Coach • Управляющий партнер • В прошлом • Программист, менеджер, архитектор процессов
  3. 3. BoДsоs-о-олго! Front End Back End Testers Architect OPS 6 ppl 8 ppl 4 ppl
  4. 4. С точки зрения заказчика Фичи Разработчики Продукт
  5. 5. Внимание, черный ящик Разработчики специализированы по… • Ролям • Знанию технологий • Знанию бизнес домена • Знанию компонентов Идея анализ проектирование разработка тестирование релиз Разработчики
  6. 6. Backlog (список фич) Продукт
  7. 7. Почему может быть долго? Продукт Очередь здесь Ждет начала работы Очередь здесь С начала работы до окончания
  8. 8. Закон Литтла • Среднее время ожидания = размер очереди / скорость обслуживания • Lead Time = WIP / Average Completion Rate 200 человек / 20 чел в час = 10 часов
  9. 9. Почему WIP большой?
  10. 10. 1. Бизнес «упихивает задачи» Продукт Входной поток больше выходного Здесь жизни нет
  11. 11. 2. Узкое место (bottleneck) Несбалансированная команда Продукт
  12. 12. 2. Узкое место (bottleneck) Продукт Вариации в баклоге
  13. 13. 3. Дефекты Продукт
  14. 14. Дефекты Идея анализ проектирование разработка тестирование релиз
  15. 15. Стоимость исправления дефектов
  16. 16. 4.Изменение требований Время цикла < период полураспада требований
  17. 17. 5. Большие фичи Продукт Время реализации растет Появляются узкие места
  18. 18. Паттерн «Кроссфункциональная команда» • Взаимопомощь • Взаимозаменямост ь • Ранняя интеграция • Быстрое исправление дефектов • Минимум бюрократии Размер: 7±2
  19. 19. Scrum и Kanban • Таймбокс • WIP Limit Очередь Разработка Тест Готово 3 2 Готово
  20. 20. Разбиение работ на Пользовательские Истории Интеграция с онлайн-банком Свободный платеж Оплата мобильного телефона Оплата ЖКХ База данных Server Side Front end
  21. 21. Spotify.com http://agilerussia.ru/practices/spotifyscaling/
  22. 22. • s
  23. 23. BoДsоs-о-олго! Front End Back End Testers Architect OPS 6 ppl 8 ppl 4 ppl
  24. 24. Boss Architect Отстойно! Я больше не могу контролировать ВСЕ! Feature Team 1 Feature Team 2 Feature Team 3
  25. 25. Boss Architect Feature Team 1 Feature Team 2 Feature Team 3
  26. 26. Паттерн «Виртуальная команда» • Из разных команд • Регулярно собираются вокруг общей проблемы – Архитектура, инфраструктура, тестирование, …
  27. 27. Spotify http://agilerussia.ru/practices/spotifyscaling/
  28. 28. Service Team, Functional Teams • Service Team – Помогает другим командам – Не несет прямой ценности пользователю – Заказчики — другие команды • Functional Team – Команда специалистов сходной компетенции
  29. 29. Flow Design Web WinPhone iOS Android Core Lib Backend Video Encoding Testing
  30. 30. Работа над одной фичей разными командами
  31. 31. Технологический стек Feature Team Android iOS C++ Obj C Video Java JavaScript HTML/CSS Ruby/Pyth on
  32. 32. Feature Team • Большой размер • Проблемы с взаимопомощью • Изолированные работы • Проблемы с поставкой • Бессмысленность стендапов
  33. 33. Flow Design Web WinPhone iOS Android Core Lib Backend Video Encoding Testing Узкое место
  34. 34. Проблема производительности Бутылочное горлышко Capacity problem Rework problem
  35. 35. Паттерн #X. Устранение узких мест ~throughput
  36. 36. Паттерн #X. Устранение узких мест
  37. 37. Теория ограничений • Identify. Определить ограничение • Exploit. Использовать по максимуму • Subordinate. Подчинить работу ограничению • Elevate. Расширить ограничение по максимуму
  38. 38. Identify Type I • Быстрая реакция • Работа на пределе, переработки • Некогда улучшать качество Type II • Долгие ожидания результата • Длина очереди заявок со стороны других команд Type III • Долгая реализация
  39. 39. Exploit • Передать все работы, которые возможно, другим командам • Освободить от лишних митингов, добавить PM для административной работы
  40. 40. Subordinate • Уменьшить планы до возможностей команды-бутылочного горлышка
  41. 41. Elevate • Нанимать по мере возможности
  42. 42. Rework
  43. 43. Rework problem
  44. 44. Design Web WinPhone iOS Android Core Lib Backend Video Encoding Testing Где узкое место?
  45. 45. Паттерн «Интеграционная команда» • Кросс- функциональная команда • Там где rework максимальный • Супер-спецы Размер: 7±2
  46. 46. Структура баклога Team 1 Team 2 Team 3 Интеграционные фичи ~ 30% баклога
  47. 47. Узкое место может измениться • Фича может затронуть любое количество команд • «Путь» фичи через команды может быть различным • Количество фич разного типа меняется
  48. 48. Портфельная доска
  49. 49. Releases и Portfolio Kanban • Короткие релизы • WIP Limit Очередь Business Case Development Готово Готово Список фич Релиз
  50. 50. Tiger Team • Временная • Команда формируется вокруг таска • Небольшая • Сложнее балансировать • Проще набрать Feature Team • Постоянная • Таски выдаем команде • Крупная • Проще балансировать нагрузку • Сложнее набрать
  51. 51. 4 keystone habits (by Ahmed Sidky) 1. Коммуникации и взаимопомощь 2. Поставлять эволюционными улучшениями 3. Интегрировать как можно раньше 4. Собирать обратную связь на всех уровнях как можно раньше
  52. 52. Пример: совместная интеграция
  53. 53. Специальные роли • Subject Matter Expert – Консультант – Присоединяется где нужен • System Owner – Отвечает за качество и целостность компонента
  54. 54. Summary • Functional Team • Feature Team • Tiger Team • Service Team • Virtual Team • SME • System Owner Очередь Разработка Интеграция Готово В работе Готово Очередь Разработка Ревью Готово 3 2 Готово Концепт Доска задач продукта Очередь Разработка Ревью Готово 3 2 Готово Очередь Разработка Ревью Готово 3 2 Готово Доски команд
  55. 55. Askhat Urazbaev askhat@scrumtrek.r u askhat.urazbaev @zibsun askhatu

×