Думаем, вам не раз приходилось слышать это загадочное слово Скрам (англ. Scrum) или данный подход вам уже знаком и вы давно хотели, но не решались использовать его в своей организации. Как бы то ни было, в данной статье мы подробно расскажем, что такое Scrum с чем его едят.
Что такое Скрам?
Скрам представляет собой один из фреймворков гибкой разработки ПО – Agile. Agile-разработка формально организовалась как альтернатива существующим некогда «тяжелым» практикам разработки ПО, которые предусматривали множество бюрократических процедур, значительно усложняющих рабочий процесс. Agile включает в себя целое семейство процессов разработки, каждый из которых базируется на четырех основных идеях, отраженных в Agile-манифесте:
- Люди и взаимодействие важнее процессов и инструментов
- Работающий продукт важнее исчерпывающей документации
- Сотрудничество с заказчиком важнее согласования условий контракта
- Готовность к изменениям важнее следования первоначальному плану
История Скрам началась в 1986 году, когда профессорами Гарвардской бизнес школы Хиротакой Такуэти и Университета Хитоцубаси Икудзиро Нонакой была опубликована научная статья The New New Product Development Game. Они заметили, что если весь процесс работы над продуктом выполняется поэтапно одной кросс-функциональной командой, то это положительно влияет на скорость и гибкость процесса разработки. Авторы назвали этот подход “как в регби” из-за его сходства с фигурой, которую образуют игроки, чтобы пройти дистанцию как единое целое, передавая друг другу мяч. Название «Scrum» он получил уже в 1995 году, от одного из его создателей — Кена Швабера,в исчерпывающей статье Scrum Development Process.
В каких случаях стоит использовать Скрам?
Так как Скрам является гибким подходом, сфера его применения довольно обширна и не ограничивается только разработкой. Однако для него существует ряд условностей, исходя из которых можно понять, нужен вам Скрам или нет.
Идеальной средой для Скрам являются:
- Сложный проект, требующий значительных временных затрат, который предусматривает изменения в процессе создания готового продукта;
- Гибкие сроки и бюджет проекта;
- Когда для проекта важен time to market;
- Команда из 3-9 специалистов, которых должно быть достаточно для выполнения проекта, а их навыки должны покрывать все производственные необходимости;
- Клиент, одобряющий Скрам-подход и понимающий суть его использования.
Скрам – это фреймворк, который помогает решать изменяющиеся в процессе работы задачи, чтобы продуктивно и творчески поставлять клиентам продукты с максимально возможной ценностью. Важно отметить, что Скрам — это не метод, не техника и не процесс. Это именно фреймворк, в рамках которого можно реализовать любые процессы и методы.
Поэтому не стоит рассматривать Скрам как панацею от всех бед. Данный подход хорош для тех проектов, где есть необходимость в постепенной разработке продукта в ситуации, когда нужно быстро реагировать и адаптироваться на изменения в рынке. При этом у клиента может быть четкое представление о конечном результате, но отсутствовать понимание того, что необходимо на сегодняшний день. Таким образом, Скрам позволяет в короткие сроки запустить работающий продукт с минимально необходимым функционалом, который будет наращиваться в дальнейшем процессе разработки.
Скрам-теория
Скрам основан на эмпиризме – философском направлении, которое утверждает, что источником любых знаний является опыт. Тремя столпами эмпиризма являются: прозрачность, изучение и адаптация. Все они находят практическое применение в процессе Скрам-разработки.
Основу Скрам составляет Скрам-команда, в которой представлены следующие роли:
Владелец продукта – обеспечивает максимальную ценность продукта и единственный, кто отвечает за управление Бэклогом продукта (о котором мы расскажем позже).
Скрам-мастер – несет ответственность за продвижение и поддержку Скрама на протяжении всего периода разработки, помогая всем членам команды понять теорию, практики и ценности Скрама. В обязанности Скрам-мастера также входит помощь Владельцу Продукта, Команды разработки и Организации.
Команда разработки – команда профессионалов, которые работают над разработкой продукта. Команда разработки самоорганизована и несет полную ответственность за поставку готового Инкремента продукта к концу Спринта. Важными характеристиками команды разработки являются кросс-функциональность и отсутствие подкоманд внутри коллектива.
Ядром Скрама является Спринт – временной отрезок, в течение которого создается готовый к выпуску Инкремент Продукта. Продолжительность Спринта определяется Скрам-командой индивидуально и не может быть изменена после его старта. Досрочно отменить Спринт может только Владелец продукта.
События в Скрам
Структура Спринта в Скрам четко определяется Событиями:
- Планирование Спринта — в рамках данного события определяются задачи, которые нужно решить в рамках Спринта. В планировании принимают участие все члены Скрам-команды.
- Ежедневный Скрам – встреча Команды Разработки, на которой она планирует свою работу на ближайшие 24 часа. Проходит каждый день в одно и то же время, в одном и том же месте на протяжении всего Спринта.
- Обзор Спринта – проводится в конце Спринта. На данном мероприятии всеми участниками команды обсуждаются результаты Спринта.
- Ретроспектива Спринта – анализ ошибок Спринта, позволяющий создать план улучшений работы Скрам-команды. Проводится в конце Спринта.
Чтобы можно было легко определить прогресс проделанной в рамках Спринта работы, в Скрам были предусмотрены Артефакты:
- Бэклог Продукта – это упорядоченный список известных требований к продукту и единственный источник требований любых необходимых изменений в продукте. Он никогда не бывает завершенным: на ранней стадии он содержит только изначально известные и наиболее понятные требования. Бэклог Продукта эволюционирует вместе с продуктом и средой, в которой он будет использоваться.
- Бэклог Спринта – прогноз Команды Разработки о том, какой функционал войдет в следующий Инкремент и что необходимо сделать для Готового Инкремента.
- Инкремент – общее число завершенных во время Спринта Элементов Бэклога продукта, которые должны соответствовать пониманию слова «готов» всех членов Скрам-команды.
Сегодня Скрам успешно зарекомендовал себя как в производстве продуктов, так и в сфере услуг и управления рабочими процессами. Для заказчика данный фреймворк может быть полезен своей адаптивностью под изменяющуюся среду и запросы.
Преимущества Скрам — в его эффективности и доступности, однако освоить его в совершенстве непросто. Критики данного подхода также обращают внимание на необходимость более жесткого отбора кадров для формирования Команды разработки, так как эффективная самоорганизация по умолчанию требует определенных навыков и качеств от ваших сотрудников.
Подытоживая все вышенаписанное: сила Скрам – в гибкой и адаптивной команде, которая соблюдает основные принципы и ценности Скрам.
Хотите внедрить Скрам, но не знаете, с чего начать?
Несмотря на кажующуюся простоту, даже сами создатели отмечают, что Скрам является одновременно простым для понимания и сложным для совершенного владения. Однако если вы твердо уверены, что Скрам необходим вашему проекту – обратитесь к тем, кто уже имеет достаточно опыта. Например, к сертифицированным специалистам Inventolabs, которые могут оказать помощь в:
- Создании проекта, используя подходы Agile и Scrum;
- Предоставлении своих разработчиков и своего Скрам-мастера для любой из команд (своей или заказчика);
- Предоставлении своего Владельца Продукта, который будет управлять развитием продукта и собирать требования от заказчика;
- Разработке продуктов, начиная от небольших стартапов заканчивая внедрением CRM;
- Обучении основам Agile и Scrum для команд заказчика (в рамках старта проекта).
При необходимости, мы также можем оказать помощь в ведении проекта более “классическими” методологиями, с привлечением менеджера проекта с заранее разработанным планом.
Наши специалисты:
Будем рады помочь в реализации ваших интересных проектов!