Большинство людей воспринимают Agile как набор практик и инструментов, которыми можно просто взять и дополнить свой текущий процесс разработки. Тем самым, решить имеющиеся проблемы со сроками, с недовольством бизнеса, с качеством, с мотивацией и тп.
Те, кто уже пробовал так сделать, знают, что это не работает. Конечно, определенные улучшения процесса получаются, но проблемы все равно не уходят.
И более того, очень часто приходит понимание, что Agile/Scrum нам не подходит. У нас своя специфика, сложная предметная область, большой проект, крупная компания… продолжите этот список сами.
Причина неуспеха проста.
Происходит попытка использовать практики и инструменты гибкой разработки в текущей культуре компании, выстроенной вокруг менеджмента, контроля, стандартизации, регламентов и отчетности.
Там, где совсем нет места для гибкости в любом ее проявлении.
Поэтому авторы всех Agile подходов еще в 2001 году договорились о том, что Agile существует не как практики и инструменты, а как система принципов и ценностей, другой способ фокусировки нашего мышления. Тогда и появился манифест гибкой разработки с четырьмя базовыми ценностями и 12ю принципами.
Ок, все понятно — но как мне избежать проблем внедрения Agile подхода, о которых говорили выше, в моих проектах?
Какое-то время назад, поработав с десятками команд над улушением их процесса, я явно осознал одну вещь.
Существует еще один слой, между ценностями манифеста (Agile) и конкретными практиками и инструментами (например, Scrum). Этот слой — Навыки.
Я выделяю три ключевых навыка, на которых необходимо в первую очередь сосредоточиться во время внедрения Agile/Scrum и которые повысят вероятность успешного решения имеющихся проблем.
1. Научиться как можно раньше узнавать то, чего мы еще не знаем
Инструменты: короткие итерации, демо, непрерывное общение с заказчиком и тп
2. Научиться вовремя видеть, анализировать и решать возникающие проблемы
Инструменты: командная работа, ежедневные стендапы вокруг обсуждения задач, ретроспективы, 5Почему и тп
3. Научиться помогать бизнесу добиваться лучших из возможных результатов
Инструменты: совместное проектирование продукта на протяжении всего проекта, анализ целевой аудитории и ее проблем, быстрые поставки минимально возможного продукта и тп
Более подробно об этом я рассказывал на AgileDays’15, скоро будет доступно и видео выступления.
Эти 3 ключевых навыка как раз и являются необходимым связующим звеном между инструментами, которые вы начинаете применять во время внедрения Agile/Scrum, и ценностями гибкой разработки.
К которым вам нужно начать приближаться, чтобы имеющиеся проблемы начали решаться и люди понимали, чего от них хотят.
Как думаете?