Блог Scrum.ru

Как убить очереди и ускорить команду при помощи моббинга

Команда Разработки в Скраме самоорганизующаяся и кросс-функциональная, и поставляет к концу каждого Спринта “готовый” к выпуску инкремент продукта. Команда сама определяет, как ей организовать работу в Спринте:
По результатам Планирования Спринта Скрам-команда решает: каким будет Инкремент в конце Спринта; как организовать работу, чтобы получить готовый Инкремент Продукта (Скрам Гайд, 2017).
Есть полезные современные практики организации работы команды в Спринте, которые вы можете взять на вооружение. И одна из них “моббинг” или “моб-программирование”.

Разработка в стиле “моббинг” или “моб-программирование”

Википедия определяет моббинг как “форму психологического насилия в виде травли сотрудника”, а вот определение “моб-программирования” от автора подхода Вуди Зила:
“замечательные люди, работающие вместе над одной задачей в один момент времени в одном месте за одним компьютером.”
По сути, моббинг — стиль работы, когда команда постоянно работает вместе и вместе “набрасывается” на любые задачи.
В моббинге есть две основные роли: драйвер и навигатор. Навигатор дает инструкции, а задача драйвера не думать, а исполнять указания навигатора. Если навигатор не знает, что делать дальше, то запрашивает помощь у моба — остальных участников команды, которые наблюдают за происходящим на экране проектора и всегда в контексте. Каждый “N” минут роли меняются и команда двигается по часовой стрелке.

Почему моббинг работает

Моббинг — высокоскоростная разработка. Как так может быть, если команда работает за одним компьютером и «ничего не делает»? Давайте посмотрим еще раз, как обычно организовывают работу узкие специалисты:
Они создают островки локальных оптимизаций, в которых возникают очереди. Создается иллюзия того, что, команда эффективна, зато все заняты. На самом деле, большую часть времени работа простаивает в очередях, а участники команды занимаются “проталкиванием” своей работы.
Моббинг намеренно “недоутилизирует” команду. Все занимаются только одной задачей, значит, нет передач и потерь. Неудивительно, что Cycle Time сильно сокращается, потому что остается лишь одна очередь на входе.

Неочевидные плюсы моббинга

У моббинга есть много других плюсов. Перечислю некоторые из них:

  • Один из лучших способов передачи знаний внутри команды.
  • Не нужно проводить код ревью.
  • Повышается доверие, команда вынуждена научиться договариваться и выслушивать различные точки зрения, приходить к консенсусу.
  • Нет переключения контекста.
  • Нет передач и потерь.
  • Нет конфликтов на уровне кода внутри команды.
  • Нет вынужденных задержек на любой вопрос в команде.
  • Общее владение кодом.
  • Ведет к усилению кросс-функциональности и гибкости команды.
  • Высокое качество, за происходящим наблюдает все.
  • С помощью моббинга можно не только программировать, а заниматься любой интеллектуальной работой.
  • Команде, работающей в моббинге не нужен Канбан, потому что очереди уничтожены, а моббинг — стиль разработки в стиле one-piece flow.

Наш опыт в моббинге

Пару месяцев тому назад мы использовали моббинг для создания сайта AgiliX.ru Никто не верит, что для создания MMP(Minimum Marketable Product) и выхода в продуктив нам понадобилось полдня. И это правда.
Также мы успешно применяли моббинг как формат обучения для Community of Practice (CoP) и стараемся использовать моббинг, собираясь раз в неделю перед экраном проектора где-нибудь в коворкинге. Добавлю, что для того, чтобы попробовать работать в моб-программировании, не обязательно иметь проектор и выделять переговорку. Можно стартовать на рабочем месте команды, поставив рядом два монитора.

Как часто следует работать в моббинге?

Некоторые команды работают фултайм. Другие посвящают отдельные дни или часы. Тем не менее, многие эксперты, с которыми я разговаривал, считают, что команда набирает скорость и ощущает все плюсы моб-программирования, поработав в нем полноценно не менее месяца. Знаю, что все фиче-команды, которые запустил Крэйг Ларман (автор LeSS) за последний год, начали свою работу именно с месяца моббинга. Как вы думаете, смогут ли тогда участники команды помогать друг другу после подобного старта? ))

Основные мысли статьи

  • Моббинг — полезная практика, которую можно использовать в Скраме.
  • Моббинг убивает очереди и повышает скорость разработки.
  • У моббинга есть много других неочевидных плюсов.
  • В моббинге не обязательно программировать, можно выполнять любую интеллектуальную работу.
  • Команда сама выбирает время, которое она посвятит моб-программированию.
  • Стартовать можно с малого — прямо на рабочем месте команды, поставим рядом два монитора.

Полезные ссылки

Scrum Инженерные практики Илья