Agile, 23 мар 2022, 10:20

Что такое Agile и подойдет ли он вашей компании

Читать в полной версии
Фото: Shutterstock

В 2021 году исполнилось 20 лет «Манифесту Agile». Подход зародился как бунт разработчиков против неповоротливых ИТ-корпораций. Разбираемся, что происходит с Agile сейчас и как его применяют в российских компаниях

1
Что такое Agile

Agile, или Agile software development — гибкий подход к разработке программного обеспечения (ПО), который часто применяют в небольших командах.

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

Термин Agile употребляют в двух основных значениях:

  1. Система ценностей или философия, которой придерживаются многие разработчики и стартапы.
  2. Собирательное название для гибких подходов и методик, которые, так или иначе, пересекаются с основными ценностями Agile.

Как правило, agile-команды включают разработчиков, тестировщиков, менеджеров проектов, дизайнеров интерфейсов, технических (UX) писателей. Все они равноценны в иерархии и работают в одном офисе или коворкинге. За счет личного общения они экономят время на обсуждении текущих процессов. Сторону заказчика представляет менеджер или руководитель — product owner, от которого команда регулярно получает обратную связь.

Agile возник в противовес устаревшим подходам и излишней бюрократии в сфере ИТ. Резиденты Кремниевой долины (и не только) поняли, что невозможно создавать инновационные продукты в консервативной среде. Поэтому в феврале 2001 года в штате Юта (США) 17 разработчиков из разных стран мира создали свой манифест, в котором объединили самые передовые подходы и принципы.

2
«Манифест Agile» и основные принципы

Agile-манифест базируется на четырех главных ценностях:

1. Люди и их взаимодействие важнее процессов и инструментов.

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

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

2. Работающий продукт важнее документации и отчетности.

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

3. Сотрудничество с заказчиком важнее соблюдения формальных условий.

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

4. Готовность к изменениям важнее, чем следование плану.

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

Agile не исчерпывается четырьмя ценностями [1]. В манифесте есть также 12 принципов, которые уточняют и дополняют их. Их можно свести к следующему:

  • Главная цель — удовлетворение потребностей заказчика. Все процессы и задачи меняются и подстраиваются под них.
  • Разработчики и представители заказчика должны работать вместе ежедневно, обмениваясь идеями и полезной информацией.
  • Каждый участник команды должен быть хорошо замотивирован: комфортными условиями, позитивными откликами, финансовыми поощрениями.
  • Изменения допустимы на любом этапе, даже перед самым выпуском. При этом за каждую итерацию (от двух недель до двух месяцев) вы должны выпускать рабочий продукт.
  • Все должны стремиться к максимальной простоте и самоорганизации.

Agile, таким образом, — это система ценностей или даже философия ведения бизнеса. Она помогает сосредоточиться на главном, избавиться от ненужных формальностей и создавать рабочий продукт быстрее и эффективнее. Чтобы воплотить эти ценности на практике, используют конкретные методы. Согласно исследованию Agile в России [2], самые популярные из них — Scrum и Kanban.

3
Что такое Scrum и Kanban

Scrum, или «подход структуры» — метод на основе Agile, при котором работа над проектами разбивается на спринты — короткие, одинаковые по времени итерации. Команда тоже небольшая — до десяти человек. В нее входят разработчики, product owner (владелец продукта) и scrum-мастер. Product owner — куратор группы, который следит за тем, чтобы конечный продукт отвечал его целям и задачам. Scrum-мастер — человек, который отвечает за правильное применение scrum-метода: организует встречи и обмен сообщениями между всеми участниками. В процессе работы все участники ежедневно обсуждают каждое решение, планы и приоритеты, а также распределяют задачи.

Kanban, или «подход баланса» — метод, который нацелен на повышение качества сервиса: когда все усилия направлены на то, чтобы сделать продукт лучше и удобнее для пользователей, с помощью равномерного распределения задач между всеми участниками. Здесь команда представляет собой единой целое, без кураторов и неформальных лидеров. Процесс делится не на спринты, а на стадии проекта: планирование, разработка, тестирование, запуск. Главный показатель эффективности — максимально быстрое завершение каждого из этапов, без простоев и переработок. Если они все же возникают, команда совместно решает, как оптимизировать процесс.

В отличие от scrum, kanban:

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

В kanban принято визуализировать все детали процесса. Обычно это доска со стикерами, надписями или task-менеджер вроде Trello, где указаны все задачи, этапы и их статус. Часто задачи помечают разными цветами, чтобы обозначить, к какому этапу они относятся или на какой стадии исполнения находятся. Это помогает каждому участнику проекта видеть всю картину целиком, вовремя замечая, если что-то провисает или кому-то нужна помощь.

Пример доски Trello, созданной по принципам agile.

Если вы только подступаетесь к философии Agile и хотите попробовать отдельные элементы, проще начать с kanban. Небольшим стартапам и командам, которые только планируют запуск проекта, подойдет scrum.

4
В каких компаниях используют Agile

Когда Agile только появился, его использовали, в основном, разработчики ПО, игр и интерфейсов. Среди них — Google, Netflix, Microsoft, Spotify, Ericsson, Dell, Adobe, Accenture, WordPress, Riot Games, CH Robinson, Magna International, Scrum Alliance, Intronis.

Теперь же сфера применения расширилась: Agile используют, например, Saab для производства новых истребителей, General Electric и John Deere — ведущий американский производитель сельхозтехники.

5
Существует ли Agile в России

В Россию Agile пришел на несколько лет позже, но уже сегодня его активно используют в ИТ-секторе, ретейле, банках, онлайн-сервисах, промышленных предприятиях. Среди них — ПО-разработчик First Line Software, гипермаркет электроники «М.Видео», служба доставки Dostаевский, онлайн-кинотеатр ivi, бренд одежды 12 Storeez, металлургический концерн НМЛК.

ScrumTrek проводит ежегодное исследование Agile в России. В прошлом году в нем приняло участие более 1 тыс. компаний из 80 городов. Вот главные цифры за 2020 год [3]:

  1. География: 41% Agile-команд, участвующих в исследовании, находятся в Москве, 14% — в Санкт-Петербурге, 6,4% — в Перми, 5,5% — в Казани и Иннополисе (ИТ-кластер), 5,4% — в Новосибирске.
  2. Отрасли: ИТ — 42% участников, финансы — 18%, промышленность — 8%, ритейл — 7%, телеком — 4,8%, энергетика — 3,2%, консалтинг — 2,8%.
  3. 33% применяют гибкие подходы во внутренних проектах и услугах для клиентов.
  4. 41% используют scrum (на 7% меньше, чем год назад и на 9% — по сравнению с 2018 годом), 23% — kanban (на 8% больше, чем в 2019 году и на 13% — по сравнению с 2018-м): то есть, kanban постепенно догоняет scrum по популярности. При этом в мире доля kanban в три раза ниже, чем в России: за год она выросла с 5% до 7%; доля scrum при этом выросла с 54 до 58%.
  5. 60% компаний применяют несколько подходов одновременно. Доля собственных или комбинированных agile-методик в компаниях составляет 30%.
  6. 22% компаний оценили свой уровень компетенции в Agile как высокий — это на 9% больше, чем годом ранее. Если год-два назад многие только планировали применять гибкие методики, то сейчас уверенно внедряют их, комбинируя разные методы и даже изобретая свои. Однако три года — период, в который проводятся исследования — все еще слишком малый срок, чтобы говорить о зрелости в плане agile-подходов.
6
Нужен ли вашей команде Agile

Сегодня принципы Agile распространяются во многих сферах, хотя на первом месте по-прежнему остается ИТ-разработка. Однако гибкие подходы применимы далеко не везде. Эффективнее всего они работают там, где:

  • есть небольшие команды, создающие или улучшающие конкретный продукт (сервис) в условиях неопределенности;
  • нужно выпустить первую версию продукта как можно быстрее, чтобы обогнать конкурентов;
  • разрабатывают инновационный продукт, не имеющий аналогов, с непредсказуемыми свойствами.

Другими словами, Agile идеален для инновационных стартапов, но мало подходит корпорациям с отлаженными процессами и сложной структурой. Для таких компаний лучше работают методы с отдельными элементами Agile, которые проще масштабировать — SAFe (Scaled Agile Framework) и LeSS (Large-Scale Scrum).

Но и в ИТ-сфере Agile — далеко не единственный способ сделать процесс эффективнее. Здесь хорошо работают такие инженерные практики, как DevOps — метод работы, при котором все участники активно взаимодействуют друг с другом, а рабочие процессы взаимно интегрированы.

Чтобы протестировать новую идею, не проходя все этапы разработки, подойдут Customer Development, Design Thinking и другие продуктовые методики.

Наконец, есть более широкий подход, который включает в себя agile-методики — Business Agility («гибкость в бизнесе»). Он распространился позже — два-три года назад — и включает не только ускорение разработки и выпуска продукта, но и быструю реакцию на внешние изменения, гибкое целеполагание и распределение ресурсов.

7
Книги про Agile
  • «Блистательный Agile. Гибкое управление проектами с помощью Agile, Scrum и Kanban». Авторы: Роб Коул, Эдвард Скотчер. Для тех, кто только планирует перейти от классического проектного менеджмента к гибкому.
  • «Эпоха Agile. Как умные компании меняются и достигают результатов». Автор: Стивен Деннинг. Описывает работу гибких методов управления на разных уровнях, как правильно ставить цели и как их достигать.
  • «Scrum. Революционный метод управления проектами». Автор: Джефф Сазерленд, основатель фреймворка scrum. Необходима скрам-мастерам и тем, кто хочет применять этот метод и понять, в чем его польза и преимущества.
  • «Scrum и Kanban: выжимаем максимум». Авторы: Хенрик Книберг, Маттиас Скарин. Сравнение двух методов с практическими примерами, плюсами и минусами.
  • «Канбан и «точно вовремя» на Toyota. Менеджмент начинается на рабочем месте». Сборник статей от специалистов Toyota, посвященных внедрению kanban в компании, синтезе американского и японского подходов и как это повлияло на внутренние процессы.
  • «Agile: Оценка и планирование проектов». Автор — Майк Кон. Оценка и планирование критически важны для успеха любого проекта. Однако процесс планирования сложен, и наши планы часто оказываются далекими от реальности. Майк Кон, гуру в области Agile, дает инструменты, необходимые для оценки, планирования и управления agile-проектами любого масштаба.
Agile Внедрение инноваций Корпоративное образование Инновационный бизнес Управление проектами
Главное