Ценности и принципы
Что это такое
Четыре ценности Agile сформулированы как предпочтения, а не как абсолюты: люди и взаимодействие важнее процессов и инструментов, работающая программа важнее исчерпывающей документации, сотрудничество с заказчиком важнее согласования условий контракта, а готовность к изменениям важнее следования первоначальному плану. Правые пункты не бесполезны, но в конфликте с левыми они стоят меньше.
Почему это важно
Прочитанные как абсолюты, эти ценности порождают анархию: никаких документов, никакого плана, никакого контракта. Именно так их читают некоторые команды, и поэтому у слова «agile» плохая репутация в части индустрии. Однако прочитанные так, как написано, они служат разрешением спора для обычного случая: когда план и новая информация расходятся, побеждает информация. Ценности ещё и честно называют цену, а это как раз то, что команды пропускают: каждое из этих предпочтений покупает гибкость за предсказуемость.
Ключевые идеи
Документация существует; она перестаёт быть результатом
Прогресс измеряет работающая программа, а не объём документов. Артефактом становится всё, что передаёт информацию: диаграмма, короткая спецификация, тест, который описывает поведение.
Вместо Результат
документ требований на 40 страниц приёмочные тесты + резюме на страницу
PDF с архитектурой, просмотренный раз запись решения рядом с кодом
отчёт о статусе каждый спринт развёрнутый инкремент и его журнал
Проверка простая: читает ли кто-нибудь артефакт дважды, а не существует ли он.
Длина итерации — вот настоящее обязательство
Именно короткие итерации делают изменения доступными по цене: двухнедельный цикл даёт двадцать шесть возможностей в год ошибиться дёшево, а длинный цикл со всеми церемониями — это водопад в шляпе.
Планы — это прогнозы, и их следует пересматривать
Оценка становится обязательством только тогда, когда кто-то решает, что это так, поэтому говорите прямо, что именно вы имеете в виду. Пересмотренный прогноз — не провал процесса, а план, который никогда не меняется, доказывает другое: ничего не узнаётся.
Самоорганизующиеся команды лучше назначенных задач
Люди, ближайшие к работе, сами решают, как её делать, и действуют в пределах цели. Ценности ставят людей и взаимодействие на первое место именно поэтому: согласование происходит в разговоре, а не в поле рабочего процесса инструмента.
Проговорите режим отказа вслух
Agile терпит крах через церемонии без изменений: ежедневные стендапы, на которых статус докладывают наверх, ретроспективы без действий, оценки, отслеживаемые по отдельным людям. Всё это — симптомы победы правой колонки, пока все говорят о левой.
Практика
Сверьте одну практику с её ценностью
Возьмите практику, которую проводит ваша команда, — стендап, оценку, ревью — и опишите, какой ценности она служит и как выглядела бы, если бы перестала ей служить.
Готово, когда: вы можете назвать одну практику, результат которой никто не потребляет, и либо изменить её, либо удалить.
Проведите двухнедельную итерацию и измерьте пересмотр
Спланируйте две недели, а затем запишите каждое изменение, сделанное посреди цикла, и то, что его вызвало.
Готово, когда: вы можете сказать, сколько изменений пришло из узнанного, а не из промаха в оценке.
Частые ошибки
- Чтение ценностей как абсолютов — «никакой документации» даёт команду, к которой никто не сможет присоединиться; исправить: сохраните правый пункт, сократив его до того, что читают дважды.
- Церемонии без изменений — словарь принят, а поведение нет; исправить: проверьте каждую практику на ценность, которой она служит.
- Оценки как обязательства — команда перестаёт сообщать то, что узнаёт; исправить: укажите, какие числа — прогнозы, и пересматривайте их.
- Длинные циклы с ярлыками agile — изменения остаются дорогими, а ценности не работают; исправить: сократите итерацию, прежде чем добавлять церемонии.
- Планирование без тех, кто делает работу — план оторван от реальности, и команда отстраняется; исправить: дайте команде решать, как, при заданной цели.
Что читать дальше
- Методология Agile (04-product-process/02-agile-methodology) — трек, который открывают эти ценности.
- Короткие итерации и обратная связь (04-product-process/02-agile-methodology/02-short-iterations-and-feedback) — механизм, который делает ценности реальными.
- Разработка ПО по Agile (04-product-process/09-agile-software-development) — ценности, применённые внутри одной инженерной команды.
- Scrum (разработка ПО) (04-product-process/10-scrum-software-development) — один из фреймворков, который превращает эти ценности в расписание.