Что такое Agile: методология или философия?
Agile — философия, Scrum — ее реализация
В отличие от методологий и фреймворков разработки ПО, Agile-ценности сами по себе не дают алгоритмов, способов и приемов. В основе Agile — не конкретные процессы, а система принципов, помогающих разработчикам делать новые продукты быстрее и более эффективно как с точки зрения бизнеса, так и с точки зрения клиентов. Поэтому для понимания Agile руководителю важно следовать системе: сначала философия и ценности клиента, потом — практика. Agile задает мышление и принципы, а Scrum, Kanban и другие гибкие подходы дают конкретные правила работы команд.
Agile манифистирует:
- более эффективное взаимодействие с заказчиком и друг с другом, которое не ограничивается строго контрактом или жестким внутренним процессом;
- быструю реакцию на изменения, причем с обеих сторон;
- фокус на продукте.
Изменить образ мышления руководителей и исполнителей с традиционного на гибкий — самое сложное из того, что нужно сделать для применения какого-либо Agile-подхода в команде или в компании. Если Agile-мышление не свойственно корпоративной культуре, Scrum приведет только к удорожанию разработки, потому что потребуется выделять много времени на коммуникации и обратную связь, вводить новые роли, инвестировать в обучение и в повышение взаимозаменяемости сотрудников. Без переосмысления подхода к управлению проектами, Agile превращается в формальную установку, а не в реальную перестройку работы.
Четыре ценности Agile: «X важнее Y»
В 2001 году появился Agile-манифест, в котором были собраны и обобщены многие популярные в то время «методологии разработки», а также сформулированы ценности манифеста, то есть то общее, что определяет приоритеты в работе независимо от конкретного процесса и предмета работы. Каждая из четырех ценностей Agile сформулирована в виде «X важнее Y». Следуя формулировкам манифеста, Agile — это выбор приоритетов в пользу людей, продукта и изменений.
1. Люди и их взаимодействие важнее процессов и инструментов.
Чтобы люди работали эффективнее, процессы и инструменты не должны их ограничивать или диктовать, что делать. Более того, люди сами решают, как менять процессы или инструменты для своей работы. При Agile, Scrum и других подходах команда подстраивает инструменты под себя, а не наоборот.
Участники команды должны взаимодействовать без посредников (документов или других людей), активно общаться вживую, а не только письмами и в чатах. При переходе в онлайн важно использовать видеосвязь и интерактивные онлайн-доски.
2. Работающий продукт важнее исчерпывающей документации.
Клиенты довольны, когда получают работающий продукт, а не диаграммы и схемы. Требуется поддерживать документацию в адекватном продукту состоянии, а чрезмерная документация нередко замедляет разработку и стоит неоправданно больших затрат. На практике Agile помогает переключить фокус с обсуждения документов на регулярный выпуск частей продукта.
3. Сотрудничество с заказчиком важнее согласований условий контракта.
Чтобы бизнес-ценность продукта росла быстрее, заказчик с разработчиком должны плотно общаться и выстраивать доверительные отношения друг с другом. Стоит отказаться от излишней детализации в контракте между подрядчиком и заказчиком или жесткости в требованиях к разработке продукта. Часто эти детали мешают учитывать новые данные и приоритеты, которые могут появиться уже во время разработки. Возникающие изменения и проблемы оперативно обрабатываются обеими сторонами. Так метод Agile позволяет учитывать обратную связь и корректировать продукт по мере появления новой информации.
4. Готовность к изменениям важнее, чем следование плану.
Agile предполагает итеративность работы и готовность к изменениям на всех стадиях. Чтобы в первую очередь делалось самое ценное, текущее видение бизнес-ценности и позиционирования продукта должно быть прозрачно для разработчиков, тогда они смогут правильно расставлять приоритеты и не откладывать риски проектов на последние стадии разработки (когда будет уже поздно уменьшать содержание работы, сдвигать срок или усиливать команду).
Важно, чтобы они могли вносить существенные изменения в изначальные планы, скажем, добавлять в продукт новые возможности, которые стали ценными в изменившихся обстоятельствах. Заказчик тоже должен быть готов пожертвовать чем-то запланированным (но менее ценным) ради новых возможностей. Гибкие методологии управления проектами пересматривают приоритеты, а не жестко следуют исходному плану.
Что входит в Agile
Agile-мышление сейчас чаще всего реализуется через фреймворк Scrum, поэтому Agile и Scrum обычно изучают совместно.
В Scrum работа ведется спринтами — одинаковыми по продолжительности короткими итерациями. Вся работа выполняется силами небольшой (до десяти человек) команды, в которую входят разработчики, владелец продукта (отвечающий за ценность продукта) и Scrum-мастер (отвечающий за командную работу и правильное применение Scrum). Команда самостоятельно решает, кто, что, когда и как делает.
Все участники команды совместно планируют спринт, совместно демонстрируют результаты заинтересованным лицам и клиентам, ищут способы решения проблем как с продуктом, так и с процессом работы. В ходе спринта разработчики ежедневно и устно обсуждают препятствия, краткосрочные планы и разделение работы между собой.
Исторически к Agile относится также и Kanban-метод, который, согласно исследованию Agile в России, занимает второе место по популярности после Scrum. Универсальный международный сертификат по Agile — ICAgile Certified Professional — включает не только Scrum, но и Kanban. Эти подходы часто называют «гибкими методологиями управления проектами», хотя на деле это разные практики с одинаковыми ценностями.
Kanban — это метод повышения качества сервиса или набор принципов и практик, которые делают сервис (или разработку продукта) более быстрым, прогнозируемым и отвечающим ожиданиям потребителей.
Kanban отличается от Scrum тем, что:
- применяется не только к разработке новых продуктов, но и к поддержке имеющихся, операционной деятельности компании;
- внедряется постепенно, без одномоментного изменения текущих процессов, и более просто, в том числе без изменений организационной структуры;
- нацелен не только на ускорение, но и на равномерность процессов;
- имеет метрики, не требующие оценки трудоемкости задач (например, время прохождения задачи в системе).
Нет прямой связи между практиками Kanban и Agile-ценностями, хотя многие практики Kanban вполне согласуются с ценностями Agile, среди которых — клиентоориентированность, сотрудничество, прозрачность. Это помогает командам, знакомым с Agile, по-новому взглянуть на потоки задач и загрузку.
Самая популярная из шести практик Kanban — это визуализация процесса, в том числе с помощью так называемой Kanban-доски со стикерами, обозначающими разные задачи. В отличие от Scrum-доски, где всего три столбца, в Kanban принято визуализировать каждый этап процесса, а также делить каждый столбец на две части: «в работе» и «готово к следующему этапу». Так команды лучше видят узкие места, сроки и очередь задач. Это делает Agile, Scrum и Kanban удобными инструментами для гибкого управления.
Книги об Agile по-русски
1. Блистательный Agile. Гибкое управление проектами с помощью Agile, Scrum и Kanban. Авторы: Роб Коул, Эдвард Скотчер.
Книга ориентирована в первую очередь на тех, кто планирует переходить от классического проектного менеджмента к гибкому. Она поможет понять Agile и применять фреймворки на практике.
2. Эпоха Agile. Как умные компании меняются и достигают результатов. Автор: Стивен Деннинг.
Вы узнаете, как работают гибкие методы управления на разных уровнях, как правильно ставить цели на пути развития компании и достигать их. Для читателей это шанс глубже понять, как Agile методология меняет весь бизнес, а не только отдельные команды.
3. Scrum. Революционный метод управления проектами. Автор: Джефф Сазерленд.
Книга от основателя фреймворка Scrum раскрывает пользу каждого элемента Scrum. Поможет найти простое объяснение Agile на примере реального фреймворка.
4. Scrum и Kanban: выжимаем максимум. Авторы: Хенрик Книберг, Маттиас Скарин.
В книге много иллюстраций, примеров и подробное сравнение Scrum и Kanban. Будет полезна тимлидам, скрам-мастерам и всем, кто управляет отдельными командами. Эти материалы связывают теорию манифеста с инструментами Agile и Scrum в повседневной работе.
По материалам pro.rbc.ru.