Scrum плюс Agile: что такое гибкая методология разработки?

Разработку It-продуктовов можно сравнить с классическим производством, где достижение бизнес-задач также зависит от управления процессами и людьми. Достигать поставленных целей быстрее и эффективнее помогают методологии управления проектами. В IT-сфере к наиболее востребованным относятся Agile и Scrum. Обе эти концепции относятся к гибкому управлению, поэтому их нередко путают или обобщают.Если коротко, Agile — это философия разработки, а Scrum — методология с конкретными ролями в команде, методиками и принципами организации работы в проекте. Что объединяет эти два подхода и каким IT-специалистам они пригодятся, сейчас расскажем.

ПК для каждого

Scrum и Agile возникли в ответ на проблемы и недостатки традиционных, последовательных методологий разработки ПО, таких как Waterfall (каскадная модель). Если раньше разработка программ больше напоминала создание бетонной стены, то сейчас от разработчиков требуются адаптивные конструкции, которые можно изменять в процессе работы.Scrum и Agile — это гибкие подходы IT-разработки, потребность в которых назрела еще 80-90-е годах XX века. Причиной тому стал бум персональных компьютеров. Свои модели начали продавать Apple, Macintosh, PC-based и другие игроки. Компьютеры пошли в массы, и понадобилось много разных программ для решения пользовательских и бизнес-задач.
PC Sales
Источник: scrumtrek.ru
В процессе создания любого ПО часто возникают новые не предусмотренные требования. Поэтому решения нередко приходится «нащупывать» в процессе с учетом отзывов заказчика. Тот же MS Word стал самым популярным текстовым редактором спустя несколько версий и множества тестов.Понимая, что старые методы IT-разработки неэффективны, компании начали искать новые подходы. Так в 2001 году 17 американских экспертов сформулировали «Манифест гибкого программирования» (Agile Manifesto), и в его создании участвовали представители разных методологий, включая Scrum.

В чем суть Agile?

В отличие от того же Waterfull, подходящего для проектной работы с четким бюджетом и требованиями, Agile заточен под разработку в условиях неопределенности. Этот широкий фреймворк (набор инструментов) включает в себя несколько методологий, среди которых Scrum, Kanban, Lean и другие.Главная идея Agile заключается в гибкой разработке ПО и быстрой адаптации к изменениям и требованиям клиента. Особенно он применим в инновационных проектах и стартапах, где изначальная бизнес-идея может сильно измениться в процессе.
Вот основные принципы Agile:
Люди важнее процессов — взаимодействие и обмен информацией между членами команды помогают добиться понимания требований и решения поставленных задач.Работающий продукт важнее исчерпывающей документации — фокус команды должен быть сосредоточен на создании полноценного и тестируемого ПО.Готовность к изменения важнее следованию плану —требования могут меняться по ходу проекта, а гибкость ему обеспечивает развитие итерациями. Т.е. разработка ведется параллельно с анализом полученных результатов и корректировкой последующих этапов работы.Вовлечение заказчика и сотрудничество сторон – постоянная обратная связь помогает разработчикам лучше понять требования и предложить оптимальное решение.

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

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

Что такое Scrum?

Этот термин разработчики позаимствовали из регби, где он обозначает групповую тактику совместной работы для достижения общей цели. Одноименную методологию IT-сообществу в 1995 году предложили Кен Швабер и Джефф Сазерленд. Также они вдохновлялись опытом гибкого управления командами в японских компаниях.
Scrum предлагает четкие роли в команде, а также стандарты в организации ее работы. Вот ключевые составляющие методологии:Команда разработки (Development Team) – самоорганизующаяся группа профессионалов, ответственная за создание продукта.Владелец продукта (Product Owner) – представитель заказчика или бизнеса, который определяет требования к продукту и устанавливает приоритеты задач. Он взаимодействует с командой разработки, чтобы обеспечить максимальную ценность продукта.Скрам-мастер (Scrum Master) – отвечает за соблюдения принципов и правил Scrum. Скрам-мастер поддерживает команду разработки и владельца продукта, помогает им эффективно применять методологию.

Бэклог продукта (Product Backlog) – список требований, задач и функций, которые должны быть реализованы в проекте. Его составляет и курирует владелец продукта.

Спринт (Sprint) – фиксированный период времени (обычно от 1 до 4 недель), в за который разработчики выполняют определенный объем работы. Спринт начинается с планирования, включает разработку, тестирование, проверку продукта и презентацию его функционала.

Бэклог спринта (Sprint Backlog) – список задач, выбранных из бэклога продукта для реализации в текущем спринте.

Ежедневное стендап-собрание (Daily Scrum) – короткая ежедневная встреча, на которой члены команды рассказывают о текущих достижениях, планах и возникающих проблемах.

Демо спринта (Sprint Review) — в конце каждого спринта команда демонстрирует выполненную работу и получает обратную связь от владельца продукта и заинтересованных сторон.

Ретроспектива спринта (Sprint Retrospective) — команда разработки анализирует прошлый спринт и обсуждает, как можно улучшить процесс работы.

Где нужны гибкие методологии разработки?

Scrum и Agile используют многие продуктовые IT-компании, стартапы и крупные подразделения IT-разработки. Как правило, гибкие методологии подходят большим командам, у которых всегда много задач.

Плюс методологии Scrum в том, что ее можно настроить под команду. Также в ней нет иерархии, и все процессы работают прозрачно. Практики, которые я использую, помогают мне направлять команду. Наш продакт передает нам список задач, которые мы должны оценить и включить в спринт. Также он может отследить вовлеченность всей команды и отдельных сотрудников. Я работаю в проекте больше полугода, и за это время у нас не было факапов. KPI по каждому релизу обычно 95-100%”, — отмечает Таншолпан Утекулова, Senior Product Development Manager в компании DAR.

Как отмечает специалист, ключевая задача менеджера продукта — управление ожиданиями руководства компании и заказчика. Другими словами, чтобы все поставленные задачи были выполнены в срок с учетом реалистичных дедлайнов и приоритетов.»Очень важно следить за изменениями задач в бэклоге спринта. Например, я всегда придерживаюсь принципа защиты команды и не беру работу вне спринта. Если возникает срочная задача, мы обсуждаем и решаем, чем временно пожертвовать. В противном случае команда не успевает выполнить работу в срок и теряет фокус”, — считает Таншолпан Утекулова.

Кому пригодятся навыки внедрения гибких методологий?

Scrum и Agile могут использовать разные управленцы в IT. Scrum мастера может заменить product-менеджер, внедрив нужные элементы методологии в управление командой. Как это сделать, в своей учебной программе рассказывает ментор DAR U и Senior Product Manager Ардак Бердибеков.
За плечами ментора 7 лет управления продуктами в образовании, HR и энергетике. Курс Product management включает глубокие теоретические знания и реальные практические кейсы создания и управления продуктами. Учебная программа подойдет как действующим продуктологам, так и тем, кто хочет переквалифицироваться в продакт-менеджера.

“Продакт видит целостную картину и расставляет приоритеты”: интервью с Ардаком Бердибековым

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

Текст: Роман Лукьянчиков