Разница между Scrum и Agile методологиями

592

Бурное развитие IT-технологий привело к необходимости появления и новых методов работы с ними. Традиционное управление проектами не учитывало всех нюансов программирования и не способствовало улучшению контроля за выполнением задачи на разных этапах. Такое несоответствие потребностей отрасли и возможностей существующих методик привело к появлению Agile, а затем и других инновационных фреймворков, в частности, Scrum. Их применение стало настоящим прорывом, популярность постоянно возрастает, поскольку целевая аудитория — программисты, заказчики, менеджеры — отмечают эффективность нового подхода. В чем же он состоит?

ЗАПИСАТЬСЯ НА ОБУЧЕНИЕ AGILE

Agile

Фактически, Agile — это целая философия нового подхода к совместной работе всех специалистов, занятых в одном проекте. Впервые основные ценности были сформулированы в т.н. “Манифесте Agile” — их всего четыре:

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

Исходя из предложенных ценностей, были сформулированы и двенадцать принципов управления IT-проектами. Упор делается на постоянном общении всех занятых лиц, в частности, предлагается проведение ежедневных встреч, цель которых — подведение краткосрочных итогов и корректировка на их основании дальнейших действий. Естественно, такой подход категорически неприемлем в том случае, когда проект выполняется в жестких рамках по времени и бюджету. Во всех остальных случаях Agile позволяет наиболее эффективно достичь конкретного результата.

Scrum

Методология Scrum предполагает несколько иной подход. Ключевое отличие состоит в том, что тут во главе угла ставится принцип общения всех занятых в проекте лиц — специалистов из разных областей и владельца продукта. Возглавляет всю эту компанию специалист по Scrum. Задача Scrum-мастера — организация самого процесса, встреч, контроль за соблюдением принципов работы, корректировка планов и краткосрочных задач. Все вопросы, возникающие между специалистами и заказчиком, регулирует непосредственно владелец продукта, выступающий в данной методологии связующим звеном между заказчиками и исполнителями.

Все работы по проекту, выполняемые параллельно, разбиваются на некоторые короткие этапы, 7-10 дней, получившие название “спринты”. Длительность каждого спринта — от семи до двадцати дней. Первый спринт всегда — планирование работ, последний — подведение итогов. Промежуточные зависят от выполнения работ, по итогам каждого проведенного могут корректироваться все последующие. Это также гибкая методология, которая предполагает постоянное внесение изменений в процесс работы над проектом.

Что общего у Scrum и Agile?

Обе методологии призваны принять, в первую очередь, изменчивость самого процесса планирования — это гибкие методологии. Зачастую Scrum считают лишь фреймворком более обширной Agile, но единого мнения нет — все принципы находятся в стадии разработки и постоянных изменений.

К единым чертам также следует отнести рекомендации по проведению ежедневных встреч — для того, чтобы быстрее реагировать на изменения и проводить корректировку планов. Также основным инструментом обеих методик являются доски — как настенные, так и онлайн. Это обеспечивает большую наглядность всему проекту, позволяет отмечать этапы и стадии разработки, даты и ответственных лиц.

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

Отличия между Scrum и Agile

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

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

А вот методология Scrum, действуя на основании тех же принципов, опирается на спринты — спланированные кратковременные участки работы, выполнение которых дает возможность контролировать скорость и качество работы. Фактически фреймворк только уточняет основные ценности — изменчивость и общение для достижения основных целей.

Scrum предусматривает кросс-функциональность — каждый член команды вовлечен в проект с момента его создания до момента его окончательного успешного завершения. Для того, чтобы сотрудничество было эффективным, проводятся регулярные встречи, но если ежедневные призваны только делиться наработками и консультировать партнеров, то встреча по итогам окончания очередного спринта призвана провести определенные итоги и, при необходимости, откорректировать весь проект.

Как Agile, так и SCRUM следуют системе — некоторые функции разработаны как часть спринта и в конце каждого спринта; функции выполняются сразу после написания кода, тестирования и их интеграции в продукт. Но при этом Agile более масштабна и может быть использована под любой проект с некоторыми корректировками, что вполне допустимо в рамках столь гибкой методологии.

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

Недостатки новых методологий

Безусловно, у новых методик появились как сторонники, так и противники, у которых, впрочем, также достаточно весомые аргументы. В первую очередь, к недостаткам относят невозможность долгосрочного планирования при использовании любого фреймворка по принципу Agile. Во-вторых, многих сотрудников компаний, применяющих такие инновационные методики, несколько напрягает необходимость проведения ежедневных встреч. Поскольку все заняты различными задачами, которые требуют разное количество времени, трудно найти тот период, который будет удобен всем. Но методика действительно гибкая — все можно откорректировать в соответствии с требованиями конкретного проекта.