Что такое Agile и Scrum, и как они помогают работать над проектами
Что такое Agile?
Agile — это метод работы над проектом, в основе которого лежит принцип поощрения личных инициатив сотрудников, а также готовность быстро адаптироваться к изменениям и меняющимся запросам потребителей.
Традиционные методы управления предполагали разработку глобального проработанного плана выполнения цели, который после утверждения нельзя было пересмотреть или отбросить. Естественно, при столкновении плана с реальностью, оказывалось, что заранее все предусмотреть невозможно. Но так как план был принят окончательно и бесповоротно, компани приходилось вкладывать дополнительные средства в решения возникших проблем. Установка на то, что все сотрудники будут выполнять единый план, убивала в них инициативность, потому как более выгодно было просто выполнять поручения сверху.
Agile предполагает, что все участники разработки продукта будут понимать, чего хочет его потенциальный потребитель, и будут вносить новые идеи в проект.
Философия Agile
- Общение важнее процессов и инструментов.
- Рабочий продукт важнее документации.
- Диалог с заказчиком важнее согласования контракта.
- Гибкость и адаптивность важнее следования первоначальному плану.
Как работает Agile
Суть Agile состоит в том, чтобы поделить рабочий процесс на циклы, которые могут длиться от одной до четырех недель. В течение одного цикла команда разработчиков пытается сделать тестовую версию требуемого заказчиком продукта. Для этого у них есть список пользовательских историй, в которых описаны нужды потребителей. За один цикл разработчики должны предоставить работоспособный вариант продукта — пусть и не идеальный, но такой, чтобы им можно было пользоваться. С каждым циклом команде будут поступать новые пользовательские истории, и с каждым циклом продукт будет становиться лучше.
Еще один важный аспект Agile состоит в том, что заказчик принимает участие в обсуждении при разработке продукта. Таким образом, он может непосредственно наблюдать за процессом реализации его заказа, и вносить свои коррективы.
Весь цикл работы поделен на шесть этапов:
- Планирование.
Проектная группа, в которую, помимо прочих, входят заказчик и главный менеджер, описывает конкретные задачи, которые надо выполнить. - Анализ требований пользователей.
- Работа над дизайном проекта и проектирование того, как будет выглядеть конечный продукт.
- Разработка.
- Тестирование.
- Демонстрация готового продукта заказчику.
12 принципов Agile:
- Удовлетворить клиента.
- Учитывать меняющиеся требования.
- Поставка рабочего продукта в короткие сроки.
- Сотрудничество между командами и устранение разрозненности.
- Создание мотивированной среды для расширения возможностей членов команды и предоставления им поддержки, необходимой для успешного завершения проектов.
- Личные взаимодействия для улучшения коммуникации.
- Удовлетворение ожиданий клиентов с помощью функционирующих продуктов.
- Поддержание устойчивого развития.
- Постоянное техническое совершенствование.
- Сохранение простоты для максимальной эффективности.
- Самоорганизующиеся команды представляют наибольшую ценность.
- Регулярное размышление о своей работе, необходимое для постоянного совершенствования.
Что такое Scrum?
Scrum — это гибкая система управления проектами, которая помогает командам структурировать и управлять своей работой, быстро выполняя сложные задачи. Подобно тому, как команда по регби (откуда и пошло ее название) готовится к большой игре, scrum поощряет команды учиться на собственном опыте, самоорганизовываться во время работы над проблемой и размышлять о своих победах и поражениях, чтобы постоянно совершенствоваться.
Хотя scrum чаще всего используется командами разработчиков программного обеспечения, его принципы могут быть применены ко всем видам командной работы. Это одна из причин, по которой scrum так популярен. Часто рассматриваемый как гибкая система управления проектами, scrum описывает набор совещаний, инструментов и ролей, которые работают согласованно, помогая командам управлять своей работой.
Scrum-команда сравнительно небольшая (около 10 человек), но этого вполне достаточно, чтобы оперативно разработать продукт в течение спринта (так называют промежуток времени, за который команде нужно выполнить задачу). Scrum-команде нужны три конкретные роли: владелец продукта, scrum-мастер (главный менеджер) и команда разработчиков. А поскольку scrum-команды являются многофункциональными, в них помимо разработчиков входят тестировщики, дизайнеры, специалисты по UX и инженеры по эксплуатации.
Скрам-листы
Скрам-листы — это максимально доступные и очень важные инструкции, без которых невозможно построить командную работу. Некоторые из них меняются в процессе реализации проекта, некоторые — подводят итоги спринта постфактум, чтобы на их основе сделать новую инструкцию.
Вот некоторые термины, которые могут встретиться в скрам-листах:
- Бэклог продукта — это список всех функций, которые хотят видеть пользователи в конечном продукте. Помимо этого, бэклог продукта содержит план того, как добиться всех перечисленных целей в спринте.
- Бэклог спринта — описание того, чего команда планирует достичь в конце спринта.
- Скрам-доска — отражает задачи каждого члена команды. Задачи имеют разные статусы: запланировано, в разработке, готово.
Этапы работы системы Scrum
Работа по системе Scrum состоит из нескольких этапов:
Планирование спринта
Команда начинает спринт с обсуждения, чтобы определить, над какими элементами из бэклога продукта они будут работать во время спринта. Планирование спринта обычно состоит из двух частей. В первой части владелец продукта и остальная часть команды договариваются о том, какие элементы бэклога продукта будут включены в спринт. Во второй части команда продумывает, как именно они эти элементы бэклога будут реализовывать.
Ежедневный Scrum
Ежедневный Scrum — это короткое (обычно не более 15 минут) обсуждение, в ходе которого команда координирует свои действия на следующий день. Ежедневный Scrum не предназначен для представления отчетов о состоянии дел или обсуждения решения проблем.
Спринт-ревью
В конце спринта вся команда (включая владельца продукта) обсуждает результаты спринта с потенциальными клиентами. Цель этого обсуждения — дать потенциально заинтересованным потребителям «пощупать» продукт. Фидбэк от спринт-ревью помещается в бэклог продукта для дальнейшего рассмотрения.
Ретроспектива
В конце спринта все члены команды рассуждают о том, что можно было бы усовершенствовать в работе. Это помогает постоянно развиваться и добиваться больших успехов в следующих спринтах.
Преимущества методологии Agile Scrum
Agile — это философия подхода к работе, которая зиждется на открытости и поддержке инициатив работников, а Scrum — это метод применения данной философии, нацеленный на быстрое поэтапное решение задач с постоянным сбором фидбэка пользователей.
Agile Scrum, таким образом, представляет собой мощный управленческий инструмент, с помощью которого можно не только разрабатывать программное обеспечение, но и строить заводы, планировать годовые бюджеты государств, открывать торговые площадки, и так далее. Таким образом, можно выделить следующие преимущества Agile Scrum:
- Креативность и инновации;
- Снижение затрат;
- Улучшение качества продукта;
- Оптимизированное сотрудничество всех членов команды;
- Раскрытие талантов ваших сотрудников;
- Удовлетворенность клиентов;
- Гибкость и адаптивность.
Самым большим преимуществом методологии agile scrum является ее гибкость. При использовании модели, основанной на спринте, команда получает обратную связь от заинтересованных сторон после каждого спринта. Если возникают какие-либо проблемы, scrum-команда может легко и быстро скорректировать цели продукта во время следующих спринтов, чтобы сделать продукт более соответствующим требованиям заказчика.
Таким образом, заинтересованные стороны после участия в каждом этапе получают именно то, чего хотят. Для внедрения методологии agile scrum в компании должен быть либо эксперт по scrum, либо внешний консультант, чтобы убедиться, что принципы scrum применяются правильно. Гибкая методология scrum предполагает точное выполнение и может привести к серьезным проблемам, если не будет выполнена должным образом.