Top Banner
Масштабирование Agile/Lean разработки в рамках программы Сентябрь 2011 Александр Якима Some of this presentation materials are property of Leffingwell, LLC © Александр Якима
67

Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Dec 05, 2014

Download

Documents

Ontico

 
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Масштабирование Agile/Lean разработки в рамках программы

Сентябрь 2011

Александр Якима

Some of this presentation materials are property of Leffingwell, LLC © Александр Якима

Page 2: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

О докладчике

2

Блог: www.yakyma.com Контакт: [email protected]

Александр Якима

© Александр Якима

Page 3: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Задача масштабирования:

Перенести эффективность agile-команды на десятки команд…

3 © Александр Якима

Page 4: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Обсуждение масштабирования

4

Командные практики, которые масштабируются

Распределенность, аутсорсинг, продакт-оунершип

Lean-требования. Agile и Kanban

Типы масштабирования, анти-паттерны, другие практики

© Александр Якима

Page 5: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Ключевые идеи Lean

5

Непрерывная оптимизация потока

Устранение затрат

ПОТОК

ЦЕННОСТИ

СИСТЕМА

© Александр Якима

Page 6: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Очереди

6

Большая очередь –

большая неопределенность

© Александр Якима

Page 7: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Пакеты

7

Большие пакеты…

«затыкают» систему

© Александр Якима

Page 8: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Потенциал

8

Децентрализация контроля…

Раскрывает потенциал системы

© Александр Якима

Page 9: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Работа в прогрессе

9

Быстрое прохождение сквозь систему

© Александр Якима

Page 10: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Непрерывное совершенствование

10

В системе всегда присутствует неэффективность

© Александр Якима

Page 11: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Обсуждение масштабирования

11

МАСШТАБИРУЕМЫЕ

КОМАНДНЫЕ ПРАКТИКИ

© Александр Якима

Page 12: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

#1. Define-Build-Test цикл

12

Define

Build Test

Dev Tester

PO …короткий …повторяемый

…несет ценность

© Александр Якима

Page 13: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Динамика Define-Build-Test

13

история

история

D

B T

ИТЕРАЦИЯ

D

B T

D

B T

D

B T

D

B T

D

T

D

B T

© Александр Якима

Page 14: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Гибкая программа

14 © Александр Якима

DBT DBT DBT DBT

DBT DBT DBT DBT

DBT DBT DBT DBT

DBT DBT DBT DBT

DBT-команда –

единица масштабирования

Page 15: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

#2. Короткие итерации

15

Итерация – сердцебиение гибкой разработки

© Александр Якима

Page 16: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Анатомия итерации

16

История A

История B

История C

История D

История E

История F

История…

Пл

ани

ро

ван

ие

Фи

кси

ро

ван

ны

е р

есур

сы

Фикс. промежуток (Итерация)

Some of this slide materials are property of Leffingwell, LLC © Александр Якима

Page 17: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

#3. Два уровня планирования и трэкинга

17 © Александр Якима

Page 18: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Паттерн релиза

18

Бэклог релиза

Истории

Таймбокс релиза

Some of this slide materials are property of Leffingwell, LLC © Александр Якима

Page 19: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

#4. Частые релизы

19

Команды: даты крайне важны

Стейкхолдеры: приоритеты крайне важны

Фиксируем качество, а не скоуп

10/1/2010 11/1/2010 12/1/2010 1/1/2011 2/1/2011 3/1/2011

Some of this slide materials are property of Leffingwell, LLC © Александр Якима

Page 20: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

#5. Конкурентное тестирование

20

ТЕСТИРУЕМ ПАРАЛЛЕЛЬНО РАЗРАБОТКЕ

© Александр Якима

Page 21: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Остерегайтесь…

21

тестирования автоматизированного тестирования нефункционального тестирования …

Выделенных команд:

© Александр Якима

Page 22: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Авто-тесты

22

НАЧИНАЙТЕ АВТОМАТИЗИРОВАТЬ ТЕСТЫ

СЕГОДНЯ

δ δ δ δ δ © Александр Якима

Page 23: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

#6. Непрерывная интеграция

23

СПРИНТ

день

РЕЛИЗ

КЛЮЧЕВОЙ МОЛНИЕНОСНЫЙ

ФИДБЕК © Александр Якима

Page 24: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Интеграционная команда

24

Е

С

Л

И

О

Н

А

Е

С

Т

Ь

– ОНА ДОЛЖНА ИСЧЕЗНУТЬ

Page 25: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

#7. Регулярная рефлексия и адаптация

25

Без этого Agile не работает

© Александр Якима

Page 26: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Обсуждение масштабирования

26

РАСПРЕДЕЛЕННАЯ

РАЗРАБОТКА

© Александр Якима

Page 27: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Простая закономерность:

27

Больше «расстояние» - больше размер пакетов

© Александр Якима

Page 28: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Наихудшая ситуация

28

Разрыв DBT-команды

© Александр Якима

Page 29: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Нормальная ситуация

29

Разрыв программы

© Александр Якима

Page 30: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Удаленный П-О

30

П-О Команда

• Нет взаимного доверия

• DBT-цикл == Итерации

• Команда неграмотна в бизнес-области

Ненадежная доставка

Не строится экспертиза

Демотивиро-ванность

© Александр Якима

Page 31: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Решение: «Прокси П-О»

31

П-О Команда «Прокси»

Доверие

Доступность

Быстрый фидбек

Развитие экспертизы

Помощь П-О

© Александр Якима

Page 32: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

«Прокси» – не посредник!

32

П-О Команда «Прокси»

PO Dev

© Александр Якима

Page 33: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Кроме этого…

33

Часто обменивайтесь визитами…

© Александр Якима

Page 34: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Кроме этого…

34

Максимально воспроизводите общение лицом к лицу

© Александр Якима

Page 35: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Кроме этого…

35

Используйте централизованную версию реального статуса

Program Backlog

By Project

Some of this slide materials are property of Leffingwell, LLC © Александр Якима

Page 36: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Обсуждение масштабирования

36

LEAN ТРЕБОВАНИЯ

© Александр Якима

Page 37: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Степень определенности

37

В Lean работа с требованиями производится Just-In-Time (JIT)

Удобная метафора «Контейнер»

© Александр Якима

Page 38: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Пример JIT в Agile

38

ЭПИЗОД ИТЕРАЦИЯ ROADMAP,

РЕЛИЗ ПОРТФОЛИО

© Александр Якима

Page 39: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

В качестве «Контейнера»…

39

Фича

Эпос

История

© Александр Якима

Page 40: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Принципиальный скилл:

40

1

2

3

4

© Александр Якима

Page 41: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Agile и Kanban

41 © Александр Якима

Page 42: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Когда применять Kanban?

42

• Поддержка

• Недисциплинированность П-О

• Неспособность работать в Скрам-модели

• Искусственно усложненный процесс

• Разрыв DBT-команд

СИСТЕМА

© Александр Якима

Page 43: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Масштабируемые практики

43

• Частые релизы

• Ограничение работы в прогрессе

• Два уровня планирования

• Непрерывная оптимизация

потока

• Совместное улучшение

© Александр Якима

Page 44: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Предостережение

44

• Гибких практик

• Дисциплины работы с

требованиями

• Продакт-Оунершипа

• Фасилитации процесса

• Представления о ско-

рости разработки

Использование Канбан опасно

БЕЗ…

© Александр Якима

Page 45: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Обсуждение масштабирования

45 МАСШТАБИРОВАНИЮ

ПОДХОДЫ К

© Александр Якима

Page 46: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

46

проект

проект

инициат.

Бэк

ло

г Б

экл

ог

Agile – принципиальный переход

© Александр Якима

Page 47: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

47

Opt-out engine

Admin systems

Consumer portal

Компонентная команда

Создает

Часть Ценности

© Александр Якима

Page 48: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

48

Компонента 1

… …

Компонентная команда 1

Компонента N

Фичи

Программа компонентных команд

Компонентная команда N

ЛЕГКО СТАРТОВАТЬ МНОГО ЗАВИСИМОСТЕЙ

© Александр Якима

Page 49: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

49

Opt-out engine

Admin systems

Consumer portal

Область требований

User management: User profiles, Authentication, Basic preferences, Mailing lists, …

Команда вокруг фич

Создает Пользовательскую

Ценность

© Александр Якима

Page 50: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

50

Компонента 1

… …

Фичевая команда 1

Фичевая команда N

Компонента N

Фи

ча 2

Фи

ча 1

Программа на основе фич

НАДЕЖНОСТЬ ПРОГРАММЫ

СЛОЖНЕЕ ОРГАНИЗОВАТЬ

© Александр Якима

Page 51: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Создаем команды

вокруг фич,

где это возможно, в остальных случаях –

компонентные

Конечная цель…

51 © Александр Якима

Page 52: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Планирование релиза

52

«Коллоцированная» сессия, в которой участвуют все

Коммитмент

Представление планов

Команды планируют

Представление видения

|1

|1

|2

|2

|3

|3

|4

|4

Some of this slide materials are property of Leffingwell, LLC © Александр Якима

Page 53: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Релизные цели

53 Some of this slide materials are property of Leffingwell, LLC © Александр Якима

Page 54: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Планирование релиза

54 © Александр Якима

Page 55: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Планирование релиза

55 © Александр Якима

Page 56: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Планирование релиза

56 © Александр Якима

Page 57: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Планирование релиза

57 © Александр Якима

Page 58: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Планирование релиза

58 © Александр Якима

Page 59: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Трэкинг релиза: SoS

59

Синхронизация между командами.

Some of this slide materials are property of Leffingwell, LLC © Александр Якима

Page 60: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Трэкинг релиза: Mesh Network

60

Альтернативный способ синхронизации…

Хорошо сочетаем с CoP

Более неформальный, ad-hoc, on-demand

© Александр Якима

Page 61: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Сообщества по практикам

61

• Архитектура

• Тестирование

• Автоматизация

• Проксирование П-О

• Коучинг

• …

© Александр Якима

Page 62: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Прогресс по целям

62 Some of this slide materials are property of Leffingwell, LLC © Александр Якима

?

? ?

?

? ?

?

?

Page 63: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Burn-Down Chart Релиза

63 Some of this slide materials are property of Leffingwell, LLC © Александр Якима

Page 64: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Статус фич в релизе

64

20% 40% 60% 0% 80% 100%

Some of this slide materials are property of Leffingwell, LLC © Александр Якима

Page 65: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Первые шаги в масштабировании

65

КОНФИГУРАЦИЯ ПРОГРАММЫ

ОБУЧЕНИЕ КОМАНД

П-О и СМ СООБЩЕСТВА

ОСВОЕНИЕ ИТЕРАЦИИ, CI, …

СОВМЕСТНОЕ ПЛАНИРОВАНИЕ РЕЛИЗА

© Александр Якима

Page 66: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Книги

66 © Александр Якима

Dean Leffingwell. Agile Software Requirements.

Craig Larman, Bas Vodde. Practices for Scaling Lean &

Agile Development.

Page 67: Масштабирование Agile/Lean разработки в рамках программы (Александр Якима)

Спасибо

67

[email protected]

© Александр Якима