Эффективные ретроспективы

Preview:

DESCRIPTION

В длительной перспективе ретроспективы – самая важная часть гибких процессов. Но очень часто у команд не получается запустить процесс непрерывного улучшения, либо через некоторое время этот процесс обрывается, когда команда думает, что все проблемы решены. Я расскажу не только теоритическую часть, которая позволит преодолеть эти проблемы, но и дам несколько десятков примеров конкретных практик, которые применяются на эффективных ретроспективах. Доклад рассчитан, как на начинающих ретроспективы, так и практиков гибких методологий.

Citation preview

Эффективные ретроспективы: процесс непрерывного улучшения

Вольфсон Борис

Технический директор

HeadHunter

Вольфсон Борис

«Совершенствоваться не обязательно.

Выживание – дело добровольное»

Э. Деминг

Содержание

• Теория

• Виды активностей на ретроспективах

– Открытие

– Сбор данных

– Проникновение в суть

– Принятие решение

– Закрытие

Что такое ретроспектива?

• Что такое ретроспектива?

• Вы проводите ретроспективы?

– Что обсуждаете?

– Помогает совершенствованию процессов?

– Как часто проводите?

– Сколько длится?

Определение

• Ретроспектива – процесс обсуждения работы с целью их улучшения результатов в будущем

Не хочешь пропустить со мной по пиву?

Не могу, я делаю список, в чем я могу усовершенствовать себя в следующем году

Не-плохая идея, сделаю тоже самое

Ничего.Совершенство достигнуто

Мда, вот это конструк-тивность.

Какая едкая зависть, тебе бы поработать над этим

Postmortem в водопадных процессах

POSTMORTEM

Типичные проблемы

Невозможность улучшить уже завершенный

проект

Низкая заинтересованность

участников

Формальность мероприятия

Agile-манифест разработки программного обеспечения

Kent BeckMike Beedle

Arie van BennekumAlistair Cockburn

Ward CunninghamMartin Fowler

James GrenningJim HighsmithAndrew HuntRon Jeffries

Jon KernBrian Marick

Robert C. MartinSteve Mellor

Ken SchwaberJeff SutherlandDave Thomas

Мы постоянно открываем для себя более совершенные методы разработки программного обеспечения, занимаясь разработкой непосредственно и помогая в этом другим. Благодаря проделанной работе мы смогли осознать, что:

1. Люди и взаимодействие важнее процессов и инструментов2. Работающий продукт важнее исчерпывающей документации3. Сотрудничество с заказчиком важнее согласования условий контракта4. Готовность к изменениям важнее следования первоначальному плану

То есть, не отрицая важности того, что справа, мы всё-таки больше ценим то, что слева.

Принципы Agile (1/2)

1. Наивысшим приоритетом для нас является удовлетворение потребностей заказчика, благодаря регулярной и ранней поставке ценного программного обеспечения.

2. Изменение требований приветствуется, даже на поздних стадиях разработки. Agile-процессы позволяют использовать изменения для обеспечения заказчику конкурентного преимущества.

3. Работающий продукт следует выпускать как можно чаще, с периодичностью от пары недель до пары месяцев.

4. На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе.

5. Над проектом должны работать мотивированные профессионалы. Чтобы работа была сделана, создайте условия, обеспечьте поддержку и полностью доверьтесь им.

6. Непосредственное общение является наиболее практичным и эффективным способом обмена информацией как с самой командой, так и внутри команды.

Принципы Agile (2/2)

7. Работающий продукт — основной показатель прогресса. 8. Инвесторы, разработчики и пользователи должны иметь

возможность поддерживать постоянный ритм бесконечно. Agile помогает наладить такой устойчивый процесс разработки.

9. Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта.

10. Простота — искусство минимизации лишней работы — крайне необходима.

11. Самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд.

12. Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.

Циклические ретроспективы

Ретроспектива в Scrum

Ретроспектива в Kanban

1. Визуализация потока

2. Ограничение кол-ва задач в работе

3. Управление потоком

4. Явные правила

5. Циклы обратной связи

6. Коллективные улучшения через эксперименты

Ретроспектива in the long run

Время

Эф

фек

тивн

ост

ь

Плато эффективности

Рост эффективности

•Быстрый рост

•Решение проблем и устранение боли

Плато эффективности

•Нет проблем

•Нет роста

Гиперэффективность

•Медленный ступенчатый рост

•Использование возможностей

•Эксперименты

Ретроспектива in the long run

Что обсуждать, если «проблем нет»

Скорость команды и ее

изменение

Нереализованные истории

пользователей

Дефекты и их причины

Качество процессов

Социальную атмосферу

Цикл Деминга-Шухарта

Plan

Do

Check

Act

A3 шаблон

Ретроспектива ретроспектив

Главное правило ретроспективы

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

каждый член команды сделал всё, чтобы добиться успеха

Звать ли начальника/заказчика?

Структура ретроспективы

Открытие – 5%

Сбор данных – 30%-50%

Проникновение в суть – 20%-30%

Принятие решение – 10%

Закрытие – 5%-10%

Длительность

• Обычно ретроспектива занимает от 30 минут до 4 часов и ее продолжительность зависит от следующих факторов:

– Длина спринта

– Размер команды

– Наличие проблем

Зачем взрослым играть?

Позитивность Вовлеченность

Креативность

Имитация улучшений

АКТИВНОСТИ ДЛЯ ОТКРЫТИЯ

Можно использовать айсбрекеры

Визуальный телефон

http://www.funretrospectives.com/visual-phone/

Оригинальное предложение Рисунок Восстановленное предложение

Пунктуальный Павел

http://www.funretrospectives.com/punctual-paulo/

ESVP: как проводить?

• Цели– Сфокусировать команду на ретроспективе– Понять отношение каждого члена команды к

ретроспективе

Каждый член команды определяет к какой роли на ретроспективе он себя относит:1. Explorer – исследователь2. Shopper – покупатель 3. Vacationers - отпускники4. Prisoner – узники

(с) Алексей Пикулев

ESVP

http://www.funretrospectives.com/esvp-explorer-shopper-vacationer-prisoner/

Check In: как проводить?

• Цели– Сфокусировать команду на ретроспективе– Услышать каждого члена команды

Каждый член команды отвечает одним или двумя словами на вопрос скрам-мастера:1. Опиши своё состояние одним словом?2. Какие твои ожидания от ретро?

Можно использовать и другие вопросы, например, с метафорами:«Какой машиной ты себя ощущаешь на ретро?»

Safety Check

http://www.funretrospectives.com/safety-check/

Happiness radar

http://www.funretrospectives.com/happiness-radar/

Happiness radar

http://www.funretrospectives.com/happiness-radar-3-ls-dot-voting/

АКТИВНОСТИ ДЛЯ СБОРА ДАННЫХ

Hot-air Balloon

http://www.funretrospectives.com/hot-air-balloon/

Speed Car

http://www.funretrospectives.com/speed-car/

Speedboat

© Mikhail Podurets

Worked well, kinda Worked, didn’t Work

http://www.funretrospectives.com/www-activity-worked-well-kinda-worked-didnt-work/

KALM – Keep, Add, More, Less

http://www.funretrospectives.com/kalm-keep-add-more-less/

Open the box

http://www.funretrospectives.com/open-the-box/

Open the box

http://www.funretrospectives.com/open-the-box/

Future direction, Lessons learned, Accomplishments and Problem areas

http://www.funretrospectives.com/flap-activity-future-direction-lessons-learned-accomplishments-and-problem-areas/

Starfish

http://www.funretrospectives.com/starfish/

Small starfish

http://www.funretrospectives.com/small-starfish/

Timeline

Timeline: цели

• Стимулировать воспоминания о прошедшем

• Создать «картинку» с нескольких перспектив

• Получить факты и/или ощущения участников

Как проводить

The story of a Story

Team Radar: цели

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

Team Radar: как проводить?

Lessons learned quadrants

http://www.funretrospectives.com/lessons-learned-quadrants-planning-vs-success/

Lessons learned quadrants

http://www.funretrospectives.com/lessons-learned-quadrants-planning-vs-success/

АКТИВНОСТИ ДЛЯ ПРОНИКНОВЕНИЯ В СУТЬ

Hot-air Balloon -> Bad Weather

http://www.funretrospectives.com/hot-air-balloon-bad-weather/

Speed Car – Abyss

http://www.funretrospectives.com/speed-car-abyss/

Brainstorming/Filtering

• Цель – сгенерировать большое кол-во идей

• Проводим мозговой штурм

– Free-for-all

– Round-robin

– С подготовкой

• Создаем фильтры для идей

• Пропускаем идея через фильтры

Value Stream Mapping

Value Stream Mapping

Пять «почему»

Why?!

Пять почему

• Цель – быстро понять глубинные причины

• Делимся на небольшие группы 2-4 человека

• По каждой проблеме спрашиваем пять раз «почему»

• По каждому уровню выбираем решение

Пять «почему»: пример

Симптом Действие

На сайте выдается сообщение об ошибке подключения к БД

• Проверить все ли в порядке с БД

В конфиге прописана тестовая БД

• Добавить в стандарт деплойментапроверку конфигов

• Проверять работоспособность сайта после выноса

• Сделать автоматические smoke-тесты

Разработчик забыл поменять конфиг при выносе

• Проинструктировать разработчиков по порядку выноса сайтов

Недостаточная внимательность

• Заменить ручную смену конфига на автоматическое определение окружения и выставления соответствующей БД

Root Cause Analysis

http://www.crisp.se/henrik.kniberg/cause-effect-diagrams.pdf

Дерево дефектов

Контрольные карты Шухарта

Диаграмма Исикавы

АКТИВНОСТИ ДЛЯ ПРИНЯТИЯ РЕШЕНИЙ

SMART

Буква Английский термин Русский термин

S Specific Точные и конкретные

M Measurable Измеримые

A Achievable Достижимые

R Relevant Релевантные

T Time bound/framed Цели со сроком

Plus Minus Voting

http://www.funretrospectives.com/plus-minus-voting/

Голосование точками

http://www.funretrospectives.com/dot-voting/

© Alex Troshin

АКТИВНОСТИ ДЛЯ ЗАКРЫТИЯ

Цветной фидбек

http://www.funretrospectives.com/qcon-quick-feedback-on-talks/

Learning Scale

http://www.funretrospectives.com/learning-scale/

Who-What-When

http://www.funretrospectives.com/the-who-what-when-steps-to-action/

Feedback and ROI

http://www.funretrospectives.com/feedback-and-roi/

+/Delta

Благодарности

• Цель – поблагодарить участников и закончить на позитивной ноте ретро

• Члены команды выбирают кого поблагодарить за что-то очень конкретное

• «Я хочу поблагодарить _________ за ___________»

ЗАВЕРШЕНИЕ

Структура ретроспективы

Открытие – 5%

Сбор данных – 30%-50%

Проникновение в суть – 20%-30%

Принятие решение – 10%

Закрытие – 5%-10%

Как испортить ретроспективу?

1. Не подготавливаться2. Не фокусироваться3. Не собирать данные4. Один или два человека доминируют на ретроспективе5. Фокусироваться на обстоятельствах вне возможностей

команды6. Откусывать больше, чем команда может прожевать7. Выбирать действия, для которых у команды

недостаточно энергии8. Держать план улучшений отдельно от беклога

Что почитать?

http://www.piter.com/collection/kariera-v-it-industrii/product/gibkoe-upravlenie-proektami-i-produktami

Что почитать в Интернете?

• http://agileretrospectivewiki.org/

• http://www.funretrospectives.com/

• http://blog.falkayn.com/2008/11/my-first-agile-retrospective.html

• http://www.estherderby.com/2010/06/eight-reasons-retrospectives-fail-and-what-you-can-do-about-them.html

Интересные презентации по ретроспективам

• Правила хорошей ретроспективы или ключ к непрерывным улучшениям -http://www.slideshare.net/VLDCORP/ss-29004309

• Первое правило распределенных самоорганизующихся систем -http://www.slideshare.net/tim.com.ua/agilebasecamp-15-2014

Генератор планов ретроспектив

www.plans-for-retrospectives.com

Retr-O-Mat contains 44 activities, allowing for 36867 combinations (9x8x8x8x8+3) and I'm

constantly adding more.

Recommended