Scrum («схватка») – гибкая методология управления проектами, построенная на принципах тайм-менеджмента. В настоящее время данная методология является одной из наиболее популярных при разработке ПО. Ее основной особенностью можно назвать вовлеченность в процесс всех участников, причем у каждого участника есть своя строго определенная роль.

В Scrum можно выделить три базовых роли:

- Product owner (PO) представляет из себя связующее звено между заказчиком и командой разработки. Основной задачей PO является максимальное увеличение ценности разрабатываемого продукта и работы команды.

- Scrum master (SM) – служащий лидер (от англ. servant-leader). Его задача – помогать команде в максимизации ее эффективности, устранять препятствия, обучать и мотивировать.

- Development team (DT) – команда разработки, состоящая из специалистов, которые производят непосредственную работу над производимым продуктом. В The Scrum Guide (документе, являющимся официальным описанием методологии от ее авторов) прописаны качества и характеристики, которыми должна обладать команда. Это самоорганизованность и многофункциональность, а также коллективная ответственность команды за всю выполняемую работу. В среднем команда состоит из семи человек (+/-2).

Основой методологии Scrum является Sprint, в течении которого выполняется работа над продуктом. По окончанию данного этапа должна быть получена новая версия продукта. Sprint ограничен по времени 1-4 неделями и имеет одинаковую продолжительность на протяжении всей жизни продукта. Спринт должен иметь цель, которая является мотивирующим фактором.

Каждому Sprint предшествует Sprint Planning. Здесь производится оценка содержимого Product Backlog (одного из основных инструментов PO), а также формирование Sprint Backlog. Sprint Backlog содержит задачи (Story, Bugs, Tasks), которые должны быть выполнены в текущем спринте.

Ежедневно на Daily Scrum каждый член команды отвечает на вопросы «что я сделал вчера/ планирую сделать сегодня?» и «какие препятствия я встретил, выполняя свою работу?». Задачей Daily Scrum является определение статуса и прогресса работы над Sprint, раннее обнаружение возникших препятствий, выработка решений по изменению стратегий, необходимых для достижения целей спринта.

46523084-7915-4e8f-bfa4-3ed09dc93f2d.png

 После окончания спринта производятся Sprint Review и Sprint Retrospective с целью оценки эффективности команды на проделанном этапе. Там же прогнозируют ожидаемую эффективность в следующем спринте, выявляют имеющиеся проблемы, оценивают вероятность завершения всех необходимых работ и т.п.

Достоинства методологии:

• Ориентация на клиента;
• Адаптивность;
• Возможность изменения требований заказчиком;
• Прост в изучении;
• Получение потенциально рабочего продукта в конце каждого спринта.

Недостатки методологии:

• Правила, вступающие в конфликт с клиентоориентированностью;
• Упор на самоорганизующуюся, многофункциональную команду приводит к повышению затрат на отбор персонала, его мотивацию, обучение.
Вернуться к списку