Сейчас очень популярны гибкие методологии разработки программного обеспечения. И лидер среди них – Scrum. И это понятно. Небольшое количество ролей в процессе и всего 7 правил которым надо следовать. Можно все понять с первого прочтения. Ну и запомнить не сложно. И что больше всего привлекает бизнес заказчиков – требования можно менять до последнего момента, пока они не взяты в работу. Само название Scrum означает потасовка, драка за мяч в регби. Т.е. предполагается энергичное достижение цели в рывке. Идеологи Scrum считают его не процессом, а скорее процессным подходом позволяющим команде самоорганизовываться на пути развития продукта, предполагая, что команда сама добавить то, что необходимо для обеспечения эффективности и качества. Давайте посмотрим, что же из себя представляет Scrum?
Состав:
Scrum состоит из Scrum-команд в которых распределены соответствующие роли, перечня мероприятий, артефактов и правил. Размер команды 7 плюс/минус 2 человека.
Артефакты методологии Scrum:
- Product Backlog – общий журнал Требований к Продукту – список требований содержащий элементы развития продукта (User story), дефекты требующие исправления (Bug), и тому подобное.
- Product Burndown Chart - Динамика достижения цели продукта Показывает как успешно движется создание продукта
- Sprint Backlog – часть общего журнала Требований к Продукту, включенных в очередной Sprint для реализации.
- Sprint Burndown Chart - Динамика достижения цели Спринта показывает насколько успешно
реализовываются требования текущего спринта на пути достижения цели
спринта. - Increment - Инкримент показывает что было сделано в процессе Спринта, т.е. доведено до готовности
Роли методологии Scrum:
- Product owner - владелец продукта – это представитель заказчика, который отвечает за развитие продукта, ведет Backlog, выставляет приоритеты, принимает очередной Спринт.
- Scrum master – лидер Scrum-команды отвечающий за организацию мероприятий и за повышение эффективности команды.
- Development team – команда разработчиков производящая собственно разработку. Команда должна быть крос-функциональной и самоорганизующейся, что предполагает достаточно высокий уровень зрелости и профессионализма.
Мероприятия Scrum (элементы процесса):
- Sprint - очередная итерация разработки длительностью в 2 - 4 недели. Длительность фиксируется в команде и далее ее стараются придерживаться. На выходе должны получить какие-то рабочие элементы продукта, которые уже можно использовать в работе. Sprint – содержит все элементы разработки: сбор и уточнение требований, разработка (кодирование), тестирование, приемка разработанного функционала и его внедрение. Как это все должно делаться не оговаривается. Команда сама должна это решить.
- Sprint Planning - Планирование Спринта проводится до начала Спринта. В планировании участвует вся команда. В результате формируется Sprint Backlog - Журнал требований Спринта.
- Daily Scrum – 15-минутные ежедневные совещания, цель которого определение статуса и прогресса работ над Sprint, раннее обнаружение возникших проблем, выработка решений необходимых для достижения целей Sprint-а. Участвует вся команда. Ведет Scrum master.
- Sprint Review – подведение итогов Sprint-а. Оценивают, что было сделано, а что нет, какие трудности были и как их надо решать в будущем.
- Sprint Retrospective – ретроспектива. На ней решают что надо улучшить в организации работ в Sprint-е.
Вот в общем-то и все. Сущностей и правил не много, но им надо строго следовать. Иначе это будет не Scrum. Более детально изучить базовые понятия Scrum можно в курсе "
SCRUM В РАЗРАБОТКЕ ПО. БАЗОВЫЙ КУРС"
Понятно, что и автоматизировать такой процесс не сложно. И есть достаточно много готовых реализаций этого процесса.
Что надо для автоматизации?
Основной элемент – Продуктовый журнал (Product Backlog). Элементы журнала должны содержать классификацию: Развитие продукта, Исправление ошибки, Задача (может еще что-то). Должен быть заголовок и развернутое описание журнала, а так же возможность вкладывать файлы. Статус элемента журнала: Запланирован, В работе, Выполнен, Отменен. А так же приоритет и ссылка на спринт.
Спринт содержит: массив элементов продуктового журнала, описание цели спринта, дата начала и дата завершения, результаты ревью, возможно оценка выполнения работ.
Список продуктовых направлений должен содержать в качестве массива членов скрам-команды с указанием ролей.
В общем-то, все достаточно обозримо. Но надо иметь ввиду, что успех очень зависит от того что в элементах автоматизации – хорошая квалификация команды и умение самоорганизовываться.