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

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

  • Upload
    ontico

  • View
    9.170

  • Download
    3

Embed Size (px)

DESCRIPTION

 

Citation preview

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

Сентябрь 2011

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

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

О докладчике

2

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

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

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

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

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

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

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

4

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

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

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

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

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

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

5

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

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

ПОТОК

ЦЕННОСТИ

СИСТЕМА

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

Очереди

6

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

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

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

Пакеты

7

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

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

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

Потенциал

8

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

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

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

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

9

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

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

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

10

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

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

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

11

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

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

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

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

12

Define

Build Test

Dev Tester

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

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

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

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

13

история

история

D

B T

ИТЕРАЦИЯ

D

B T

D

B T

D

B T

D

B T

D

T

D

B T

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

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

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

DBT DBT DBT DBT

DBT DBT DBT DBT

DBT DBT DBT DBT

DBT DBT DBT DBT

DBT-команда –

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

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

15

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

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

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

16

История A

История B

История C

История D

История E

История F

История…

Пл

ани

ро

ван

ие

Фи

кси

ро

ван

ны

е р

есур

сы

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

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

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

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

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

18

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

Истории

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

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

#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 © Александр Якима

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

20

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

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

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

21

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

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

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

Авто-тесты

22

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

СЕГОДНЯ

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

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

23

СПРИНТ

день

РЕЛИЗ

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

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

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

24

Е

С

Л

И

О

Н

А

Е

С

Т

Ь

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

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

25

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

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

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

26

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

РАЗРАБОТКА

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

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

27

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

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

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

28

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

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

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

29

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

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

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

30

П-О Команда

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

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

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

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

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

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

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

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

31

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

Доверие

Доступность

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

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

Помощь П-О

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

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

32

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

PO Dev

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

Кроме этого…

33

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

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

Кроме этого…

34

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

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

Кроме этого…

35

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

Program Backlog

By Project

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

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

36

LEAN ТРЕБОВАНИЯ

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

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

37

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

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

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

Пример JIT в Agile

38

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

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

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

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

39

Фича

Эпос

История

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

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

40

1

2

3

4

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

Agile и Kanban

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

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

42

• Поддержка

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

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

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

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

СИСТЕМА

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

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

43

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

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

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

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

потока

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

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

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

44

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

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

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

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

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

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

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

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

БЕЗ…

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

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

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

ПОДХОДЫ К

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

46

проект

проект

инициат.

Бэк

ло

г Б

экл

ог

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

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

47

Opt-out engine

Admin systems

Consumer portal

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

Создает

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

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

48

Компонента 1

… …

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

Компонента N

Фичи

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

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

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

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

49

Opt-out engine

Admin systems

Consumer portal

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

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

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

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

Ценность

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

50

Компонента 1

… …

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

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

Компонента N

Фи

ча 2

Фи

ча 1

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

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

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

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

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

вокруг фич,

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

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

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

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

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

52

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

Коммитмент

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

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

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

|1

|1

|2

|2

|3

|3

|4

|4

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

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

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

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

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

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

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

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

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

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

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

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

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

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

59

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

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

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

60

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

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

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

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

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

61

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

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

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

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

• Коучинг

• …

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

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

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

?

? ?

?

? ?

?

?

Burn-Down Chart Релиза

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

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

64

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

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

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

65

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

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

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

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

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

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

Книги

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

Dean Leffingwell. Agile Software Requirements.

Craig Larman, Bas Vodde. Practices for Scaling Lean &

Agile Development.

Спасибо

67

[email protected]

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