Часто встречается заблуждение, что Agile (гибкая методология) и Scrum – одно и то же. На самом деле, скрам – это один из подходов Agile к созданию продукта. Среди других гибких подходов: Crystal, экстремальное программирование (XP), FDD и другие. Agile – это словно мороженное, где Scrum и другие методы выступают разными вкусами и добавками.
Agile является пользовательским руководством, когда скрам можно считать чемоданчиком с инструментами.
Перейти от Agile к Скрам – значит конкретизировать ваши подходы, оставаясь верным гибкой методологии. Как это можно реализовать мы покажем на примере нашего сервиса проектного менеджмента Worksection.
Разница между Agile и Scrum
Если описать скрам двумя предложениями, то это пофазовый гибкий подход. Он использует итерации, обеспечивает постоянное взаимодействие с заказчиком и поощряет коллективное принятие решений.
Методология Agile – это 4 ценности и 12 принципов, которые были выделены для успешного управления в IT-сфере. Манифест создателей подчеркивает важность работающего продукта и готовности к изменениям в проекте.
Scrum был известен почти на 10 лет раньше, чем Agile (1993 и 2001 годы соответственно), но стал частью гибкой методологии. Agile создавали представители IT-сферы, но подход распространился и в другие области бизнеса. А вот скрам так и остался инструментарием для управления проектами в IT-сфере.
Скрам строится на философии Agile, но использует также эмпирический процесс и принципы философии Lean.
Мы уже рассматривали разницу между Agile и скрам в статье о скрам методологии. Там мы прилагали таблицу, которая наглядно показывает общие и раличные моменты.
Scrum | Agile | |
Философия | - | + |
Методология | + | - |
Ритуалы | + | - |
Роли | + | - |
Артефакты* / Создаваемые объекты | + | - |
Прозрачность | + | + |
Короткие итерации | + | + |
Частые релизы | + | + |
Учет изменений | + | + |
Постоянное улучшение | + | + |
*Артефакты в скраме — это объекты, которые создаются командой во время работы над проектом. К ним относятся бэклог продукта, бэклог спринта и инкремент продукта, то есть работающий кусок функционала, который команда демонстрирует в конце спринта.
Что такое Scrum
- В скраме нет детального описания, как вам развивать ваш программный продукт.
- В Scrum нет проектного менеджера и подкоманд. Есть лишь одна скрам-команда, участники которой могут заменить других в случае необходимости.
- Этой командой формально руководит скрам-мастер, который следит за правильным внедрением scrum.
- Владелец продукта составляет бэклог продукта с пользовательскими историями – задачами, которые нужно реализовать в ходе проекта. Product Owner должен понимать рынок и пользователей, чтобы полученный продукт был востребованным.
- В скраме важна самоорганизация команды. В нее входят творческие и дисциплинированные исполнители, каждым шагом которых не нужно управлять лично.
В Worksection можно ввести команду, назначить отделы и права, а дальше команда будет работать с задачами самостоятельно. - Технология Scrum – это серия спринтов, которые могут длиться от 2 до 4 недель. Это цикл создания, тестирования или модифицирования программного обеспечения. В него входит 5±2 идеи.
- В конце спринта заказчик получает рабочую версию продукта с новой или дополнительной функциональностью. Заказчик или пользователи тестируют продукт, обеспечивая отзывы для скрам-команды.
- Технические специалисты в команде обычно обладают высоким опытом, но и также понимают бизнес-процессы.
Вызовы при переходе к Scrum
- При отсутствии проектного менеджера, команда берет ответственность за то, как работает и решает затруднения.
- Привыкнуть к новому режиму работы: планирование спринта и работа в его рамках вместо действий до дедлайна.
- Разбивать процесс на мелкие задачи, чтобы они могли быть выполнены в ходе спринта. Если пользовательская история слишком большая, то разработчик подготовит проект слишком поздно, и тестировщик не успеет сделать свою работу до конца спринта. Даже если дефекты будут обнаружены, то времени останется очень мало, чтобы их исправить.
- Использовать покер планирования, чтобы оценить сложность задачи и время, которое уйдет на ее выполнение. При начальном внедрении скрама потребуется несколько розыгрышей, чтобы участники команды сошлись в своих оценках.
- Правильный выбор владельца продукта. Часто им назначается специалист, который уже имеет свои обязанности в компании. Поэтому он разрывается на два фронта. А если он не проходил обучение и плохо понимает, что ему предстоит дело в этой роли, то такой Product Owner лишь навредит проекту.
- Добавлять новую пользовательскую историю в бэклог только с завершением уже имеющейся. Иначе список задач может стать невыполнимым в ходе спринта.
Например, бэклог контент-плана блога в Worksection выглядит так. В спринт на месяц берется часть бэклога тем и раздаются авторам. - Соблюдать приоритетность пользовательских историй. Не менять их порядок, когда конец спринта близок.
В Worksection каждой задаче, подзадаче и проекту можно присвоить приоритет и принимать решения о реализацции в соответствии с ним. - Когда решили перейти к скрам, то нужно следить, чтобы не вернуться к практикам и мышлению каскадной модели («Водопада»), где стадии реализуются строго последовательно.
- Подобрать те инструменты Scrum, которые работают для данного проекта.
- Не превратить ежедневные собрания в рутину или даже источник раздражения для команды.
Простую коммуникацию можно оставить в комментариях к задачам, а на встрече обсуждать только важные аспекты спринта.
Преимущества и недостатки Scrum
Преимущества
- Больше прозрачности для проекта. Благодаря ежедневным собраниям, все участники команды детально знают, как выполняются процессы, и могут сразу устранить недопонимания или выявить общие проблемы.
- Развитое чувство ответственности у команды. Когда нет проектного менеджера, раздающего указания, исполнители самоорганизуются и принимают коллективные решения. Каждый участник команды остается независимым.
- Легко внедрить изменения. При коротких спринтах и постоянном сотрудничестве с заказчиком, модифицировать продукт становится просто.
Если команда открыла новую пользовательскую историю во время спринта, она может добавить ее к следующему спринту, обсудив это на собрании. - Экономия средств. Благодаря тому, что команда и заказчик все время общаются, а проект разбит на мелкие задачи, ошибки в коде выявляются заранее – пока их исправление не станет слишком дорогостоящим.
Недостатки
- Риск того, что границы проекта растянутся. Задачи должны быть достаточно мелкими, чтобы вместить их в рамки спринта.
- Команда должна состояться из опытных и увлеченных специалистов. Незнание принципов Скрама или нежелание им следовать негативно отразится на проекте.
- Неподготовленный скрам-мастер все испортит. Если он попытается контролировать участник команды, как это обычно делает проектный менеджер, то проект провалится.
- Плохо сформулированные задания приведут к ошибкам. Когда внутренние цели не ясны, усложнится планирование, а спринты займут больше времени, чем должны были.
Правильно сформулированная задача и ее подзадачи в Worksection выглядит так:
Преимущества и недостатки Agile
Преимущества
- Конечная цель проекта может оставаться неизвестной. По мере продвижения начинают вырисовываться цели, под которые легко подстроить команду.
- Быстрый выпуск продуктов с высоким качеством. Благодаря тому, что проект разбит на итерации (как спринты в скраме), команда может сконцентрироваться на разработке, тестировании и сотрудничестве. Ошибки в коде быстро находятся и устраняются.
- Заказчики услышаны. Клиенты наблюдают за ходом проекта, делятся своим видением и могут влиять на конечный продукт. Работая тесно с командой, они чувствуют себя полноценными владельцами.
- Постоянный прогресс. В ходе взаимодействия команды и контактов с заказчиком происходит постоянная работа над ошибками и улучшение качества итераций.
Недостатки
- Планирование может быть неконкретным. Проектные менеджеры могут менять приоритетность заданий, из-за чего некоторые из них срываются по срокам. Также могут быть добавлены спринты во время цикла проекта.
- Недостаточное внимание документации. Как сказано в манифесте Agile методологии, рабочий продукт важнее документации. Однако иногда требуется баланс между бюрократией и рабочей дискуссией.
- Вовлеченность команды и универсальность навыков. Как и в случае со скрамом, участники проекта должны быть взаимозаменяемым, понимать и следовать принципам внедряемой методологии.
- Конечный продукт может очень отличаться от планируемого. В ходе взаимодействия с клиентом могут добавляться новые итерации, которые приведут к другому результату.
Когда использовать Scrum
- Требования к проекту меняются и дополняются
- Нужно постоянное взаимодействие с заказчиком и пользователями
- Неизвестно, как выполнить задачу большого объема, которую ранее не решали
- Нет фиксированной даты для выпуска программного продукта
- Команда хочет работать более свободно
- Нужно на регулярной основе выпускать программные продукты
- Скрам отлично подходит для проектов, где предстоит много неизвестного или ожидается немало изменений на ходу.
Когда использовать Agile
Вы должны понять, нужно ли применять гибкий подход в данном проекте. Если да, то можете выбрать один из компонентов Agile – в том числе каркас Scrum.
- Концепция конечного продукта не определена окончательно
- Заказчики или стейкхолдеры хотят влиять на содержание проекта
- Изменения нужно внедрять по ходу всего цикла
- Разработчики могут приспосабливаться к новым вызовам и работать независимо
- Изменения в бизнес-среде происходят быстро
- Убедиться, что продукт решит критическую проблему для компании
- Спонсирование проекта зависит от результатов на каждом этапе*
- Требуется выпустить продукт как можно быстрее
*Чтобы получить последующее финансирование, можно показать результаты с помощью детального отчета в Worksection, где отражены запланированные и реально затраченные резурсы:
Гибридные подходы
Если скрам в чистом виде не годится для проекта, но нужен гибкий подход, то можно попробовать технику Disciplined Agile Delivery (DAD). В ней сочетаются принципы Agile, Scrum, Kanban, Extreme Programming, Lean и др. DAD предполагает частое обучение, учитывает человеческий фактор и предполагает завершение задач как можно раньше.
Вердикт
Как один из подходов Agile, Scrum использует итерации для создания программного обеспечения. В отличие от материнской методологии, скрам не подразумевает наличие проектного менеджера – команда должна быть автономной, где каждый участник несет ответственность.
Поэтому, чтобы гармонично перейти от Agile к скрам, акцент должен делаться на особой роли скрам-мастера. Это натренированный специалист, который умело воспользуется инструментами Scrum в зависимости от специфики проекта. Он также способен доносить ключевые принципы команде, и не превратит ежедневные собрания в нудную «обязаловку».
Чтобы перейти от Agile к Scrum, нужно проводить итерации в виде спринтов, которые длятся несколько недель. Здесь важно разбить процессы на достаточно небольшие задачи, чтобы завершить их до конца забега.
Для перехода от Agile к Scrum требуется
не усложнение алгоритмов, а правильное понимание инструментов этого гибкого «каркаса».
Они помогут обеспечить полную прозрачность процессов благодаря собраниям и контактам с заказчиком. Скрам усиливает мотивацию команды, которая быстро прогрессирует благодаря большей ответственности и отсутствию надзора.
А для того, чтобы реализовать на практике любую из этих метологий, стоит попробовать вести проекты в Worksection!