Журнал / польза

Как командам выпускать продукты быстрее с помощью Agile

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

Что такое Agile

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

Но так страдало качество приложения: продукт выпускали недоделанным и не успевали его протестировать — не хватало времени.

Эти проблемы решил Agile — гибкий подход к управлению проектами. Его разработала группа проектных менеджеров из разных стран мира в 2001 году. Они сформулировали четыре ценности Agile и оформили их в манифест:

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

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

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

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

Agile дает командам больше свободы: участники могут менять подходы и инструменты во время работы, отказываться от задач, которые не ведут к цели, не следовать инструкциям, если они неэффективны. Методология ускоряет согласование продукта — оно происходит в процессе работы, а не после того, как закончились все этапы разработки. Это помогает выпустить качественный продукт в короткие сроки.

Scrum: метод работы в Agile

Если Agile можно назвать способом мышления, то Scrum — инструментом, который помогает реализовать его на практике.

При разработке продукта по Scrum у всех участников рабочего процесса есть роли и задачи.

Как устроен процесс работы по Scrum

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

Scrum-мастер организует встречу команды. В Scrum принято собирать небольшую команду из 3–9 человек, чтобы им было комфортно общаться между собой.

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

Цель спринта всегда должна вести к цели продукта

Хорошие примеры целей спринта:

— выкатить в релиз функциональность кнопки «Оплатить» и получить минимум одну транзакцию от пользователя;
— привлечь не менее 1000 пользователей в продукт;
— увеличить средний чек на 10%;
— увеличить среднее количество товаров в корзине на 20%.

Плохие примеры целей спринта:

— написать стратегию развития на месяц;
— сделать не менее 10 задач из бэклога;
— сортировать бэклог по ценности задач;
— написать не менее 1000 строчек кода.

Михаил Ряженка, LeadStartup.ru

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

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

Каждый участник отвечает на вопросы:

1. Что я сделал за вчера для достижения цели?

2. Что я планирую сделать сегодня?

3. Какие есть преграды и помехи на пути к цели?

Задача не просто отчитаться перед scrum-мастером, а выявить проблемы, если они есть, и найти совместные решения. Рекомендуемое время для таких встреч — до 15 минут.

Чтобы эффективнее достигать цели спринта, рекомендуется визуализировать весь бэклог и движение по нему на онлайн-доске. Например, можно использовать платформы Miro, Mural, Zoom, MS Whiteboard, Kaiten.

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

Команда собирается на ретроспективу (или «ретро»). Это встреча, на которой участники разбирают, насколько успешным был спринт и как эффективно достичь цели следующего спринта.

Если в конце спринта команда понимает, что не успевает закончить работу над задачами, спринт не продлевается. Недоделанные задачи переносятся на следующий спринт. Команда на ретроспективе анализирует, почему не получилось выполнить такой объем. Это важно — иначе команда не научится понимать, сколько задач реально сделать за один спринт.

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

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

Что еще почитать по Agile

Scrum Guide. Базовое руководство по фреймворку Scrum, его написали создатели методики — Кен Швабер и Джефф Сазерленд. Оно поможет больше узнать о ролях и правилах в Scrum.

«Коучинг agile-команд», Лисса Адкинс. Руководство по Agile, в котором описано, как создать обстановку для успешной работы самоорганизующихся команд.

«Scrum и XP: заметки с передовой», Хенрик Книберг. Автор книги дает много рекомендаций из практики: какие элементы Scrum обязательно нужно внедрять, а какие можно упустить, как организовать работу команды.

«Канбан Метод. Улучшение системы управления», Барроуз Майк. Руководство по методу канбан. Автор рассказывает, как канбан связан с Agile, как мыслить системно и ограничивать количество задач, чтобы работать эффективно.

Если вам интересно узнать больше об управлении проектами, смотрите видеолекции Школы менеджеров Академии Яндекса.