Хотим мы этого или нет, но часто приходится работать с удалёнными командами, а иногда и с полностью распределёнными, когда все участники сидят в разных местах. На докладе разберём какие есть паттерны организации взаимодействия распределённых Agile команд, какие из них работают лучше, какие хуже и почему, а также посмотрим, что можно изменить, чтобы получился всё же Agile. Рассмотрим такие паттерны как: передача изолированных User Story удалённой командеИндивидуальные User stories Scrum of remote Scrums Функциональные распределённые команды Scrum in spite of distributed team
2. О докладчике
Независимый Agile Coach
Scrum, XP, Lean/Kanban
В прошлом
С 2004 разработка коммерческого ПО
С 2009 инженерные Agile практики
С 2011 Scrum Master / Dev Lead
C 2014 Agile Coach
3. Содержание
Передача изолированных User Story
удалённой команде
Scrum of Remote Scrums
Индивидуальные User stories
Функционально распределённые команды
Scrum вопреки распределённости
9. Изменение конфигурации с
частичным изменением практик
Daily совместный, но командам не
интересно слушать друг друга
Планнинги отдельные
Ретро отдельные
11. Scrum of Scrums Daily
Высокоуровневый статус
Интеграционные US
Проблемы за рамками компетенций одной
команды
Легко подключить дополнительно участника
во время митинга (Skype/VCS)
12. Что было хорошо
Совместный чат
разработчиков
Готовность почти всех
разработчиков, аналитиков и
тестировщиков с обеих сторон
работать в формате тесных
коммуникаций
25. Похожая ситуация
Каждый варился в
собственном соку
US не готовы или не
соответствуют
ожиданиям
Даже при совместных
Daily, нет пространства
для манёвра
Dev1
Dev2
Dev3
Fundamentals
28. 1. Доверительные отношения
Положительный опыт работы удалённо
или/и
Встречи в живую
Визиты друг другу в офис на 1-2 недели
Совместный выезд поработать куда-то
Совместное посещение тренинга/мастер-класса
30. 2. Scrum of Scrums Daily
Что было/будет сделано командой
Взаимодействие
Интеграция
Проблемы (не зависимо от того, может ли
команда справиться сама или нет)
Может ли Ваша команда как-то помешать другим
командам? (собрать на локальном Daily инфу)
39. Прилетает первая US
Низкий приоритет
Делаем MAX быстро
Тестировщики заняты на другом стриме
(проекте)
Нужно постоянно загружать людей
40. Тестирование
Начинают тестировать
US слегка протухла:
Код написан поверх
Требования поменялись
Разработчики заняты Must Have US
Усиленный постинг багов
Релиз фикса? – разработчики сами разберутся
47. Боремся с вариативностью
Помогаем тестированию
Unit Tests
Auto UI Test
Помогаем разработке?
Помогаем аналитике
Совместное формирование требований (USM)
Тем самым помогаем разработке начать раньше и не
зашиваться
48. Боремся с вариативностью
Помогаем тестированию
Unit Tests
Auto UI Test
Помогаем разработке?
Помогаем аналитике
Совместное формирование требований (USM)
Тем самым помогаем разработке начать раньше
и не зашиваться
52. Scrum вопреки распределённости
Глубокое профессионально доверие между
членами команды
100% участие в проекте
исключение –
фоновая административная деятельность
54. Инструменты
Общий чат для рабочего и около рабочего общения
Встречи Scrum
Спец. инструменты каждой из типов встреч
Voice – Must Have, Video – Strongly Recommended!
Инструменты для удалённого парного программирования
Хотя бы изредка встречаться вживую
В одном городе:
В неформальной обстановке всем вместе
Заезжать к друг другу в офис
В разных городах, то хотя бы на корпоративах и конференциях
55. Инструменты для
распределённой работы
8 Helpful Online Tools To Keep Your Company
On Track
6 Tools To Power Remote Work
Обзор инструментов для распределённых
Agile ретроспектив
56. Что ещё посмотреть
Корпоративная культура в распределенных командах
Using an Agile Software Process with Offshore Development
100 ошибок применения Scrum
Распределённый Scrum:
Top 4 reasons you need scrum if you work with a remote team
12 Best Practices for Distributed Development Teams Using Agile
and Scrum Methodologies