Scrum - особый метод работы с командой проекта. Сейчас эта методология все более широко применяется в программировании, но в будущем она может захватить массу областей, где требуется регулярно улучшать процессы.
Само слово пришло из спорта.
Изначально оно обозначало схватку в регби (видели? это хорошо организованная куча из хорошо подготовленных и сильных духом людей). Японские ученые Хиротака Такэути и Икудзиро Нонака еще в конце 80-х перенесли метафору регби на управление проектами, когда пришли к выводу, что небольшие правильно составленные группы работают с лучшими результатами. Термин постепенно прижился среди специалистов и ученых, а подход, основанный на принципах коротких циклов командной работы, развился в самостоятельное направление проектного менеджмента.
Почему он так пригодился в подготовке ПО? Принципы Scrum позволяют улучшать действующую программу в короткие сроки. Вместо того, чтобы до бесконечности предаваться процессу улучшения различных участков программы, причем эти улучшения могут противоречить друг другу, вызывать дополнительные требования к другим разработчикам, делать программу все более громоздкой и непонятной пользователю, фокус внимания переносится на конечного пользователя. Именно для него команда проекта строит процесс разработки, который тоже очень спортивно называется спринт sprint.
Процедуры спринта жестко регламентированы, по времени он занимает обычно до 4 недель, и каждые сутки в спринте повторяются определенные процедуры. Команда спринта получает журнал пожеланий к будущей функциональности программы, из которого владелец проекта выбрал несколько задач над которыми будет вестись работа в данном спринте. Команда состоит из разных специалистов, это программисты, тестеры, аналитики и пр. и они вместе отвечают за результат.
Специальные техники оценки скорости разработки, процедуры переговоров при планировании, помогают не отвлекать команду во время спринта на что-либо кроме решения заранее намеченных задач. Решение каждой задачи не должно занимать более 12 часов.
Интересно графическое отображение работы команды - Диаграмма сгорания работ. Этот график ежедневно обновляется и показывает, сколько работы еще предстоит сделать. У опытной, сработанной команды кривая хода работ по проекту уверенно стремится вниз. Недостатки планирования или управления, конечно, могут привести к тому, что объем работ может долгое время оставаться прежним, и даже иногда увеличиваться. Все это записывается в историю проекта, и на собственных ошибках команда учится идти вперед.
Совещания по времени ограничены 4-8 часами перед началом спринта, и 15 минутами каждое утро во время спринта.
Во время ежедневных совещаний каждый член команды обязан высказаться о том, что он сделал за время с прошлого совещания, что он сделает сегодня для достижения цели спринта, и какие возможны на этом пути препятствия. Затем команды приступают к работе, но их представители участвуют еще в одном совещании на уровень выше - скрам над скрамом. Вопросы те же, но на уровне не отдельного человека, а команды.
В конце спринта команда показывает всем заинтересованным то, что им удалось завершить. А сами члены скрам-команды проводят еще одно - ретроспективное - совещание. Они извлекают уроки на будущее, выбирая пути улучшения самого процесса разработки.
Русские переводы литературы по данной тематике появились только в последние годы. Так что России еще предстоит познакомиться с этой прогрессивной технологией.