Agile что это и почему многие IT компаний на него переходят? 

Сегодня компании, которые не умеют быстро адаптироваться к изменениям, исчезают с рынка. Вышел новый конкурент и сожрал остальных. Изменилось законодательство, которое изменило правило игры на рынке. Изобрели технологию, которая подорвала все принципы ведения дел. И т.д. Все это влияет на успех или неуспех того, чем вы занимаетесь. Умение приспосабливаться к постоянно меняющейся среде – есть ключ к выживанию и успеху любой системы. Об этом и поговорим.

Agile: что это

Agile – это подход к управлению и разработке IT продуктов, основанный на итерациях. Простыми словами мы берем какой-то крупный кусок и делим его не небольшие части. Далее начинаем реализовывать эти части, получая ценность от каждого. В случае изменения внешней среды, корректируем свой курс, если это необходимо.

Agile управление

Данный принцип изначально использовался при разработке программного обеспечения и дизайн проектов, но со временем его взяли на вооружение и другие области бизнеса. Картинка сверху отражает цикличность процессов, которая заложена в подходе.

Agile: простой пример

Чтобы лучше разобрать в том, как работает agile, приведу простой пример: представьте ситуацию, что нам с вами нужно собрать крутое офисное кресло. Мы провели исследование, сформулировали гипотезу, что эта штука будет востребована на рынке и приступаем к реализации.

Если брать подход waterfall (или водопад), который раньше все использовали, то, чтобы произвести офисное кресло, нам бы потребовался год. Разработка конструкции, фабрика, материалы, найм людей и куча всего.

Waterfall: пример

Обратите внимание, что только через год мы с вами поймем, реально ли наш продукт принесет профит. Но ведь за этот год, может много чего измениться? Рынок, конкуренты, предпочтения людей и прочее. Продукт может быть уже в принципе не востребован и мы прогорим.

Осознав всю проблематику подобного подхода, IT команды придумали альтернативный подход, гибкий, который назвали agile.

Если бы мы с вами разрабатывали офисное кресло по методологии agile, то процесс выглядел бы примерно так.

Пример agile разработки

Понимая, что разработка целевого офисного кресла стоит для нас год, мы бы разбили весь путь на итерации. Причем в конце каждой итерации должен появится продукт, который с одной стороны приносит ценность клиентам, с другой способен дать нам с вами данные, в какую сторону его дальше развивать.

Таким образом, на первой итерации мы бы с вами сделали простые табуретки, которые позволяют людям сидеть и выполнять свои задачи. Мы бы проверили, готовы ли люди за них платить, чего им не хватает, какой дизайн нравится, в общем получили бы обратную связь.

Далее на основе собранной обратной связи, мы бы запустили следующую версию – стул. Снова сделали бы повторный заход на вброс/продажу стульев в рынок и очередной сбор обратной связи от реальных клиентов.

И так далее, пока на очередной итерации не пришли бы к такому офисному стулу, который реально нужен людям и за который они готовы платить.

Что важно! Agile подход позволяет аккуратно и быстро разворачивать продукты под нужды рынка. То есть, благодаря итерациям весь путь до некоего “целевого кресла” мы с вами зарабатываем деньги, развивая продукт. Цикл получения обратной связи от рынка существенно сокращается, а значит мы быстрее можем реагировать на изменения и чувствовать контекст. Подобная практика повышает шансы на выживаемость и рост. В этом вся прелесть данной методологии.

Теперь давайте более детально разберём принципы.

Принципы Agile

Сам по себе agile подход опирается на систему ценностей, в основе которой лежат следующие принципы:

  • люди и взаимодействия между ними в приоритете
  • работающий продукт, важнее детальной документации
  • фокус на сотрудничество с заказчиком, а не на условия в договоре
  • реагирование на изменения главнее, нежели следование первоначальному плану

В целом вы видите, что это идеология. На базе нее уже строятся процессы, которые помогают быстро адаптироваться к новым условиям. Вообще, во всех материалах про и около данного подхода вы будете чувствовать эту самую “гибкость”, потому как она и является ключевым преимуществом методологии.

Полный набор принципов agile подхода сформулировали в виде манифеста из 12 утверждений. Если интересно, то можно прочитать тут.

Как в любой методологии в agile есть свои нюансы, попробую их подсветить.

Плюсы подхода

Гибкость, гибкость и ещё раз гибкость, вот главное преимущество Agile управления. Небольшие шаги и готовность к изменениям позволяют быстро адаптироваться к динамическим условиям . Риски и затраты снижаются до минимума, так как больше не нужно менять “всю стратегию”. Не удивительно, что сейчас данный подход набирал большую популярность. Современный рынок и непостоянная геополитическая обстановка заставляют компании постоянно приспосабливаться.

Минусы подхода

Обратная сторона гибкости, это потеря фокуса. Когда процесс работы над проектом поделён на множество под-проектов, то легко потерять приоритеты в задачах. Чтобы это предотвратить, существуют уже готовые модели в рамках Agile управления, такие как: Scrum или Kanban.

Еще один минус итеративного подхода, это скорость, которая выжигает людей. То есть вы можете круто и быстро работать, но от живого человека подобный ритм требует большого кол-ва энергии. То есть, запустить стартап, нащупать итерациями продукт можно, но скорее всего потом на масштабировании вам придется обновлять команду.

Когда лучше применять Agile?

В сервисно-ориентированных проектах, когда задача и цель у вас есть, и вы можете позволить себе некую свободу действий, agile подойдет. Методология, как вы уже поняли из принципов, явно не про ограничения, а скорее про смыслы.

Agile - это свобода

В случае же, если весь процесс строго регламентирован и обозначены чёткие цели, то подход скорее всего вам НЕ подойдёт. Ограничения убьют гибкость еще в зачатке, поэтому лучше достать старый добрый waterfall и спокойно по нему работать.

Что еще важно понимать, что к перестройке на гибкие методологии agile должны быть готовы люди внутри. Если команда привыкла к постоянному хлысту сверху и не способна сама брать ответственность за то, что выпускает, то нет смысла ее мучить. Тут два варианта: либо сменить команду и строить “гибкость”, либо работать как работали.

Если вы готовы разворачивать agile методологии у себя, то вам понадобятся инструменты.

Инструменты Agile

Существует несколько технологических решений, которые позволяют управлять проектом по принципу agile из коробки. Это программы, которые можно приобрести, заведомо попробовав демо-версию. Из тех, с которыми я сам работал, могу назвать:

  • Jira (топовый инструмент, весь рынок на нем)
  • Redmine
  • Trello

На деле же их гораздо больше. Неплохую статью по ним написали коллеги с habrhabr, где разложили всё по полочкам, нет смысла дублировать информацию, просто почитайте и выбирите для себя подходящий.

Finale (по-итальянски “конец”)

Подытожив, хочу сказать, что agile методология не просто так получила свою популярность в мире IT и нетолько. Все рано или поздно понимают, что скорость получения обратной связи от рынка и время реакции внутри продукта на нее – это два ключевых пласта успеха. Не можем мы в современном мире дооооолго что-то делать, нас просто сожрут. Отсюда и новые практики приходят гибкие. Пробуйте их, применяйте и адаптируйте под себя.

Алексей А.


Часто задаваемые вопросы

Здесь я собрал ответы на самые популярные вопросы по теме. Коротко и ясно.

1. Что такое Agile простыми словами?

Agile – это методология разработки, в основе которой лежит способность быстрой адаптации к изменениям. Были у нас какие-то планы: разработать такие-то задачи, выпустить такие-то изменения в продукте. Вдруг, вокруг что-то поменялось: законодательство, рынок, гео политическая ситуация и прочее. Если мы работаем по Agile, то для нас изменения это норма и мы быстро перестраиваемся под новые реалии: меняем планы, фокусы, тем самым, обеспечивая себе выживаемость. Другие методологии разработки жестко привязываются к планам и болезненно воспринимают изменения.

2. В чем разница между Agile и Scrum?

Agile – это обобщающее название методологии, например, как Waterfall. Scrum же, это подвид Agile методологии, например как Kanban. Простыми словами Scrum входит в Agile и является одним из направлений внутри это подхода.

3. Для чего нужна методология Agile?

Для того, чтобы продукт/компания могла быстро адаптироваться к изменениям. На текущий момент основы Agile практик применяются во многих мировых компаниях и зарекомендовали себя, как эффективные подходы к управлению, позволяющие бизнесу достигать своих целей в максимально короткие сроки.

4. Почему Agile так называется?

Потому что само слово “Agile” в переводе с английского обозначает “гибкость”, а те принципы, которые заложены в основу методологии, помогают бизнесу эту самую “гибкость” приобрести.


Читайте также: