Работа ScrumMaster’a в команде
Dmitry Lobasev, Nikita Filippov ScrumTrek
Роль ScrumMaster’a • Команда отвечает за процесс • Скрам-‐мастер отвечает за то, чтобы
команда научилась эффективно принимать решения сама
• Задачи: – Фасилитирует (модерирует) митинги – Поддерживает прозрачность, доверие и взаимную ответственность
– Устраняет внешние препятсвия – Коммуникационный лидер
Инструмент "Вопросы"
• Задавать вопросы, а не диктовать ответы • Снимает сопротивление участников • Ответственность за решение остается у команды
ПРОВЕДЕНИЕ DAILY SCRUM
Проведение Daily Scrum
• Начинать вовремя • Следить за длительностью митинга • Проводить каждый день • Собирать achon items – Кто – Что – Когда
Пример
• Один из членов команды (Петя) не приходит вовремя на скрам. Команда ради него передвинула встречу позже, но он все равно опаздывает.
• Как сделать так, чтобы Петя приходил вовремя на скрам?
Опоздания
• Символические штрафы (например, 50 рублей в пивной фонд)
• Шуточные штрафы (спеть, сплясать, рассказать анекдот)
Пример
• На ежедневном скраме один из участников (Вася) начинает выступать долго и обстоятельно. Именно из-‐за него скрамы затягиваются. Всем становится скучно.
• Как сделать так, чтобы скрам проходил быстрее?
Инструмент "Правила проведения"
• Ограничить время выступления 2 минутами (не более)
• Другие примеры ground rules – Говорит только тот, у кого в руках маркер – Все сторонние обсуждения выписываются на специальный лист
Общие рекомендации
• Команда следует правилам в том случае, если их придумала сама
• В любом случае, нужно получить согласие всех членов команды на следование правилам
Пример
• Команда согласилась с правилами проведения скрама
• Однако в реальной жизни команда, увлекаясь, часто забывает о них
• Что можно сделать?
Инструмент "Вывешивание"
• Можно вывесить в видном месте согласованные правила
• В этом случае кто либо из членов команды, как правило, вспоминает о правиле
УПРАВЛЕНИЕ КОНФЛИКТАМИ
Конфликт
• Тестировщик и разработчик давно конфликтуют друг с другом
• Тестировщик часто обращается к разработчику за помощью, отрывая его от работы
• Разработчику не нравятся постоянные отвлечения. Он вообще предпочел бы работать один
• Можно ли их помирить и как это сделать? Каковы стратегии примерения?
Методы решения конфликтов
• Сотрудничество • Уступка • Избегание • Компромис
Причины конфликтов
• Непонимание • Фокусирование на позиции • Разные ценности • Прошлые обиды
Непонимание
• Примеры – Различия в терминах – Детали в обсуждениях – Сложные логические выводы
• Стратегия – Ищем несоответствия
Фокусирование на позиции
• Причины – Стороны защищают свою позицию, а не пытаются решить проблему
• Стратегия – Какую проблему пытаемся решить?
Различия в ценностях
• Причины – Разное понимание что правильно и хорошо
• Стратегия – Обсуждаем сильные стороны вариантов решений
Прошлые обиды
• Причины – Личная неприязнь
• Стратегия – Трудно решить, если никто из конфликтующих не хочет идти на сближение
Персональный конфликт
• Он прав! – Принять то, что ваш собеседник прав за отправную точку
• Задавать вопросы – Уточняем позицию собеседника
• Добраться до корня противоречия – 5 Why – пять раз спросить «почему»
• Всегда оставаться в конструктивном русле
Выводы
• Конфликты – это нормально • Конфликты должны решаться конструктивно
• В принятие решений нужно вовлекать всех заинтересованных лиц
• Третья сторона должна быть по возможности беспристрастной
ПРОДАЖА ИДЕЙ
Пример
• Один из членов команды (Петя) опаздывает на скрам
• Вы считаете, что имеет смысл ввести штрафы за опоздание
• Продайте эту идею команде
«Продажа» Agile
AgileRussia.ru
Разговор (1)
• Нам нужно парное программирование (и это круто)
• Нет, не нужно (а ты гик)
AgileRussia.ru
Разговор (2)
• Какая проблема самая важная для вас? • У нас много багов в коде • Нам нужно парное программирование! • У нас нет времени
AgileRussia.ru
Разговор (3)
• А почему это проблема? • Ну мы не можем разработать достаточно быстро. Срываются сроки релиза. Заказчики жалуются.
• А парное программирование может помочь? • Не уверен • Может попробуем поработать так одну итерацию? • Хорошая идея!
AgileRussia.ru
Общий подход к «продаже»
• Выявление проблемы (потребности) • Предложить решение, обсудить его выгоды • Рассмотреть опасения • Установить безопасное окружение для пилотирования
• Общий Commit J
© ScrumTrek.ru, 2008
Выводы
• Внедрение новых практик должно идти пошагово
• После каждого внедрения мы анализируем результаты
• При "продаже" изменений заказчику или команде исходить из потребностей
© ScrumTrek.ru, 2008
КОЛЛЕКТИВНОЕ ПРИНЯТИЕ РЕШЕНИЙ
Пример
• Ваша команда способна принимать коллективные решения
• Проблема в том, что принятие совместного решения обычно затягивается (все тормозят)
• Как можно ускорить принятие решения?
Голосование большим пальцем
• Я поддерживаю решение
• Я соглашусь с мнением команды
• Я не согласен и у меня есть что возразить или • Что мы можем сделать, чтобы ты проголосовал за?
Planning Poker
• Даем оценку, одновременно вскрываемся
• У кого больше и у кого меньше обосновывают оценки
• Коллективно обсуждаем • Голосуем пока не сойдемся на одной оценке
ВНЕДРЕНИЕ ПРАКТИК
Внедрение практик
• Выбрать • Commit ;-‐) • Попробовать • Анализировать результаты • Изменить
• В режиме эксперимента!
ВОПРОСЫ?