От айтишников часто слышны модные слова по типу аджайл, скрам,спринт, канбан и многие другие. Это кажется какой-то тайной программистов, недоступной специалистам из других отраслей. Рассказываем, что такое Agile, почему гибкая разработка стала популярной и как она помогает компаниям масштабироваться.
Год Эльбы в подарок всем ИП младше 3 месяцев
Получить подарок
Что такое Agile
В конце 20 века разработка ПО была скована строгостью и бюрократией. Компании месяцами стояли на месте, сдвигая сроки сдачи проектов. В 2001 году появился agile или «аджайл», создатели которого надеялись сделать программирование простым и эффективным.
У Agile много определений, но все они сводятся к двум:
- гибкий метод управления разработкой продукта;
- философия и система ценностей, по которым строят рабочие процессы.
В основе аджайл — короткие спринты (от англ. sprint — бег на короткой дистанции) или итерации. Они длятся 2-4 недели и состоят из:
- анализа требований;
- проектирования;
- программирования — непосредственная работа;
- тестирования, исправления ошибок;
- отражения результатов в документации.
На выходе получается мини-продукт или отдельная функция проекта. Например, при разработке банковского приложения могут начать с интерфейса. Получится готовая оболочка, но нажатие кнопок не приведет к действиям. Потом компания начнет внедрять функции, чтобы кнопки обрели смысл.
Началом Agile послужит манифест с ключевыми ценностями:
- Люди и взаимодействие важнее процессов и инструментов.
- Работающий продукт важнее исчерпывающей документации.
- Сотрудничество с заказчиком важнее согласования условий контракта.
- Готовность к изменениям важнее следования первоначальному плану.
Основные принципы, на которых строят рабочие процессы:
- Наивысший приоритет — удовлетворение потребностей заказчика, благодаря регулярной и ранней поставке ценного программного обеспечения.
- Изменение требований приветствуется даже на поздних стадиях разработки. Agile-процессы дают заказчику конкурентные преимущества.
- Работающий продукт следует выпускать как можно чаще, с периодичностью от пары недель до пары месяцев.
- На протяжении всего проекта разработчики и представители бизнеса должны ежедневно работать вместе.
- Над проектом должны работать мотивированные профессионалы. Чтобы работа была сделана, создайте условия, обеспечьте поддержку и полностью доверьтесь им.
- Непосредственное общение является наиболее практичным и эффективным способом обмена информацией как с самой командой, так и внутри команды.
- Работающий продукт — основной показатель прогресса.
- Инвесторы, разработчики и пользователи должны иметь возможность поддерживать текущий темп бесконечно. Agile помогает наладить такой устойчивый процесс разработки.
- Постоянное внимание к техническому совершенству и качеству проектирования повышает гибкость проекта.
- Простота — искусство минимизации лишней работы — крайне необходима.
- Самые лучшие требования, архитектурные и технические решения рождаются у самоорганизующихся команд.
- Команда должна систематически анализировать возможные способы улучшения эффективности и соответственно корректировать стиль своей работы.
Agile — это описание гибких методологий или подходов к работе. Здесь нет конкретных правил и руководства к действию. Но на основе ценностей и принципов выстроены подходы (фреймворки), помогающие повысить эффективность разработки — о них далее.
Из каких специалистов состоит команда
По Agile команда — коллектив равнозначных специалистов, следующих единой цели. Состав меняется в зависимости от проекта, но базово выглядит так:
- заказчик — формирует требования к продукту;
- product owner — руководитель, общается с заказчиком, доносит требования до команды;
- project manager — управляет определенной командой. Актуален, когда в разработке участвует несколько команд. Например, дизайнеры, разработчики, тестировщики — у каждой команды свой проджект;
- UX-дизайнеры;
- технические писатели;
- разработчики;
- тестировщики.
Agile — это про гибкость, поэтому не запрещено включать других специалистов. Например, если компания создает продукт для коммерческой реализации, в состав входят маркетологи — они отвечают за анализ потребностей аудитории и определение оптимального перечня функций.
Какие методики популярны в России
К Agile относятся десятки методик. Но все они сводятся к единой основе и отличаются деталями. В российской практике прижились два подхода — Scrum и Kanban.
Scrum
На скраме разработку продуктов делят на 2-4-недельные спринты, результатом которых становится часть программы или работающая функция. Примерный порядок работы:
- Заказчик формирует требования, на основе которых формируют бэклог продукта — перечень функций, которые должны быть в ПО.
- По бэклогу планируют этапы реализации — спринты или итерации. Для каждого спринта составляют свой бэклог, чтобы последовательно двигаться к цели.
- По завершении анализируют результат, выявляют и исправляют ошибки, корректируют исходный план и составляют бэклог следующего спринта.
Команда регулярно обсуждает задачи на собраниях, расставляет приоритеты и применяет краткосрочное планирование. Это позволяет не сбиваться с курса и ускоряет разработку.
Пример: заказчик хочет создать онлайн-кинотеатр. Порядок:
- Составляют перечень функций, на основе которого формируют бэклог продукта.
- Компания-исполнитель составляет дорожную карту реализации, планирует спринты.
- Первая итерация на 3 недели — разработка интерфейса.
- Через 3 недели с заказчиком согласовывают дизайн, вносят правки.
- Вторая итерация на 4 недели — разработка плеера. Составляют бэклог спринта, распределяют задачи, приступают к реализации.
- Через 4 недели тестируют плеер, исправляют ошибки, согласовывают с заказчиком.
- И так далее.
Kanban
В основе Канбана — доска, разделенная на столбцы со статусами задач. Визуализация оптимизирует работу — легко отслеживать статус разработки тех или иных элементов продукта.
Канбан проще Скрама, требует меньше планирования и позволяет работать в потоке. Но в этом и его главный минус — сложно спрогнозировать сроки реализации продукта. На промежуточном этапе могут быть готовы второстепенные функции, но ключевые возможности ПО могут оставаться в разработке.
Пример: тот же онлайн-кинотеатр. На старте заказчик аналогично формирует требования к продукту, которые попадают в левый столбец доски. Дальше ответственные специалисты берут в работу задачи, сдвигают в соответствующий столбец. После выполнения и согласования двигают дальше — получается потоковая работа.
В чистом виде методики используют редко. Компании комбинируют варианты, чтобы добавить в процессы плюсы каждого. Например, команда может двигаться спринтами, а внутри каждой итерации выстраивать канбан-доску для визуализации.
Для кого подойдет
Создатели задумывали Agile как набор ценностей и правил для стартапов и компаний, которые выполняют небольшие заказы. Сегодня принципы гибкой разработки повсеместны вне зависимости от отрасли.
Например, скрам подойдет компании, которая занимается малоэтажным строительством. Возведение домов можно разделить на итерации: разработка котлована, заливка фундамента, возведение стен, строительство крыши и т.п. За каждый этап отвечают определенные сотрудники и есть результат — часть (функция) дома (продукта).
Канбан с визуализацией потока задачи и вовсе универсален. Постепенно его можно внедрить в организацию любой направленности.
В России, как и в мире, лидером по использованию гибких методологий остаются ИТ-компании — 34% в 2022 г. по данным ScrumTrek. На торговлю приходится 6,5%, а на промышленность — 4,5%.
Нужен ли вашей команде
Нет универсального перечня критериев, по которому определяют необходимость Agile. И хотя комплексное внедрение гибких методологий — дорогостоящий процесс, отдельные принципы и подходы можно тестировать с минимальными затратами.
Например, начните с визуализации потока задач. Выше мы рассмотрели пример компании по малоэтажному строительству. Поставьте в офисе доску, разделите на столбцы и вносите стикеры с задачами. Или используйте специальный сервис — Trello и подобные.
Пробуйте, оценивайте эффективность и двигайтесь дальше. Так образуется система, оптимальная для вашего бизнеса.
Agile не подходит, если у сотрудников компании низкая самоорганизация. В гибкой среде сотрудники не боятся принимать решения и нести ответственность за результат. Также гибкие методики не приживутся в компаниях со строгой отчетностью и тщательным контролем работы.
Как это помогает на практике
Рассмотрим кейс внедрения гибких методик в компании Ticketland, которая с 2014 г. продавала билеты на концерты, спектакли, мюзиклы и другие мероприятия.
Организация столкнулась с несколькими проблемами:
- ПО устарело, замена выглядела невозможной из-за сложности сервиса;
- знания о проекте сосредоточены у нескольких сотрудников, что делает их незаменимыми;
- долгая разработка продуктов, низкое качество на выходе;
- потеря конкурентоспособности — уход ключевых клиентов;
- высокая текучка разработчиков.
Компания поставила задачу: внедрить гибкую методологию для оптимизации внедрения новых систем и поддержания старых.
Что сделали:
- Классического руководителя заменил product owner, который знает процессы разработки, умеет выстраивать процессы с учетом запросов клиентов.
- Ввели регулярную ретроспективу для анализа ошибок.
- Зафиксировали методики и технологии, применяемые в работе.
- Стали обсуждать фичи с позиции выгод: сколько денег принесет внедрение.
- Установили принципы найма новых сотрудников.
- Внедрили кросс-дисциплину для прокачки навыков специалистов.
- Начали использовать пользовательские истории, чтобы оценивать нововведения с позиции клиентов.
- Перешли на микросервисы — разбили backend на части, чтобы в продукте разбирались все сотрудники.
Результат: поставленная задача выполнена, компания вернула конкурентоспособность. В 2017 году Forbes оценил Ticketland в 84,2 млн $, а в 2018 году МТС выкупил сервис за 3,25 млрд ₽.
Коротко
- Agile — это гибкие методологии управления разработкой или философия и система ценностей, по которым строят рабочие процессы.
- Ценности и принципы описаны в манифесте, который в 2001 году в штате Юта составили 17 разработчиков из разных стран мира.
- Скрам — это разделение разработки на спринты, после которых получают мини-продукты или работающие функции.
- Канбан — подход к визуализации потока задач. Подразумевает использование доски, разделенной на столбцы по статусам выполнения.
- Аджайл можно внедрить в небольшие компании с минимальными затратами. Достаточно поэтапно тестировать разные принципы и оставлять те, которые делают работу эффективнее.
- Agile не подойдет компаниям, в которых работают сотрудники с плохой самоорганизацией. Также гибкие методики не подойдут бизнесу со строгой отчетностью и тщательным контролем всех этапов работ.
Эльба — это онлайн-бухгалтерия. Сервис помогает предпринимателям на УСН и патенте вовремя сдавать отчётность и считать налоги без ошибок.
Попробовать бесплатно