Управление зависимостями между командами

44
Управление зависимостями между командами Асхат Уразбаев ScrumTrek

Upload: askhat-urazbaev

Post on 17-Jul-2015

440 views

Category:

Software


6 download

TRANSCRIPT

Page 1: Управление зависимостями между командами

Управление зависимостями

между командами

Асхат Уразбаев

ScrumTrek

Page 2: Управление зависимостями между командами

Асхат Уразбаев

• ScrumTrek

• Agile Coach

• Управляющий партнер

• В прошлом

• Программист, менеджер, архитектор процессов

Page 3: Управление зависимостями между командами

Содержание

• Планирование зависимостей

• Минимизация зависимостей

• Управление зависимостями между командами

Page 4: Управление зависимостями между командами

Lean is fast

• Быстро

• Минимум

– Дефектов

– переключения контекста

– Простоев

Page 5: Управление зависимостями между командами

Клиент и сервис

Продукт

Ценность User story, CR, Bug, FeatureНЕ Task!

СервисКлиент

Page 6: Управление зависимостями между командами

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

Page 7: Управление зависимостями между командами

Зависимости в требованиях

Команда А Команда B

Page 8: Управление зависимостями между командами

Impact Mapping/Feature Injection

Page 9: Управление зависимостями между командами

Impact Mapping/Feature Injection

Page 10: Управление зависимостями между командами

http://www.slideshare.net/sgreene/dependency-management-in-a-large-agile-environment-presentation

Page 11: Управление зависимостями между командами

Парные истории: Get From/Give To

• Клиент: GetFrom• Сервис: GiveTo• Указываете приемочные

критерии• Не используете внутри

команды!• Синхронизируете по

спринтам/датам

http://blog.ciber.com/2013/planning-and-managing-dependencies-and-risks-in-agile/

As a Systems Engineer, I want to get a performance report from Vendors A,B, and C, so that I can determine if their software’s UI response time will meet our .5 second threshold.

Page 12: Управление зависимостями между командами

Product Board

Business CaseIdeas Development Готово

C

A

B

Page 13: Управление зависимостями между командами

Backlog

• Общий баклог на продукт

• Пользовательские истории распределяются по командам

• Сквозная приоритезация

Page 14: Управление зависимостями между командами
Page 15: Управление зависимостями между командами

УПРАВЛЕНИЕ ЗАВИСИМОСТЯМИ МЕЖДУ КОМАНДАМИ

Page 16: Управление зависимостями между командами

Вы — PO команды А. Вам нужно запилить «фронтовую» фичу. Для этого команде Bнужно сделать «подготовительную» фичу.

Как вы спланируете работу?

A. Дождетесь результата команды B и потом начнете свою работу

B. Сначала сделаете свою работу, после чего стартует B

C. Спланируете одновременную работу в одном спринте

Page 17: Управление зависимостями между командами

• Проблемы с постановкой задачи

• Проблемы с приемкой результата

• Проблемы при изменении требований

REWORK

сервис

клиент

Интеграция

3 спринта

Page 18: Управление зависимостями между командами

• Проблемы с постановкой задачи

• Проблемы с приемкой результата

• Проблемы при изменении требований

REWORK

сервис

клиент

A&B

Интеграция

2 спринта

Page 19: Управление зависимостями между командами

• Обсуждаем дизайн совместно

• Заменяем зависимый компонент мок-объектом

• Обкладываем тестами• Предоставляем команде Б

тесты

• Плюсы

– Четкая постановка

– Простая приемка

сервис

клиент

A&B

Интеграция

2 спринта

Page 20: Управление зависимостями между командами

Scrum of Scrum• Представители команд• Вопросы

– Что сделала команда с прошлой встречи

– Что планирует сделать до следующей

– Что вас замедляет– Чем вы можете помешает

другим

• Обсуждение препятствий

https://www.scrumalliance.org/community/articles/2007/may/advice-on-conducting-the-scrum-of-scrums-meeting

Page 21: Управление зависимостями между командами

Доска интеграции

Page 22: Управление зависимостями между командами

В середине спринта из соседней команды приходят люди и отвлекают вас срочными задачами. Вы можете помочь, но тогда не успеете сделать свой скоуп.

Что вы выберете?

A. Поможете сразу же

B. Сдвинете в следующий спринт

Page 23: Управление зависимостями между командами

Почему происходят отвлечения?

Баги

Изменения требований

Непонимания при постановке задач

Page 24: Управление зависимостями между командами

сервис

клиент

Page 25: Управление зависимостями между командами
Page 26: Управление зависимостями между командами

сервис

клиент

Page 27: Управление зависимостями между командами

Запросы12

Поддержка2

Баги1

Всего 20

АналитикаОчередь Разработка Тестирование

5 9В прогрессе Готово В прогрессе Готово В прогрессе Готово

6

Помощь другим командам6

Page 28: Управление зависимостями между командами

Три подхода в Скраме

• Не считать вообще. Отвлечения снижают вашу Velocity

• Выделить «бюджет»

• Выделить дежурного

Page 29: Управление зависимостями между командами

Зрелость команды

Быстро В очередь Быстро

Page 30: Управление зависимостями между командами

Узкое горлышко

Type I

• Быстрая реакция

• Работа на пределе, переработки

• Некогда улучшать качество

Type II

• Долгие ожидания результата

• Длина очереди заявок со стороны других команд

Type III

• Долгая реализация (длинные релизы)

Page 31: Управление зависимостями между командами

4 “keystone habits” (by Ahmed Sidky)

1. Коммуникации и взаимопомощь

2. Поставлять эволюционными улучшениями

3. Интегрировать как можно раньше

4. Собирать обратную связь на всех уровнях как можно раньше

“Decentralized Control”

Page 32: Управление зависимостями между командами

сервис

клиент

Tiger Team

TIGER TEAM

Page 33: Управление зависимостями между командами

Tiger Team

• Временная команда

• Все нужные специалисты

• Фокус на общей работе

• Работают до результата

• Внутри 1 спринта

Page 34: Управление зависимостями между командами

Базовая политика (Policy)• Запрос на исправление

является задачей высокого приоритета

• Запрос исправляется совместно членами обеих команд за 1 спринт

• Запрос считается сделанным, если результат интегрирован (совместно), протестирован, баги исправлены и закрыты

Page 35: Управление зависимостями между командами
Page 36: Управление зависимостями между командами
Page 37: Управление зависимостями между командами

Вы — Agile Coach в

организации. Команда B

закомитила новую фичу и у

команды А «отъехал»

функционал.

С кем вы проведете

«воспитательную беседу»?

A. Команда А

B. Команда B

C. Совместно А и B

Page 38: Управление зависимостями между командами

«Самозащита»

• Команда должна «защитить» свой код тестами

Page 39: Управление зависимостями между командами

МИНИМИЗАЦИЯ ЗАВИСИМОСТЕЙ

Page 40: Управление зависимостями между командами
Page 41: Управление зависимостями между командами

Spotify

• Квартальное ревью

http://agilerussia.ru/practices/spotifyscaling/

Page 42: Управление зависимостями между командами

Клиент и сервис

Продукт

Ценность User story, CR, Bug, FeatureНЕ Task!

СервисКлиент

Page 43: Управление зависимостями между командами

КомандаКоманда

• Максимум зависимостей внутри

• Минимум снаружи

• (Feature Team)

Виртуальная команда

• Вокруг проблемы

• Регулярные встречи

• (Scrum of Scrum, Architecture Team )