Найти тему

Что такое Agile

Оглавление

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

Год Эльбы в подарок всем ИП младше 3 месяцев
Получить подарок

Что такое Agile

В конце 20 века разработка ПО была скована строгостью и бюрократией. Компании месяцами стояли на месте, сдвигая сроки сдачи проектов. В 2001 году появился agile или «аджайл», создатели которого надеялись сделать программирование простым и эффективным.

У Agile много определений, но все они сводятся к двум:

  • гибкий метод управления разработкой продукта;
  • философия и система ценностей, по которым строят рабочие процессы.

В основе аджайл — короткие спринты (от англ. sprint — бег на короткой дистанции) или итерации. Они длятся 2-4 недели и состоят из:

  • анализа требований;
  • проектирования;
  • программирования — непосредственная работа;
  • тестирования, исправления ошибок;
  • отражения результатов в документации.

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

Началом Agile послужит манифест с ключевыми ценностями:

  1. Люди и взаимодействие важнее процессов и инструментов.
  2. Работающий продукт важнее исчерпывающей документации.
  3. Сотрудничество с заказчиком важнее согласования условий контракта.
  4. Готовность к изменениям важнее следования первоначальному плану.

Основные принципы, на которых строят рабочие процессы:

  1. Наивысший приоритет — удовлетворение потребностей заказчика, благодаря регулярной и ранней поставке ценного программного обеспечения.
  2. Изменение требований приветствуется даже на поздних стадиях разработки. Agile-процессы дают заказчику конкурентные преимущества.
  3. Работающий продукт следует выпускать как можно чаще, с периодичностью от пары недель до пары месяцев.
  4. На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе.
  5. Над проектом должны работать мотивированные профессионалы. Чтобы работа была сделана, создайте условия, обеспечьте поддержку и полностью доверьтесь им.
  6. Непосредственное общение является наиболее практичным и эффективным способом обмена информацией как с самой командой, так и внутри команды.
  7. Работающий продукт — основной показатель прогресса.
  8. Инвесторы, разработчики и пользователи должны иметь возможность поддерживать текущий темп бесконечно. Agile помогает наладить такой устойчивый процесс разработки.
  9. Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта.
  10. Простота — искусство минимизации лишней работы — крайне необходима.
  11. Самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд.
  12. Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.

Agile — это описание гибких методологий или подходов к работе. Здесь нет конкретных правил и руководства к действию. Но на основе ценностей и принципов выстроены подходы (фреймворки), помогающие повысить эффективность разработки — о них далее.

Из каких специалистов состоит команда

По Agile команда — коллектив равнозначных специалистов, следующих единой цели. Состав меняется в зависимости от проекта, но базово выглядит так:

  • заказчик — формирует требования к продукту;
  • product owner — руководитель, общается с заказчиком, доносит требования до команды;
  • project manager — управляет определенной командой. Актуален, когда в разработке участвует несколько команд. Например, дизайнеры, разработчики, тестировщики — у каждой команды свой проджект;
  • UX-дизайнеры;
  • технические писатели;
  • разработчики;
  • тестировщики.

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

Какие методики популярны в России

К Agile относятся десятки методик. Но все они сводятся к единой основе и отличаются деталями. В российской практике прижились два подхода — Scrum и Kanban.

Scrum

На скраме разработку продуктов делят на 2-4-недельные спринты, результатом которых становится часть программы или работающая функция. Примерный порядок работы:

  1. Заказчик формирует требования, на основе которых формируют бэклог продукта — перечень функций, которые должны быть в ПО.
  2. По бэклогу планируют этапы реализации — спринты или итерации. Для каждого спринта составляют свой бэклог, чтобы последовательно двигаться к цели.
  3. По завершении анализируют результат, выявляют и исправляют ошибки, корректируют исходный план и составляют бэклог следующего спринта.

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

Пример: заказчик хочет создать онлайн-кинотеатр. Порядок:

  1. Составляют перечень функций, на основе которого формируют бэклог продукта.
  2. Компания-исполнитель составляет дорожную карту реализации, планирует спринты.
  3. Первая итерация на 3 недели — разработка интерфейса.
  4. Через 3 недели с заказчиком согласовывают дизайн, вносят правки.
  5. Вторая итерация на 4 недели — разработка плеера. Составляют бэклог спринта, распределяют задачи, приступают к реализации.
  6. Через 4 недели тестируют плеер, исправляют ошибки, согласовывают с заказчиком.
  7. И так далее.

Kanban

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

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

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

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

Для кого подойдет

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

Например, скрам подойдет компании, которая занимается малоэтажным строительством. Возведение домов можно разделить на итерации: разработка котлована, заливка фундамента, возведение стен, строительство крыши и т.п. За каждый этап отвечают определенные сотрудники и есть результат — часть (функция) дома (продукта).

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

В России, как и в мире, лидером по использованию гибких методологий остаются ИТ-компании — 34% в 2022 г. по данным ScrumTrek. На торговлю приходится 6,5%, а на промышленность — 4,5%.

Нужен ли вашей команде

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

Например, начните с визуализации потока задач. Выше мы рассмотрели пример компании по малоэтажному строительству. Поставьте в офисе доску, разделите на столбцы и вносите стикеры с задачами. Или используйте специальный сервис — Trello и подобные.

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

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

Как это помогает на практике

Рассмотрим кейс внедрения гибких методик в компании Ticketland, которая с 2014 г. продавала билеты на концерты, спектакли, мюзиклы и другие мероприятия.

Организация столкнулась с несколькими проблемами:

  • ПО устарело, замена выглядела невозможной из-за сложности сервиса;
  • знания о проекте сосредоточены у нескольких сотрудников, что делает их незаменимыми;
  • долгая разработка продуктов, низкое качество на выходе;
  • потеря конкурентоспособности — уход ключевых клиентов;
  • высокая текучка разработчиков.

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

Что сделали:

  1. Классического руководителя заменил product owner, который знает процессы разработки, умеет выстраивать процессы с учетом запросов клиентов.
  2. Ввели регулярную ретроспективу для анализа ошибок.
  3. Зафиксировали методики и технологии, применяемые в работе.
  4. Стали обсуждать фичи с позиции выгод: сколько денег принесет внедрение.
  5. Установили принципы найма новых сотрудников.
  6. Внедрили кросс-дисциплину для прокачки навыков специалистов.
  7. Начали использовать пользовательские истории, чтобы оценивать нововведения с позиции клиентов.
  8. Перешли на микросервисы — разбили backend на части, чтобы в продукте разбирались все сотрудники.

Результат: поставленная задача выполнена, компания вернула конкурентоспособность. В 2017 году Forbes оценил Ticketland в 84,2 млн $, а в 2018 году МТС выкупил сервис за 3,25 млрд ₽.

Коротко

  1. Agile — это гибкие методологии управления разработкой или философия и система ценностей, по которым строят рабочие процессы.
  2. Ценности и принципы описаны в манифесте, который в 2001 году в штате Юта составили 17 разработчиков из разных стран мира.
  3. Скрам — это разделение разработки на спринты, после которых получают мини-продукты или работающие функции.
  4. Канбан — подход к визуализации потока задач. Подразумевает использование доски, разделенной на столбцы по статусам выполнения.
  5. Аджайл можно внедрить в небольшие компании с минимальными затратами. Достаточно поэтапно тестировать разные принципы и оставлять те, которые делают работу эффективнее.
  6. Agile не подойдет компаниям, в которых работают сотрудники с плохой самоорганизацией. Также гибкие методики не подойдут бизнесу со строгой отчетностью и тщательным контролем всех этапов работ.
Эльба — это онлайн-бухгалтерия. Сервис помогает предпринимателям на УСН и патенте вовремя сдавать отчётность и считать налоги без ошибок.
Попробовать бесплатно