Scrum позволяет более быстро и гибко разрабатывать и поставлять программное обеспечение, совершенствовать качество продукта, коммуникацию и сотрудничество в команде, повышать мотивацию и эффективность работы. Чтобы правильно применить скрам в деле и легко настроить, нужно в полном объёме понимать его суть. В статье разберем состав Scrum-команды, цели и задачи методологии, отличие Scrum от других, что соответствует спринту и итерациям.
Что такое Scrum
Scrum - это гибкая методология управления проектами, которая используется для разработки программного обеспечения и других продуктов, работающая во всем мире. Она была создана для управления сложными проектами, которые требуют постоянного обновления и изменений в ходе разработки.
Основная идея Scrum заключается в том, что проект делится на короткие периоды времени, называемые спринтами (обычно от 1 до 4 недель), каждый из которых заканчивается выпуском работающей модели. В начале каждого спринта команда определяет, что будет сделано в течение этого спринта, и работает над этим до его завершения. Каждый день команда проводит краткий стендап-митинг, чтобы обсудить прогресс и синхронизироваться. Можно делать каждый спринт меньше требуемого времени, например, по готовности каких-то задач (итогов).
Понятие Scrum также включает в себя концепцию продуктового бэклога, который больше представляет собой список задач, которые необходимо выполнить, чтобы достичь целей проекта. Бэклог формируется и регулярно обновляется продуктовым владельцем, который представляет интересы заказчика и формирует приоритеты.
Команда в Scrum самоорганизуется, что означает, что она сама решает, как выполнять работу и какие методы использовать. Но если компания собирается внедрить скрам, нужно заложить время, в которое команда и каждый человек учится. Это подразумевает также открытость, прозрачность и непрерывное улучшение процесса. Именно поэтому слово Scrum также поддерживает взаимодействие и коммуникацию между всеми сторонами проекта, что способствует быстрому и эффективному решению проблем и достижению общих целей. Scrum улучшит деятельность любого направления, в какой бы области его не внедрили. Однако стоит учесть, что он имеет и свои недостатки, а также противопоказания.
История появления
История появления скрама начинается в 1980-х годах, когда японские ученые Такэучи Нонака (Nonaka Takeuchi) и Хиротака Такэучи (Hirotaka Takeuchi) проводили исследования в области производства автомобилей в Японии. Они обнаружили, что японские автопроизводители, такие как Toyota и Honda, достигают успеха благодаря своей способности быстро адаптироваться к изменениям в рыночных условиях и быстро выпускать новые модели автомобилей.
Они пришли к выводу, что этот успех связан с применением инновационных методологий управления проектами и разработки продуктов, которые позволяют быстро адаптироваться к изменяющимся условиям рынка. Они назвали этот подход "новым знанием производства" и описали его в своей книге "The New New Product Development Game".
В конце 1980-х годов Джефф Сазерленд работал в компании Easel Corporation в США и тоже искал способы улучшения процесса разработки программного обеспечения. Он был вдохновлен идеями Такэучи и Такэучи и начал применять их в своей работе. Он разработал новую методологию управления проектами, которую назвал "скрам" (Scrum), используя теорию сложных систем и гибкое управление проектами.
В 1995 году Кен Швабер встретился с Джеффом Сазерлендом и заинтересовался его методологией. Они продолжили разработку скрама, уточнили и дополнили его принципы и правила, и описали все это в книге "The Scrum Guide", которая была опубликована в 2010 году.
Сегодня скрам является одной из самых популярных методологий управления проектами в мире и используется не только в области разработки программного обеспечения, но и в других отраслях. Он позволяет командам быстро адаптироваться к изменениям в условиях рынка и достигать большей эффективности и производительности.
Цели и задачи Scrum
Scrum помогает команде разработчиков создать более высококачественный продукт, улучшить эффективность человека и уменьшить риски, связанные с разработкой и внедрением продукта. Основные задачи Scrum:
- Управление проектом: обеспечивает структурированный подход к управлению проектом, порядок, позволяющий управлять процессом разработки продукта и следить за прогрессом.
- Коммуникация: поддерживает взаимодействие между всеми сторонами проекта, что способствует быстрому и эффективному решению проблем и достижению общих целей.
- Прозрачность: обеспечивает прозрачность в процессе разработки, показывает всем участникам проекта, что происходит, и какие задачи выполняются.
- Улучшение качества: дает команде постоянно совершенствовать качество путем регулярного обмена мнениями и обратной связи, а также постоянного внедрения улучшений и оптимизации процесса.
- Адаптивность: дает команде быстро реагировать на изменения и адаптироваться к новым условиям, что особенно важно в современном быстро меняющемся бизнес-окружении.
- Управление рисками: обеспечивает структурированный подход к управлению рисками, позволяя команде рано определить и минимизировать риски, связанные с проектом.
Группа новаторов, когда-то создала «Манифест гибкой разработки программного обеспечения», который лег в основу Agile и Scrum. В него вошли всего четыре пункта:
- Человек важнее инструментов.
- Качество продукта важнее документации.
- Взаимодействие с заказчиком важнее контракта.
- Готовность вносить изменения ранее установленного плана.
Эти четыре пункта стали основой для появления Agile, гибкого процесса разработки программного обеспечения. Позже были созданы 12 принципов, которые и сейчас используются в любой agile-методологии:
- Удовлетворение заказчика через раннюю и непрерывную поставку ценного программного обеспечения
- Приветствовать изменения требований, даже на поздних стадиях разработки
- Регулярно поставлять работающее программное обеспечение, отдавая предпочтение коротким срокам
- Бизнес-люди и разработчики должны ежедневно работать вместе на протяжении всего проекта
- Создавать проекты вокруг мотивированных людей
- Самый эффективный способ представить и передать информацию - это личные разговоры
- Работающее программное обеспечение - основной критерий оценки прогресса
- Agile-процессы способствуют устойчивому развитию
- Постоянное внимание к техническому совершенству и хорошему дизайну улучшает гибкость
- Простота - это искусство максимизации количества работы, которую нужно не делать
- Самоорганизация команды (каждого человека) и ее способность к адаптации
- Регулярная оценка и анализ процессов разработки и продукта.
Главная цель Scrum находится в обеспечении эффективной и гибкой разработки продукта, который соответствует потребностям заказчика.
Этапы работы по методу Scrum
Scrum включает следующие этапы работы:
- Планирование: В начале каждого спринта команда и владелец продукта (или человек, его представляющий) проводят планирование, определяя цели, время, объем работы и ожидаемые результаты спринта.
- Итерация (Спринт): Работа в Scrum основана на итерациях, называемых спринтами, которые обычно длительностью от 1 до 4 недель. Команда разработчиков работает на протяжении всего спринта, совершенствуя скрам-проект и выполняя задачи.
- Постоянное обновление: Команда регулярно обновляет продукт, предоставляя новую функциональность, исправления ошибок и т.д.
- Проверка (Review): в конце каждого спринта команда проводит проверку продукта, демонстрируя свои достижения заказчику или владельцу.
- Ретроспектива (Retrospective): Команда проводит ретроспективу для анализа работы, выявления проблем и поиска способов улучшения процесса работы.
- Планирование следующего спринта: В конце каждого спринта команда проводит моделирование следующего спринта, определяя новые цели и объем работы.
Планирование спринта в Scrum происходит в несколько этапов:
- Предварительная оценка объема работы: команда разработчиков вместе с владельцем продукта определяет, что необходимо выполнить в следующем спринте, а также оценивает их объем и сложность.
- Определение целей: команда разработчиков и владелец продукта (или человек представитель) определяют, какие цели, время и ожидаемые результаты должны быть достигнуты в рамках спринта.
- Создание плана спринта: команда разработчиков определяет, какие задачи будут выполнены в рамках спринта, как они будут выполнены, кто будет ответственен за выполнение каждого пункта и какие зависимости между задачами существуют.
- Оценка рисков: команда разработчиков и владелец продукта проводят анализ рисков и определяют, какие меры будут предприняты для минимизации рисков и обеспечения успешного завершения спринта.
- Создание бэклога спринта: команда разработчиков создает список задач (бэклог) для выполнения в рамках спринта.
- Определение продолжительности спринта: команда разработчиков определяет, какой будет продолжительность спринта.
- Завершение планирования спринта: команда разработчиков и владелец продукта проводят окончательное согласование плана спринта и договариваются о дальнейших шагах.
Результатом работы считается только то, что готово к использованию.
Составляющие Scrum
Разберем 10 главных элементов Scrum. Основные элементы:
- Команда разработчиков (Development Team): группа специалистов, которые работают вместе для достижения результата.
- Владелец продукта (Product Owner): представитель заказчика, ответственный за определение требований, приоритезацию задач и принятие решений моментом.
- Скрам-мастер (Scrum Master): человек, ответственный за поддержание процесса работы команды в соответствии с принципами Scrum, устранение препятствий и обеспечение эффективного взаимодействия между участниками.
- Бэклог или журнал продукта (Product Backlog): список задач и требований к продукту, который поддерживается и управляется владельцем.
- Бэклог спринта (Sprint Backlog): список задач, выбранных командой разработчиков для выполнения в рамках текущего спринта. Спринты и итерации могут повторятся.
- Спринт (Sprint): период времени, обычно от 1 (реже - двух) до 4 недель, в течение которого команда разработчиков работает над единой задачей.
- Планирование спринта (Sprint Planning): встреча, на которой команда разработчиков и владелец продукта определяют цели и объем работы на следующий спринт.
- Ретроспектива спринта: встреча, где анализируются результаты последнего спринта и ищет способы улучшения процесса работы в будущем.
- Обзор спринта: встреча, которая демонстрирует результаты последнего спринта заказчику или владельцу.
- Инкремент продукта (Product Increment): новая функциональность, которая добавлена в продукт в результате работы команды разработчиков в течение спринта.
Состав Scrum-команды
Scrum-команда состоит из трех ролей: команда разработчиков (Development Team), владелец продукта (Product Owner) и скрам-мастер (Professional Scrum Master).
Рассмотрим подробнее каждую из ролей:
- Команда разработчиков (Development Team). Это группа специалистов, которые работают вместе. Команда разработчиков состоит из специалистов, таких как программисты, тестировщики (проводящие альфа и бета тестирование, а также релизную версию ресурсов), дизайнеры и другие, которые имеют необходимые навыки для выполнения задач. Команда:
- Выполняет работы, необходимые для достижения задач спринта.
- Работает вместе для создания потенциально выполняемых инкрементов продукта на каждом спринте.
- Оценивает сложность задач и согласовывает объем работ на спринт с владельцем продукта.
- Определяет и проверяет собственный рабочий процесс и принимает решения.
- Самоорганизуется и обязуется взять ответственность за результат своей работы - закончить за определенный срок в соответствии с оговоренным затратами.
- Владелец продукта (называется Product Owner). Человек представитель заказчика, ответственный за определение требований к продукту, приоритезацию задач и принятие решений. Владелец должен иметь четкое представление о том, как итог должен выглядеть и какие функциональные возможности должны быть реализованы в какое время, затем планировать маркетинг и стратегию. Задачи:
- Определяет требования к модели и приоритет задач в журнале продукта.
- Должен объяснить команде, что должно быть создано и почему.
- Определяет готовность инкремента продукта после каждого спринта.
- Обеспечивает соответствие инкремента требованиям и потребностям пользователей и бизнеса.
- Решить, принять или отклонить инкремент продукта.
- Скрам-мастер (Scrum Master). Скрам-мастер - это человек обладающий большим опытом. Обучает команду, обрабатывает обратную связь после каждой итерации, анализирует продуктивность действий, узнает как на практике проявили себя члены команды. Должен иметь хорошее понимание Scrum, знать тонкости и быть готовым помочь команде разработчиков в достижении задач проекта. Обязанности:
- Должен обеспечить эффективность работы команды в соответствии с Scrum.
- Должен устранить препятствия, которые могут помешать команде достигнуть результата спринта.
- Должен обеспечить взаимодействие между командой, владельцем продукта и другими заинтересованными сторонами, взаимодействующими друг с другом.
- Должен обучать и помогать команде применять методологию Scrum, все время следовать принципам и рекомендациям, обучение дает больше результативности каждого человека.
- Должен помогать команде разработчиков в принятии решений и самоорганизации.
Кроме основных ролей, Scrum-команда может включать других участников, таких как эксперты по определенным технологиям или продуктовые менеджеры. Однако, важно понимать, что эти участники не являются членами основной команды, и их роли и задачи могут отличаться от ролей основных участников.
Принципы работы Scrum-команды
Scrum-команда занимается в соответствии с принципами Scrum. Рассмотрим подробнее, какие принципы должна соблюдать Scrum-команда на обязательной основе:
- Постоянное самосовершенствование. Опытные разработчики рассказывают, что совершенствование продукта, доведение до идеального состояние невозможно без самосовершенствования каждого члена команды.
- Автономность. Все сотрудники должны отвечать не только за общий результат и уметь работать в коллективе, но и выполнять многие обязанности индивидуально.
- Кросс-функциональность. Любая команда самодостаточна, так как в нее входят специалисты с разными навыками.
Остальные принципы работы Scrum-команды включают в себя:
- Работа в итерациях (спринтах)
- Коллективная ответственность за результат
- Прозрачность и открытость
- Адаптивность и гибкость
- Постоянное улучшение процесса
- Регулярные обзоры и ретроспективы
- Стремление к высокому качеству
- Самоорганизация и автономность команды
- Непрерывный процесс обратной связи
- Обеспечение приоритетности
- Распределение ролей и обязанностей
- Ориентация на потребности заказчика
Главный принцип работы Scrum-команды заключается в коллективной ответственности за результат и достижении поставленных целей.
Плюсы и минусы Scrum
Scrum - это гибкий способ управления проектами, которая позволяет командам быстро реагировать на изменения, модернизировать продукт по мере его развития и достигать поставленных результатов. Считаем подробнее плюсы и минусы Scrum.
Плюсы | Минусы |
|
|
Как и зачем проводятся совещания в Scrum
Scrum является фреймворком управления проектами, основанным на Agile-методологии разработки ПО. Совещания (meetings) являются важной частью концепта и предназначены для обмена информацией внутри команды и планирования работы на ближайший период. Возможны даже ежедневные встречи команд, где проговаривается не только глобальный план и ценности проекта, а и задача на короткий промежуток времени. Это эффективно для начала scrum-проекта, когда бэклог продукта еще не идеален.
Ниже описаны мероприятия, проводимые в Scrum, и их цели:
- Разработка бэклога продукта. Владелец разрабатывает концепцию продукта с учетом ситуации на рынке, потребностей пользователей. На основании этого составляется перечень требований к проекту, которые распределяются по приоритетности. Готовый бэклог — это техническое задание для команды.
- Сбор команды. Scrum-команда — единое целое. В проекте участвует небольшая группа специалистов разного профиля (6–10 человек). Они работают на общий результат и стремятся к одной цели.
- Sprint Planning (Планирование спринта) - это совещание, с которого начинается в каждый спринт, и предназначено для определения плана работы команды на протяжении спринта. Целью является определение того, что команда должна достигнуть в следующем спринте, и какие задачи будут выполнены в этот период.
- Daily Scrum (Ежедневное совещание, стендап) - это совещание ежедневное, и длится обычно не более 15 минут. Целью Daily Scrum является обмен командой информацией о прогрессе работы, проблемах, возникших при выполнении задач и планах на ближайший период.
- Scrum-доска. Команда использует физические либо программные доски, пространство которых разделяется на части, отражающие стадии работы над продуктом. Их количество может варьировать, но обязательно включает в себя три пункта (слева направо):
- запланированные задачи;
- задачи в активной работе;
- выполненные задачи.
Доска — это визуальное отображение рабочего процесса на разных стадиях. С ее помощью каждый член команды может контролировать свою работу и следить за проектом.
- Sprint Review (Обзор спринта) - это совещание в конце каждого спринта и предназначено для презентации продукта, разработанного командой в течение спринта. Целью является демонстрация продукта заинтересованным сторонам и сбор обратной связи.
- Sprint Retrospective (Ретроспектива спринта) - проводится после обзора спринта и предназначено для обсуждения работы команды, выявления проблем и поиска способов их решения. Целью этого совещания является улучшение процесса разработки продукта и устранение препятствий, которые могут повлиять на результаты команды в будущем.
Каждое из этих совещаний имеет свои цели и задачи, и все они являются необходимыми для успешного выполнения проекта в рамках Scrum. Проведение помогает команде быть в курсе изменений и держать фокус на целях, а также повышает прозрачность работы и снижает риски неудачи. Руководитель хочет успеха, и отдельные этапы совещаний совместно приводят к этому.
Пошаговое внедрение Scrum
Принципы Scrum - это итеративность, инкрементальность, прозрачность и коллективная ответственность. Вот пошаговое внедрение Scrum:
- Выберите владельца продукта, который четко определит, что должно быть сделано.
- Сформируйте скрам-команду.
- Назначьте скрам-мастера.
- Создайте бэклог проекта в виде списка пользовательских историй. Включите в него все задачи, которые команда могла бы сделать для глобальной цели, и расставьте их по приоритету. Вперед вынесите задачи, в которых заключена основная функциональность и которые принесут доход заказчику.
- Оцените задачи из бэклога, используя относительные величины, например, размеры футболок или числа из последовательности Фибоначчи. Оценивайте задачи всей командой с помощью покера планирования (planning poker): используйте колоду карт или приложение на смартфон.
- Проведите планирование спринта: выберите задачи и распределите их между исполнителями.
- Заведите скрам-доску, поделите ее на три части: нужно сделать, в работе, сделано. Перемещайте стикеры с задачами, чтобы видеть динамику работы. Используйте реальную или виртуальную доску.
- Не забывайте о ежедневных собраниях.
- В конце спринта проведите демонстрацию.
- Соберитесь на ретроспективу, обсудите, как улучшить работу, какие препятствия устранить. Это может быть неработающая кофемашина, тормозящий компьютер, некомфортная температура воздуха, вспыльчивость коллеги, недобросовестный подрядчик. Когда команда начинает работать по scrum, решаются проблемы, которые месяцами откладывались в долгий ящик.
- Начинайте следующий спринт с планирования.
Отличия Scrum от Kanban и Agile
Scrum, Kanban и Agile - это три подхода к управлению проектами. Ниже разберем отличия между ними.
Scrum:
- Это гибкая методология управления проектами, разработанная для разработки ПО и других продуктов.
- Имеет явную структуру, включая роли (Scrum Master, Product Owner, команда разработчиков), практики и артефакты.
- Работа происходит в рамках спринтов (обычно 2-4 недели), в которых команда выполняет задачи из Sprint Backlog.
- Подчеркивает коллективную ответственность и доверие между членами команды.
Kanban:
- Это метод управления рабочим процессом, который позволяет управлять потоком работы и повышать эффективность команды.
- Kanban не имеет явной структуры и ролей, а скорее представляет собой доску с задачами, на которой отображается текущее состояние работы.
- Работа происходит без установленных сроков, а задачи перемещаются по доске на основе их текущего состояния и приоритета.
- Kanban подчеркивает устранение излишков и непрерывное улучшение.
В чем разница между Scrum и Канбан? Если фреймворк Scrum сразу определяет рамки процесса, то канбан-метод встраивается в любой существующий и позволяет начать с того, что есть сейчас, постепенно его улучшая.
Agile:
- Это подход к разработке ПО, который подчеркивает сотрудничество и быстрые реакции на изменения.
- Agile не является конкретной идеей, а скорее набором принципов и ценностей, включая удовлетворение клиента, работающий продукт, сотрудничество с заказчиком, ответ на изменения и т. д.
- Agile подчеркивает гибкость и способность быстро адаптироваться к изменяющимся условиям.
В целом, Scrum и Kanban являются конкретными методологиями управления проектами, в то время как Agile - это более широкий подход к разработке ПО, который может быть реализован с помощью различных методологий, включая Scrum и Kanban.
Ошибки работы по Scrum
Несмотря на то, что Scrum является гибкой формой управления проектами, его внедрение может сопровождаться рядом ошибок, из-за которых ничего не получится. Вот некоторые из них:
- Недостаточное понимание ролей и ответственностей внутри команды Scrum. Каждая роль имеет свои обязанности, и непонимание этого может повлечь путаницу и конфликты.
- Отсутствие ясного и общего понимания того, что нужно достичь в рамках спринта. Это может убрать фокус и ускорить работу, что не всегда полезно для достижения результата.
- Перегрузка спринтом. Это может произойти, когда команда берет на себя слишком много для выполнения в рамках одного спринта. Так команда не успеет завершить все задачи, и это может повлиять на общий результат проекта.
- Неправильное планирование спринта. Некоторые команды могут просто вынимать задачи из Product Backlog и пытаться выполнить их в рамках спринта без достаточного планирования. В итоге - проблемы в процессе выполнения задач и снижение производительности.
- Недостаточная коммуникация между членами команды. Руководство основано на коллективной работе, и взаимодействие является ключевым элементом этой методологии. Ее недостаток - потенциальная неопределенность и дополнительные недопонимания.
- Неверная оценка задач. Команда Scrum может неправильно оценить задачи, следствие - срыв сроков или команда не будет работать с максимальной эффективностью.
- Отсутствие непрерывного улучшения. Scrum предполагает, что команда будет постоянно анализировать свою работу и совершенствоваться. Несоблюдение этого принципа - затягивание и снижение эффективности команды.
Кроме того, каждая команда уникальна, и ее ошибка может быть связана с конкретными особенностями. Важно постоянно анализировать свою работу и улучшать свой процесс работы в Scrum.
Рассмотрим примеры ошибок:
- Иногда проблемы возникают и с разработчиками. По сути, если в команде уже есть владелец продукта и Scrum-мастер, все остальные члены группы – это равноправные разработчики, от чьей слаженной работы зависит результат проекта. Еще разработчика можно назвать developer, что в более распространенном вольном переводе означает: «тот, чьей работой является создание новых идей и продуктов». Так вот, если разработчики теряют равноправие, разбиваясь на меньшие команды в составе группы, то команда перестает быть эффективной и функциональной. Такая ошибка так же понимается, как неверное распределение ролей в Scrum-группе.
- Бывает, что разработку продукта (например, сайта) команде заказал не один заказчик, а несколько. Представления о конечном результате в процессе разработки могут не совпадать и группа «единомышленников» превращается в несогласованную хаотичную силу, которая выбирает разные стороны. Они начинают по очереди высказывать каждый свои требования и мешают команде сосредоточиться на результате. О чем свидетельствует такая картина? Можно с уверенностью сказать, что в данном случае в команде некомпетентный владелец продукта, который не способен скоординировать действия заказчиков, приведя их к единому знаменателю, и довести до команды Scrum четко сформулированные условия, основанные на общих пожеланиях клиентов.
- Другой пример относится к ошибкам Scrum-мастера. Этот специалист должен быть ответственным за медиацию команды, призван налаживать внутреннюю связь в группе разработчиков, грамотно направляя каждого к созидательной миссии. А он всего лишь сосредотачивается на формальном выполнении своих обязанностей: ведет собрания и контролирует действия разработчиков. Иногда, не умея смотивировать членов команды, сам выполняет их функции, идя по пути наименьшего сопротивления. Ни о каком эффективном построении процесса в данном случае речь не идет.
Книги по Scrum
Чтобы понять как это работает в реальности, нужно лучше углубиться в тему. Лучшие книги про Scrum:
- Скрам Гайд. Исчерпывающее руководство: Правила Игры / Кен Швабер, Джефф Сазерленд. Руководство по применению скрама: описывает роли, мероприятия, артефакты скрама, и правила их использования. Гайд составлен и поддерживается соавторами методологии, осталось только разобраться в терминологии.
- Скрам. Революционный метод управления проектами / Джефф Сазерленд. Бестселлер соавтора scrum раскрывает историю создания и основные принципы методики. Автор приводит потрясающие примеры скрама в действии. Читать обязательно, чтобы загореться тут же внедрить в работу и жизнь.
- Скрам Джефф Сазерленд Роман Пихлер. Управление продуктом в Scrum. Agile-методы для вашего бизнеса / Роман Пихлер. Существенная часть книги посвящена владельцу продукта: его функциям, качествам, ошибкам. Автор подробно рассматривает процесс создания продукта по скрам методологии, начиная продумыванием концепции будущего продукта и заканчивая созданием отчетов.
- Agile-манифест разработки ПО. Состоит из нескольких строк, в которых заложены основные принципы разработки по гибким методологиям.
- Кеннет С. Рубин. «Основы Scrum». Эта книга даст более углубленное понимание технологии Scrum применительно к данной сфере разработок. Автор собрал словарь терминов, а для лучшего понимания материала текст издания подкреплен примерами и иллюстрациями.
- Кен Швабер. «Скрам». Еще один из основателей поделился своим практическим и теоретическим видением плюсов и минусов работы технологии.
- Хенрик Книберг. «Scrum и XP: заметки с передовой». Автор имел возможность экспериментировать с различными Agile-практиками, о чем и рассказывает в своей книге, используя понятные наглядные примеры.
- Майк Кон. «Scrum: гибкая разработка ПО». Авторское понимание процессов Scrum подкреплено результатами собственных экспериментов. Знания и опыт, описанные автором книги, можно также применить для внедрения гибкого метода Scrum в работу любой организации.
Часто задаваемые вопросы
Scrum предназначен для быстрой разработки и поставки сложных, принципиально новых продуктов, которых нет на рынке. До появления Scrum и других подобных подходов чаще всего применялась водопадная модель разработки, где есть последовательные этапы. Но она сильно замедляла процесс запуска продукта. Далее пришла итеративная модель, который также по скорости и удобству уступал новому эмпирическому Scrum.
Сегодня scrum-методологию используют как крупные компании, такие как Google, Amazon, Microsoft, Adobe, так и стартапы. Но подход не универсален: если команда работает по заданному алгоритму, выполняет повторяющиеся задачи, скрам только усложнит процесс. Сейчас фреймворк успешно используется во многих других индустриях: в материальном производстве (например, Северсталь, SOKOLOV), в маркетинговых агентствах и дизайнерских студиях, в телеком-компаниях (Tele2, МТТ), в фармакологии (BIOCAD), в розничных сетях (X5 Retail Group, МВидео) и др.
Scrum имеет смысл на больших, сложных проектах с множеством функций, например, интернет-магазинах, или на проектах, предполагающих новизну — стартапах. В первом случае интернет-магазин сможет запустить продажи, а значит и начать приносить прибыль заказчику, еще до того, как все задуманные функции будут введены в строй. А стартап сможет оценить идею, спрос, протестировать гипотезы, не тратя времени и средств на разработку полноценного сервиса в новой нише.
Если продукт разрабатывает удаленная команда, то ведение по scrum можно организовать в специальных сервисах. Например, Scrum-доска в Jira от Atlassian позволяет объединить все данные по проекту. Такая доска отображает прогресс во время цикла разработки. Любой участник команды может в любое время получить доступ к доске, написать об окончании или сообщить сколько осталось времени по прошлой задаче. Для организации спринта нужно заполнить бэклог проекта.
Чтобы команда вышла на нужный уровень зрелости и работоспособности, нужно минимум три месяца. Сразу становится сложно организовать работу, поэтому пока сотрудники привыкают, важно обсуждать, что делается, как прошел период и т.д.
А через год работы по Scrum, при условии постоянства состава и отсутствии непреодолимых внешних препятствий, Scrum-команда вполне может стать своеобразным «спецназом», самостоятельно решать проблемы и как орехи щелкать сложности — в разы быстрее такой же команды до того, как она переходит на Scrum.
Работа над скрам-проектами ведется в специальных приложениях и программах. Многофункциональный интерфейс дает возможность следить за ходом работы с разных ракурсов. Есть три популярных приложения для скрам:
- Worksection. Простой интуитивно понятный сервис для работы над проектами и решения задач бизнеса.
- Scrumdo. Чисто скрамовский сервис с планированием итераций, покером, карточками-задач. В остальном стандартный пакет функций с отчетами, диаграммами и гистограммами.
- Jira. Программный инструмент для управления проектами, разработанный компанией Atlassian. Jira часто используется в IT-компаниях для формирования списка задач, отслеживания общего прогресса команды и решения возникающих по ходу разработки продукта проблем.
Заключение
Подведем итоги. Scrum может применяться в широком диапазоне отраслей, но не является универсальным решением для всех проектов. Например, он не подходит для проектов, где требуются фиксированные сроки вплоть до часов, бюджеты и точное видение результатов, как в случае с конвейерной работой. Государственные структуры также могут столкнуться с трудностями при его внедрении, но в этом случае возможно использование "государственного Scrum", который помогает работать в рамках очень жестких временных и финансовых ограничений, разбивая проект на спринт. Но при необходимости можно немного изменить и адаптировать его даже под такие проекты.
Важно понимать, что Scrum не может решить проблемы недостаточной квалификации команды, нереалистичных сроков или недостаточного бюджета. За успех скрам отвечает вся команда, в этом его ценность. Узнайте о конкретной задаче все и сделайте взвешенные выводы перед внедрением Scrum в проект - необходимо наладить взаимодействие и сотрудничество внутри команды, чтобы сделать ее более эффективной.
Нашли ошибку в тексте? Выделите нужный фрагмент и нажмите ctrl + enter