История появления гибкого метода управления
Agile зародился в IT-индустрии на фоне проблем в разработке продуктов.
До 1990-х процессы по разработке программного обеспечения трудно было назвать успешными. Разработка двигалась согласно этапам, которые были описаны многочисленными документами на старте проекта. Вести документацию было необходимо в процессе разработки, что негативно сказывалось на сроках выполнения работы. Разработчики регулярно нарушали дедлайны, а из-за невозможности менять требования к продукту в процессе разработки зачастую заказчик получал продукт, не отвечающий его потребностям.
Активные попытки создать новые методы и подходы к проектам по программированию начались в 90-х годах. В это время появились такие методы, как RAD, XP, Scrum и т.д.
В 2001 году в США группа независимых практиков сформулировала новый подход, включающий в себя самые успешные принципы разработки продуктов. Этот метод был альтернативой сложным и тяжеловесным моделям управления проектами, например, водопадной. Новый подход заключался в гибкой системе управления и был назван словом «Agile».
Что такое Agile
По аналогии с другими подходами к управлению проектами Agile также называют методологией. Однако этот подход разительно отличается от всех других методологий, которые описывают процесс реализации проектов.
Agile – это философия, у которой есть манифест, описывающий четыре основополагающие ценности. К нему прилагается документ, в котором говорится о 12 принципах работы. Аджайл – это не методология или стандарт по управлению проектами, он не включает в себя терминологию, понятия, правила или инструкции. Концепция заключается в четырех ценностях и 12 принципах. А для внедрения и использования в работе этих принципов используют методологии и инструменты, или фреймворки, которые соответствуют основным принципам аджайл.
В классической системе менеджмента ход работы строго регламентирован предварительно установленными требованиями. Agile же предлагает гибкую и быструю работу, включающую адаптацию к внешним и внутренним изменениям в ходе проекта. Для достижения этого применяется итеративная разработка продукта и высокий уровень коммуникации между участниками Agile-проекта.
Основные отличия Agile от других методик заключаются в высоком уровне гибкости, а также скорости работы.
В чем секрет популярности аджайла, узнаете в статье «Agile – новый Lean?» на нашем портале.
Манифест
Agile-манифест включает в себя четыре базовые ценности. Основатели аджайл-философии создали этот документ в 2001 году, его перевели на все языки мира.
Манифест не дает четких инструкций, определений или требований к процессу управления проектами, не сообщает, что правильно или неправильно.
-
Люди и их взаимодействие важнее, чем процессы и инструменты.
Работу Agile-команды не должны ограничивать инструменты и процессы. Реализация проекта заключается в эффективном взаимодействии людей, которые сами принимают решения об изменениях процессов или инструментов своей работы.
Участники процесса должны общаться напрямую, исключая передачу через других людей или документацию. Обсуждения должны проходить лично или онлайн через видеосвязь, помимо чатов и писем.
-
Работающие продукты важнее, чем подробная документация.
Участники сосредотачиваются на том, чтобы как можно быстрее подготовить продукт к использованию. Отчеты, документы, графики второстепенны. Если составление документации замедляет создание продукта, от нее можно вовсе отказаться.
-
Сотрудничество с заказчиком важнее, чем согласование условий контракта.
Чтобы продукт получился именно таким, какой нужен заказчику, разработчики отказываются от лишних требований и деталей в контракте. Жесткие требования, заданные перед стартом работы, будут ограничивать команду и не позволят быстро и гибко реагировать на изменения в процессе разработки. Чтобы достичь такого уровня взаимодействия с заказчиком, важно выстроить с ним доверительные отношения, а все изменения обсуждать лично.
-
Готовность к изменениям важнее, чем движение по первоначальному плану.
В Agile важна готовность к изменениям и быстрая реакция на появление новых данных. Именно поэтому работа по аджайл строится в формате коротких итераций, в которые закладывают определенный пул задач. Итерация – короткий срок, от одной до четырех недель.
Если в процессе работы стало понятно, что в разработку нужно включить новый этап или изменить один из них, команда займется этим в следующей итерации.
Со стороны заказчика для внесения требуемых изменений нужно будет пожертвовать какими-то из запланированных ранее работ или отложить их. Приоритеты и сроки нужно обсуждать на встрече.
Например, в процессе работы заказчик понял, что дополнительная функция в его будущем продукте может увеличить продажи. Если команда работает по водопадной модели, то нужно будет пересмотреть контракт. На это уйдет много времени, а разработчики продолжат действовать по старому плану, общий дедлайн сдвинется, стоимость проекта увеличится, результат заказчика не устроит.
Agile-команда, наоборот, в такой ситуации берет новую задачу в работу и встраивает ее в продукт уже в следующей итерации, не тратя время на документацию. Заказчик получает результат в ближайшее время, продукт работает.
12 принципов Agile
Кроме четырех ценностей, Agile также описывает 12 принципов. Чтобы внедрить аджайл-культуру в работу компании или отдельных проектов, нужно встроить эти принципы в работу проектной команды.
-
Наивысший приоритет – непрерывный прогресс. Для этого команда должна регулярно поставлять работающий продукт заказчику.
-
Принятие изменений в требованиях даже на поздних этапах разработки продукта. Аджайл позволяет внедрять изменения для улучшения продукта и его конкурентоспособности.
-
Стремление поставлять работающий продукт каждые несколько недель, в крайнем случае – раз в несколько месяцев. Чем выше частота поставок, тем лучше.
-
Самый результативный способ передачи информации – встретиться лично.
-
Представители бизнеса и разработчики продукта должны работать совместно.
-
В процессе должны участвовать только мотивированные люди. Нужно создать для них комфортную рабочую среду, дать необходимые инструменты и доверить им делать свою работу.
-
Главный показатель успешности проекта – работающий продукт.
-
Гибкие процессы помогают постоянному развитию. Заказчик, разработчики и пользователи должны поддерживать постоянный темп работы в течение всего рабочего процесса.
-
Внимание к техническому совершенству и качественному построению работы делает процесс разработки более гибким.
-
Простота помогает избежать лишней работы.
-
Лучшая архитектура, требования и дизайн создаются в самоорганизующихся командах.
-
Команда должна непрерывно искать пути для повышения эффективности с помощью настройки и изменения своих действий.
Главные отличия от Scrum и Kanban
Главное отличие Agile от Scrum и Kanban в том, что Agile – это философия, а Scrum и Kanban – фреймворк и метод работы, которые соответствуют ценностям аджайл.
Scrum – это самый популярный фреймворк. В Scrum работа измеряется короткими по продолжительности отрезками времени – спринтами. Работа выполняется небольшой командой, до 10 человек. Обычно в команду входят: заказчик продукта, разработчики, если это ИТ-проект, и скрам-мастер.
Kanban для отслеживания задач тоже использует визуальную доску. Чем дальше вправо идет задача, тем она ценнее, тем больше на нее потратили времени и денег. Поэтому такую задачу лучше быстрее закрыть, она приоритетнее, так как быстрее принесет пользу. Чем быстрее задачи проходят до конца доски, тем эффективнее работа команды. Процессы канбана строятся не по спринтам, а по этапам выполнения задач: «сделать», «в процессе», «тестирование», «согласование» и так далее в зависимости от того, какие статусы решит ввести сама команда.
Главное различие Scrum и Kanban – длина итераций. В Scrum итерации могут длиться две или четыре недели. Встречается вариант с недельным спринтом. Спринт более четырех недель неэффективен. Итерации фиксированны, результат обсуждается по итогу итерации. В kanban можно передавать результат в любое время, даже через день. Это дает больше гибкости и позволяет чаще отдавать продукт заказчику. Также, как правило, задачи в Scrum распределяются по следующим статусам: «бэклог», «в работе», «выполнено». В Kanban можно устанавливать любые статусы задач, которые отвечают вашим потребностям.
Плюсы и минусы
Если аджайл подходит для вашего конкретного проекта, тогда проявляются плюсы:
-
Скорость. Обычно при использовании фреймворков срок разработки продукта гораздо короче, чем при использовании водопадной модели, например.
-
Гибкость. Заказчик может легко вносить изменения в требования к продукту по ходу его реализации.
-
Качество продукта. Быстрое реагирование на новые данные помогает сделать продукт более качественным, а его характеристики более совершенными.
Минусы Agile-подхода:
-
Agile очень требователен к профессионализму команды. Если в команде есть люди, которые не соответствуют профессиональным требованиям или отстают от остальных членов команды, работать по модели Agile будет сложно. Лучше подбирать членов команды с одинаковым уровнем профессионализма.
-
Работать по гибкой системе с немотивированными людьми очень тяжело. Так как самая важная составляющая аджайл – самостоятельная команда, немотивированный сотрудник не сможет вовлечься в процесс в полной мере. Для эффективной работы нужна профессиональная и достаточно мотивированная команда.
Как внедрить Agile в работу компании
По аджайлу сегодня работают уже организации из разных сфер, а не только ИТ-компании. Решение о внедрении Agile-методологии управления проектами должно приниматься на основе следующих шагов:
-
Сначала надо определиться с целями. Их нужно ставить по Smart-методу постановки целей, основанному на пяти принципах: конкретности, измеримости, достижимости, важности и определенности. Важно понять, зачем вы хотите внедрить Agile, на какие метрики в работе компании желаете повлиять.
-
Проанализировать все проекты и понять, какие из них могут быть модернизированы с помощью гибкого подхода и сколько их. Если таких проектов нет, то вопрос о внедрении можно снять.
-
Понять, сможете ли вы реализовать эти цели. В этом поможет тестовый запуск аджайл-модели для одного из проектов. Для этого надо выбрать один из фреймворков, например, Scrum – он сейчас наиболее популярен. Выберите пилотный проект, на нем проведите обучение сотрудников и протестируйте работу. Желательно для этого пригласить профессионального Scrum-мастера или аджайл-коуча, чтобы он помог первой команде сделать внедрение.
-
Затем нужно расселять тех людей, которые научились работать по этому фреймворку, по нескольким командам и постепенно культивировать новую модель взаимодействия. Люди должны научиться работать в новых ролях, по-новому подходить к требованиям к продукту, проводить довольно много совещаний и т.д.
Также есть инструменты, которые помогают на старте понять, подойдет проекту больше аджайл или, например, водопадная модель , а может, гибрид . Один из таких инструментов – это Agile Suitability Model, которая описана Американским институтом управления проектами.
Книги про Agile
Чтобы разобраться с принципами Agile и понять, как внедрить эту модель в работу компании, стоит изучать литературу не об аджайл в целом, а о конкретных инструментах и методологиях. Вот пара книг об инструментах внедрения гибкого подхода:
Книга основателя методологии scrum Джеффа Сазерленда «Scrum. Революционный метод управления проектами» поможет понять, как она работает, какие плюсы и минусы у нее есть, а также даст описание конкретных шагов для внедрения Scrum в работу. Эта книга подойдет для менеджеров, руководителей, разработчиков, а также всех, кто изучает теорию эффективного управления проектами.
Книга «Канбан. Альтернативный путь к Agile», которую написал основатель подхода, научит распознавать возможные пути улучшения работы компании или отдельного проекта. В книге автор делится знаниями об управлении процессами создания продукта, помогает понять, стоит ли встраивать методологию в работу, и описывает способы внедрения Kanban в работу компании. Книга полезна для менеджеров и руководителей проектов.