Scrum vs Agile являются гибкими методологиями, которые используются в управлении IT-проектами. Давайте же разберемся, какие понятия за каждым из них закреплены, какая между нами разница. Английская вресия статьи what is the difference between scrum and agile methodology.
Agile - философия основанная на ценностях и принципах, которые описаны в манифесте. Эта методология отличается гибкостью и полностью являются противоположностью тяжеловесной Waterfall. Agile имеет всего 4 ценности, суть которых заключается в следующем:
Принципов у Agile немного больше, целых 12. Их можно прочитать на официальном сайте. Я лишь перечислю те, что действительно делают Agile столь популярной. Первое и самое важно, это то, что изменения могут происходить ежедневно и поэтому нужно быть динамичным и готовым к быстрой реакции. При этом, минимальные изменения касаются документации. Стоит сразу отметить, что ввиду данного принципа Agile в большинстве случаем не подходит для проектов с жесткими сроками и бюджетом. Во вторых, сильная коммуникация повышает качество работы и делает задания прогнозированными. Я рекомендую проводить ежедневные митинги и отчитываться о результатах, проблемах. Они дисциплинируют работу и позволяют четко распланировать график работы.
Давайте же теперь подробно рассмотрим что есть в методологии Scrum. Под каждый проект, который будет идти по Scrum подбирается набор специалистов из разных областей (7-9 человек), к которой добавляются еще две роли: владелец продукта (PO) и Scrum-мастер. PO звено между командой и клиентом и оперирует Product Backlog-м, в котором Stories, Bugs, Task, расположенные по приоритету (highest, high, medium, low) и в целом наблюдает за ходом развития проекта. Scrum-мастер призван помогать организовать сам процесс разработки: назначает и проводит митинги, решает ежедневные проблемы, мотивирует команду и следит за тем, чтобы принципы Scrum соблюдались.
Первым и основным пунктом в процессах можно назвать то, что весь процесс делиться на равные промежутки времени – спринты, длительностью в среднем от 1 до 3 недель. Продолжительность итерации зависит от команды и сложности спринта. Перед началом спринта выносятся задачи на предстоящий спринт (Sprint Planning Meeting) на котором формируется backlog спринта, а по завершению спринта – анализируются результаты (Sprint Review). Спринты часто сравнивают между собой, с целью повышения эффективности работы (Retrospective).
Также во время спринта происходит еще один процесс - Daily Meeting, на котором команда обсуждает что сделала, что планирует делать и какие помехи могут их ожидать. Эффективность в Scrum измеряется временем за которое карточка из To do перешла в Done. Чем меньше тем лучше, если больше - то необходимо реагировать и принимать действия по оптимизации работы. Scrum хорошо подходит для управления самоорганизующейся команды разработчиков. Используя данную методологию воспитывается самостоятельность, ответственность. У каждого есть своя роль и свой пул работы.
Для наглядности в гибких методологиях (Agile-фреймоврках) большую роль играют доски: настенные и онлайн. Пример доски джира в управлении проектами ниже. Оба типа дают возможность легко воспринимать информацию всем членам команды в целом, что крайне важно при отсутствии менеджера проекта который и вовсе не предусмотрен в данной философии).
Они бывают разной степени детальности. Ранее мы писали разницу между Kanban vs Scrum. Если говорить про Kanban, у него есть всего 6 правил, а в Scrum описаны роли, процессы и артефакты. А вот что общего у них всех – это метрика, а именно рабочий продукт. Также все фреймворки подразумевают под собой итеративный процесс веб разработки, где завершение каждой итерации это обновление требований от Заказчика и их реализацию посредством самоорганизующейся команды, в состав которой входят back-end и front-end разработчики, тестировщики, дизайнеры, верстальщики и другие.