Денис Тучин - Удачные и неудачные паттерны...

50
Удачные и неудачные паттерны распределѐнного Agile Денис Тучин Agile Coach

Transcript of Денис Тучин - Удачные и неудачные паттерны...

Удачные и неудачные

паттерны

распределѐнного Agile

Денис Тучин

Agile Coach

О докладчике Независимый Agile Coach

Scrum, XP, Lean/Kanban

В прошлом

С 2004 разработка коммерческого ПО

С 2009 инженерные Agile практики

С 2011 Scrum Master / Dev Lead

C 2014 Agile Coach

Содержание

Передача изолированных User Story удалѐнной команде

Scrum of Remote Scrums

Индивидуальные User stories

Функционально распределѐнные команды

Scrum вопреки распределѐнности

Передача изолированных

User Story удалѐнной

команде

SM

PO

Dev Team Dev Team

Позитивное начало

Первая итерация на стороне клиента

Команда открытая к новым практикам

Совместная работа по US

Быстро освоили новую технологию

SM

PO

Dev Team Dev Team

Local SM

?

Изменение конфигурации с

частичным изменением практик

Daily совместный, но командам не

интересно слушать друг друга

Планнинги отдельные

Ретро отдельные

Scrum of Scrums

SM Dev Team Dev Team SM

MSK SMR

Dev SM

SM Dev

Tes

t

Scrum of Scrums Daily

Высокоуровневый статус

Интеграционные US

Проблемы за рамками компетенций одной

команды

Легко подключить дополнительно участника

во время митинга (Skype/VCS)

Что было хорошо

Совместный чат

разработчиков

Готовность почти всех

разработчиков, аналитиков и

тестировщиков с обеих сторон

работать в формате тесных

коммуникаций

Scrum of remote Scrums

Java Monsters

Scrum of

Scrums

Dev SM

Dev

Саратов

SM

Нижний Новгород

Dev Dev PO

“Scrum of Scrums”

Минимум коммуникаций –

все же взрослые

Не готовность US к интеграции ↔ Поздно узнаѐм о сработавших рисках

Неожиданности на демо

Индивидуальные

пользовательские истории

Похожая ситуация

Каждый варился в

собственном соку

US не готовы или не

соответствуют ожиданиям

Даже при совместных

Daily, нет пространства

для манѐвра

Dev1

Dev2

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-ов

(в случае работы с вендорами)

Подробнее про Scrum of Scrums

https://goo.gl/XZBLRc

Функционально

распределѐнные команды

PM

Аналитика

Разработка

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

Минск

Харьков

DBA

Support

PM

Agile

Аналитика

Agile

Разработка

Agile

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

Минск

Харьков

Agile

DBA

Agile

Support

Кейс

Аналитика Разработка

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 T 1

Что делать?

Кто виноват?

Вариативность!

Боремся с вариативностью Помогаем тестированию

Unit Tests

Auto UI Test

Помогаем разработке?

Помогаем аналитике

Совместное формирование требований (USM)

Тем самым помогаем разработке начать раньше и не

зашиваться

Боремся с вариативностью Помогаем тестированию

Unit Tests

Auto 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 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

Денис Тучин

Agile Coach

[email protected]

facebook.com/denis.tuchin

linkedin.com/in/denistuchin

@denistuchin

slideshare.net/Kaitaku