Agile — семейство гибких методологий управления проектами, которые сейчас пользуются бешеной популярностью во всем мире. Что это — просто громкие слова, или Agile — методология управления проектами действительно помогает добиваться лучших результатов?
На этот вопрос можно ответить однозначно: Agile - методологии управления проектами и впрямь позволяют команде лучше адаптироваться к переменам. Часто само использование методов Agile становится отличной нематериальной мотивацией для сотрудников: они видят, что компания отвечает на изменения мира и гибко подходит к решению стоящих перед ней задач. Однако внедрение Agile может быть чревато дополнительными трудностями. Поэтому прежде чем начинать применять эджайл на практике, стоит подробно разобраться в том, что это такое и нужен ли он вам вообще?
Agile-подход и принципы Agile
Перевод с английского слова «эджайл» - это «подвижный», «проворный». Управление проектами по методологии Agile простыми словами - это организация работы над проектом, которая не предполагает жесткого долгосрочного планирования. Команда приближается к цели небольшими шагами, которые еще называются «итерации».
Agile появился таким, как мы его знаем сегодня, только в 2001 году, когда группа программистов опубликовала Agile Manifesto. Озвученные ими принципы Agile впервые стали применяться для разработки программного обеспечения, но впоследствии инструменты Agile перекочевали и в другие отрасли.
Ценности Agile. Ключевые инсайты:
- Люди и личностные отношения важнее процессов и инструментов.
- Работающий продукт важнее исчерпывающей документации.
- Сотрудничество с заказчиком важнее согласования условий контракта.
- Готовность к изменениям важнее следования первоначальному плану.
Agile-манифест содержит ключевые инсайты создателей и 12 принципов Agile для разработки программного обеспечения. В манифесте нет однозначных инструкций, как организовать работу по методу Agile. Например, там нет никаких упоминаний о мотивации сотрудников. Однако основные положения Agile-манифеста стали ключевыми для этого семейства гибких методологий, позволяющих легко управлять различными проектами. Самые известные из них - это SCRUM и Kanban.
Фреймворк SCRUM. Отличие Agile от SCRUM
Часто люди затрудняются ответить, в чем же заключается отличие Agile от SCRUM. На самом деле все просто. SCRUM - это конкретный метод реализации Agile-подхода, фреймворк, который соответствует ценностям Agile и использует в работе метод Agile. Ключевую роль в SCRUM играет agile-команда: это команда «универсальных солдат», которые могут работать над разными проектами. Помимо специалистов в команде есть product manager, владелец продукта, и scrum master. Product manager следит за тем, чтобы проект отвечал потребностям заказчика и решал его задачи. Scrum master же координирует работу команды, в том числе отвечает за мотивацию команды, решает рутинные задачи.
Гибкий цикл разработки по фреймворку SCRUM делится на равные отрезки времени, которые принято называть «спринтами». Это может быть как неделя, так и месяц. Перед спринтом команда и scrum master определяют задачи, которые необходимо решить для реализации проекта, а в конце спринта - подводят итоги. С помощью спринтов scrum-мастеру легко контролировать эффективность команды, находить недочеты в работе и определять способы мотивации.
Kanban. Отличия Kanban от SCRUM
Kanban также реализует принципы Agile-манифеста, но в данном случае главная задача руководителя - поставить товар потребителю «точно в срок» в необходимом объеме. Для этого работа выстраивается так, чтобы равномерно распределить нагрузку между сотрудниками. Например, не допускать ситуаций, когда программисты простаивают, а дизайнеры не успевают решать поступающие задачи.
Менеджмент по Kanban заключается в том, чтобы контролировать прогресс выполнения каждой задачи, решать их «точно в срок». При этом важно отказаться от такой технологии работы, как делать «запасы продукции», чтобы не сорвать поставку в случае непредвиденной ситуации. Согласно философии Kanban, рабочий процесс должен быть организован так, чтобы подобных ситуаций априори не возникало.
В отличие от менеджмента по SCRUM, в модели Kanban главная метрика эффективности - среднее время решения задачи. В этой гибкой методологии очень важно отслеживать, на какой стадии выполнения находится каждая задача. Как правило, основные стадии выполнения задачи фиксируют на kanban-доске, чтобы руководителю и сотрудникам было одинаково удобно контролировать прогресс.
Task |
Step 1 |
Step 2 |
Step 3 |
Step 4 |
Status |
Max 2 |
Max 3 |
Max 3 |
Max 2 |
||
K |
|||||
L |
I |
F |
C |
A |
|
M |
J |
G |
D |
B |
|
N |
H |
E |
|||
O |
|||||
P |
Agile или Waterfall. Что выбрать?
Agile, Waterfall - самые популярные подходы к менеджменту в разработке программного обеспечения. Agile - более современный метод организации работы над проектом, но безоговорочно применять его вместо Waterfall далеко не всегда лучший вариант. Важно учитывать плюсы и минусы Agile в сравнении с Waterfall, а уже затем делать взвешенный выбор.
Agile
+ |
- |
Работа строится так, чтобы клиент быстро получил готовый продукт |
Итоговую стоимость проекта при работе по методологии Agile зачастую сложно подсчитать |
В работу над проектом вовлечены не только исполнители, но и организаторы, заказчики |
Высокие требования к квалификации специалистов, которые работают над проектом, зачастую возникает необходимость их обучения. Как следствие, высокая стоимость работы таких специалистов |
Возможность гибко реагировать на изменения |
Невозможность «механически» применять методологию Agile: всегда нужно адаптировать ее под особенности конкретной команды |
Приоритет - создание рабочей модели продукта |
При отсутствии необходимого опыта команда может потратить слишком много времени на работу над незначительными улучшениями и не успеть сделать основную работу по проекту вовремя |
С учетом плюсов и минусов Agile, можно с уверенностью заявить, что гибкий цикл разработки Agile однозначно подойдет опытной команде профессионалов, но не молодым командам и стартапам.
Waterfall в переводе с английского означает «водопад». Эта модель управления проектами позволяет детально спланировать работу над проектом, продумать все стадии работы, оценить их стоимость и необходимые временные затраты.
Waterfall
+ |
- |
Легко оценить итоговую стоимость проекта |
Итоговая стоимость работ по проекту может увеличиться, но маловероятно, что она уменьшится |
Привычная и понятная модель работы |
Работу нельзя подстроить под непредвиденные обстоятельства. В крайнем случае - можно сэкономить время на стадии тестирования продукта, отказавшись от нее |
Привычные формы отчетности по проекту |
Невозможно тестировать продукт в ходе работы. Тестирование можно организовать, только когда проект фактически завершен |
Задачи определены с момента запуска проекта |
В продукт невозможно внести изменения в процессе разработки, даже если разработчик понимает, как продукт можно улучшить |
Модель Waterfall стоит использовать в том случае, если основное ограничение для проекта - сроки реализации или если ваша команда недостаточно сработалась, чтобы участвовать в управлении сообща. Для гибкого цикла разработки продукта же участие команды в управлении проектом - это обязательное условие.
Применение Agile в управлении бизнесом и маркетинге
Методологии Agile - не свод правил и предписаний, а радикально иной способ взглянуть на организацию рабочего процесса. Agile Project Management может быть очень выгоден компании в первую очередь тем, что помогает быстро адаптироваться к изменениям на рынке, а также найти узкие места и устранить их. Что такое узкие места? Простыми словами - это рабочие задачи, которые решаются очень медленно и тормозят работу компании.
Пример. Компания выпускает керамические вазы. Прежде чем продукт поступит в продажу, он должен пройти процедуру обжига. Технологии таковы, что для этого нужно не менее трех часов. При этом в печи можно провести обжиг не более чем ста изделий за раз. За то время, пока одни вазы обжигают в печи, рабочие успевают создать 200 новых изделий. Если последовательно соблюдать шаги по производству ваз, у печи образуется очередь, а новые вазы не будут поступать в продажу. При этом после обжига выясняется, что треть изделий, которые попали в печь, были бракованными, и их вообще нельзя продавать. Денег на покупку дополнительного оборудования у компании нет.
Возможное решение по Agile Project Management: организовать более жесткий контроль качества изделий до обжига и перевести на него часть рабочих, которые производят новые вазы. Это позволит улучшить качество изделий, которые в итоге попадают в печь, и снизить нагрузку на узкое место.
Чаще всего инструменты Agile применяются для разработки программного обеспечения, но в последнее время гибкие методологии начинают активно применять и в других областях. В некоторых отраслях применение Agile может быть сильно ограничено или даже невозможно. Например, в фармацевтике фактически нереально организовать гибкий цикл производства.
Эффективнее всего применять Agile в тех областях, где нужно очень быстро реагировать на изменения рынка, например в маркетинге. Именно поэтому Agile-маркетинг набирает все большую популярность. В 2012 году был опубликован обновленный манифест Agile-маркетинга, который во многом наследует принципы классического Agile-манифеста.
Новый манифест Agile-маркетинга. Философия подхода:
- Точные исследования, а не мнения и предубеждения.
- Кооперация, направленная на соблюдение интересов клиента, а не иерархия.
- Итерация и адаптация, а не сложное планирование в рекламных кампаниях.
- Исследование клиентов, а не статистическое прогнозирование.
- Гибкое, а не жесткое планирование.
- Адаптация к изменениям, а не четкое следование плану.
- Множество небольших экспериментов, а не один большой.
Внедрение Agile
Многим компаниям тяжело дается внедрение Agile, потому что эта методология - особая культура работы, к которой сотрудникам и самой компании еще долго придется привыкать. Для того чтобы наладить эффективный гибкий цикл разработки продукта Agile, прежде всего нужна специально обученная agile-команда, которой руководитель может доверять. Есть несколько способов эффективно организовать обучение Agile для команды:
- Agile-коуч. Выбрать подходящего agile-коуча для компании может оказаться непростой задачей. Во-первых, без знаний по Agile сложно оценить квалификацию коуча и качество его работы. Зачастую тот, кого нанимают как agile-коуча, начинает выполнять роль scrum-мастера. Без предварительного обучения команды такой способ может только навредить компании и внести смуту в рабочие процессы.
- Тренинги Agile для руководителя. Сначала руководитель проходит обучение по Agile, а затем он обучает команду. Главный минус такого метода в том, что основная нагрузка по внедрению Agile ложится на плечи руководителя, при этом он продолжает решать свои повседневные задачи.
- Курсы Agile. Обучение на курсах Agile дает возможность познакомить всю команду с культурой и методологией Agile. Главное - выбирать качественные курсы, которые славятся положительными отзывами других студентов. Например, с курсом Lectera «Эффективное управление бизнесом по методологии Agile» руководитель в кратчайшие сроки освоит принципы работы по Agile, а при покупке тарифа Lectera Corp - сразу сможет организовать обучение для своих сотрудников. Преимущество курсов от Lectera в том, что основной упор в них делается на практику: студенты могут отработать полученные знания с помощью прилагающихся кейсов и упражнений.
Для обучения Agile также будет полезно чтение специальной литературы, если при этом не забывать, что книга - лишь вспомогательный инструмент, и ее все-таки недостаточно, чтобы мгновенно перейти на Agile. Для внедрения Agile сначала потребуется опробовать его на практике, ведь это такой же навык, как и любой другой, - здесь тоже требуются опыт и сноровка.
Книги, посвященные Agile, его технологии и философии:
- Agile-манифест разработки программного обеспечения.
- Элияху Голдратт, Джефф Кокс. «Цель: процесс непрерывного совершенствования».
- Джефф Сазерленд. «SCRUM. Революционный метод управления проектами».
- Хенрик Книберг. «SCRUM и XP: заметки с передовой».
- Дэвид Андерсон. «Канбан. Альтернативный путь в Agile».
- Эндрю Стеллман, Дженнифер Грин. «Постигая Agile. Ценности, принципы, методологии».
Главное в статье
- Agile - семейство методологий. В методологиях Agile работа над проектом выстраивается так, чтобы гибко реагировать на изменения.
- SCRUM - фреймворк Agile. В SCRUM работа над задачей разбивается на равные промежутки времени - спринты. Их анализ позволяет отслеживать эффективность работы.
- Kanban - Agile-методология. Основной показатель эффективности для нее - скорость решения задач. Чтобы отслеживать прогресс, стадии работы над каждой задачей визуализируют на kanban-доске.
- SCRUM и Waterfall - две самые популярные методологии для разработки программного обеспечения. SCRUM лучше подходит для зрелых команд.
- Гибкие методологии идеально подходят для областей, в которых нужно быстро реагировать на изменения рынка, например для программирования и маркетинга.
- Для эффективной работы по Agile необходимо качественно обучить команду. Удобнее всего это делать на Agile-курсах.