Денис Тучин, Удачные и неудачные паттерны...
TRANSCRIPT
Удачные и неудачные паттерны распределённого AgileДенис ТучинAgile Coach
О докладчикеНезависимый Agile Coach
Scrum, XP, Lean/Kanban
В прошломС 2004 разработка коммерческого ПОС 2009 инженерные Agile практикиС 2011 Scrum Master / Dev LeadC 2014 Agile Coach
СодержаниеПередача изолированных User Story удалённой командеScrum of Remote ScrumsИндивидуальные User storiesФункционально распределённые командыScrum вопреки распределённости
Передача изолированных User
Story удалённой команде
SM
PODev
TeamDev
Team
Позитивное началоПервая итерация на стороне клиента
Команда открытая к новым практикам
Совместная работа по US
Быстро освоили новую технологию
SM
PO
Dev Team
Dev Team
Local SM
?
Изменение конфигурации с частичным изменением практик
Daily совместный, но командам не интересно слушать друг другаПланнинги отдельныеРетро отдельные
Scrum of Scrums
SMDev Team
Dev Team
SM
MSK SMR
DevSM
SM Dev Test
Scrum of Scrums DailyВысокоуровневый статус Интеграционные USПроблемы за рамками компетенций одной командыЛегко подключить дополнительно участника во время митинга (Skype/VCS)
Что было хорошоСовместный чат разработчиковГотовность почти всех разработчиков, аналитиков и тестировщиков с обеих сторон работать в формате тесных коммуникаций
Scrum of remote Scrums
Scrum of
Scrums
Java MonstersScrum
of Scrums
DevSMDev
Саратов
SM
Нижний Новгород
Dev
Dev
PO
DevSMDev
Саратов
SM
Нижний Новгород
Dev
Dev
PO
“Scrum of Scrums”Минимум коммуникаций – все же взрослые
“Scrum of Scrums”Минимум коммуникаций – все же взрослыеНе готовность US к интеграции
↔
“Scrum of Scrums”Минимум коммуникаций – все же взрослыеНе готовность US к интеграции
↔Поздно узнаём о сработавших рисках
“Scrum of Scrums”Минимум коммуникаций – все же взрослыеНе готовность US к интеграции
↔Поздно узнаём о сработавших рискахНеожиданности на демо
Индивидуальные пользовательские
истории
Похожая ситуацияКаждый варился в собственном сокуUS не готовы или не соответствуют ожиданиям Даже при совместных Daily, нет пространства для манёвра
Dev1Dev2
Dev3
Fundamentals
Как правильно готовить Scrum of Remote Scrums
Интегральный опыт
1. Доверительные отношения
Положительный опыт работы удалённоили/и
Встречи в живуюВизиты друг другу в офис на 1-2 неделиСовместный выезд поработать куда-тоСовместное посещение тренинга/мастер-класса
2. Scrum of Scrums Daily
2. Scrum of Scrums DailyЧто было/будет сделано командой
ВзаимодействиеИнтеграция
Проблемы (не зависимо от того, может ли команда справиться сама или нет)Может ли Ваша команда как-то помешать другим командам? (собрать на локальном Daily инфу)
3. Чат (≤ 20 человек)Рабочи
е вопрос
ы
Нефор-мальное общени
е
3. Чат (> 20 человек)#general – новости по проекту, отрасли, ДР, приколы и т.д.
Специализированные чаты (#dev, #testautomation, #ux)
Стихийные чаты по конкретным вопросам
4. РетроспективыСначала локальные
Потом глобальные состав по аналогии с Daily
1/мес. ретро top-ов (в случае работы с вендорами)
Функционально распределённые
команды
PM
Аналитика
Разработка
Тестирование
Минск
Харьков
DBA
Support
PM
AgileАналитик
а
AgileРазработ
ка
AgileТестировани
е
Минск
Харьков
AgileDBA
AgileSupport
Кейс
Аналитика
Разработка
1,5 месяца
Прилетает первая USНизкий приоритет
Делаем MAX быстро
Тестировщики заняты на другом стриме (проекте)
Нужно постоянно загружать людей
ТестированиеНачинают тестироватьUS слегка протухла:
Код написан поверхТребования поменялись
Разработчики заняты Must Have USУсиленный постинг баговРелиз фикса? – разработчики сами разберутся
Не злите программиста
Что делать?Снижать Cycle TimeНо тестеры заняты, мультизадачность это же плохоFeature TeamТестировщиков не хватаетНеравномерная нагрузка
A D T
A D T
A D T
1
1
A D T
A D T
1
1
A D T1
Что делать?
Кто виноват?
Вариативность!
Боремся с вариативностьюПомогаем тестированию
Unit TestsAuto UI Test
Помогаем разработке?Помогаем аналитике
Совместное формирование требований (USM)Тем самым помогаем разработке начать раньше и не зашиваться
Боремся с вариативностьюПомогаем тестированию
Unit TestsAuto UI Test
Помогаем разработке?Помогаем аналитике
Совместное формирование требований (USM)Тем самым помогаем разработке начать раньше и не зашиваться
Итоги по функциональной распределённости
Конкретные техники индивидуальныНужна верхне уровневая доска всего потокаЕсли на ней видна вариативность,искать способы по её снижению
Scrum вопреки распределённости
Scrum вопреки распределённости
Глубокое профессионально доверие между членами команды
100% участие в проектеисключение – фоновая административная деятельность
Как достичь профессионального доверия?
Хорошие знакомые (основатели стартапов)
Длительный позитивный опыт совместной работы
ИнструментыОбщий чат для рабочего и около рабочего общенияВстречи Scrum
Спец. инструменты каждой из типов встречVoice – Must Have, Video – Strongly Recommended!
Инструменты для удалённого парного программированияХотя бы изредка встречаться вживую
В одном городе: В неформальной обстановке всем вместеЗаезжать к друг другу в офис
В разных городах, то хотя бы на корпоративах и конференциях
Инструменты для распределённой работы
8 Helpful Online Tools To Keep Your Company On Track
6 Tools To Power Remote Work
Обзор инструментов для распределённых Agile ретроспектив
Что ещё посмотретьКорпоративная культура в распределенных командахUsing an Agile Software Process with Offshore Development100 ошибок применения ScrumРаспределённый Scrum:
Top 4 reasons you need scrum if you work with a remote team12 Best Practices for Distributed Development Teams Using Agile and Scrum Methodologies
Денис ТучинAgile Coach
facebook.com/denis.tuchin
linkedin.com/in/denistuchin
@denistuchin
slideshare.net/Kaitaku