Agile и Scrum методология — в чем разница? Их часто путают, но разъясним все подробно, чтобы вы этого не делали.
Agile и Scrum — это гибкие методологии, которые применяют для управления IT-проектами, чтобы правильно контролировать все процессы и организовывать эффективную работу.
Методология Agile
Agile — это целая философия по управлению проектами, которая несет в себе свои ценности и принципы. У данной методологии есть собственный манифест, описывающий принципы и подходы. Почитать его можно по этой ссылке. Считается, что Agile намного легче и гибче, чем популярная методология «Водопад».
Agile несет в себе 4 важных свойства:
Коммуникация между людьми превыше инструментов.
Функционирующий продукт превыше его детального описания.
Прямая коммуникация с заказчиком превыше обсуждения письменных договоренностей.
Первоначальный план действий — это хорошо, но все всегда должны быть готовы к новшествам и изменениям.
Всего таких свойств у Agile насчитывается 12, но именно эти 4 делают данную методологию популярной и отличной от остальных. Главным образом привлекает «динамичность» этой методологии, потому что во многих проектах изменения могут вноситься ежедневно, особенно если проект — это стартап. Поэтому всем нужно быть готовыми быстро адаптироваться к новым условиям разработки. Не каждая методология дает такие возможности. При этом подобный динамичный подход к разработке имеет и свои минусы. Например, невозможно точно установить сроки и возможный бюджет разработки, потому что в любой день может что-то измениться. Поэтому Agile не рекомендуют применять, если в проекте жестко контролируются сроки и бюджет.
Agile — это методология управления большими проектами, при котором проект делится на небольшие задачи с небольшим набором функций. При работе с Agile:
нет необходимости составлять подробное техническое задание перед стартом разработки, так как вместо этого просто формируется перечень задач с приоритетом их выполнения;
достигается большая гибкость бюджета — даже если вдруг заканчиваются деньги у клиента, он все равно получает функционирующий программный продукт, но с неполным набором функций;
напрочь отсутствует бюрократия, так как нет необходимости прорабатывать документацию перед стартом разработки — все можно делать в процессе.
Методология Scrum
Методология Scrum входит в философию Agile. По Scrum работают в небольших проектах, где можно задействовать 7-9 специалистов.
Scrum дает возможность быстро стартовать, так как для старта разработки не требуется ТЗ. Все, что нужно, — это согласованные с клиентом наборы будущего функционала, над которыми расставляются приоритеты работы. Чем выше приоритет, тем раньше над ним начинают работать. При этом такой «набор» может постоянно изменяться прямо в процессе работы над продуктом.
Как работает методология Scrum
Методология Scrum подразумевает применение спринтов. Спринт — это небольшой отрезок времени (1-3 недели), в течение которого выполняется часть работы и в конце которого подбиваются итоги спринта.
По факту же команда разработчиков берет себе из «набора задач» работу на ближайший спринт. Потом эту работу разбивают на еще более мелкие части и распределяют между членами команды.
Одна из ключевых идей Scrum — пока команда не забрала задачу из «набора» на спринт, то саму задачу в «наборе» можно изменять сколько угодно.
Методология Scrum: распределение ролей
Методология Scrum подразумевает следующее распределение ролей:
Product Owner. Это заказчик программного продукта, который является посредником между разработчиками и пользователями продукта. Он знает о будущем продукте все, так как именно он формирует требования к программному продукту.
Scrum Master. Это один человек из команды разработчиков, который, по сути, является лидером команды. Именно он следит за качественным и своевременным исполнением задач по разработке программного продукта. Также этот специалист отчитывается от лица команды перед вышестоящими руководителями.
Команда разработчиков — это специалисты, которые непосредственно занимаются разработкой программного продукта.
Методология Scrum к команде разработчиков предъявляет свои требования, например:
удаленно у Scrum практически никто не работает;
в команде должен находиться специалист, который понимает весь код разрабатываемого продукта, который писали разные специалисты команды;
команда собирается опционально, то есть берут тех специалистов, которые нужны, поэтому в составе могут быть аналитики, дизайнеры, сеошники и другие узкие специалисты;
профессионализм, стабильность, постоянство, ответственность и т. д. — это само собой подразумевается.
Как правило, Scrum-команда выстраивается таким образом, чтобы все сотрудники команды были труднозаменимы, потому что каждый из них выполняет свою обязанность. С одной стороны, такой подход к формированию команды — это минус, потому что бывает всякое и кто-то может «выпасть» из работы. Но с другой стороны, это позволяет формировать команды, которые показывают высокую скорость работы, потому что каждый занимается своим делом и делает это на «отлично».
Для контроля Scrum-команд применяют 2 свойства:
Фокус-фактор — это свойство показывает отношение плановой скорости выполнения определенной задачи к фактической, то есть этим свойством контролируется концентрация команды на работе.
Производительность — это свойство показывает и прогнозирует объемы задач, с которыми способна справиться команда в ближайшем спринте.
Методология Scrum и Agile: роль визуальных досок
Отличительная особенность данных методологий — это применение визуальных досок. Доски могут быть разные: настенные или онлайн. Главная причина их применения — чтобы у команды перед глазами всегда был прогресс и результат их работы.
Визуальная доска — это «рабочая область» всей команды. В зависимости от проекта в роли таких досок могут выступать разные инструменты:
бумажное панно;
Гугл-таблица;
сервисы наподобие Trello;
и даже сервисы наподобие Jira.
Отличие Scrum от Agile
Agile — это целая философия, подход, методология в реализации какой-либо работы, поэтому активно используется в масштабных проектах. В Agile входит множество разных инструментов для достижения нужной цели с соблюдением правил собственного манифеста.
А Scrum — это всего лишь один из инструментов, который применяется в Agile и помогает достичь целей, которые проповедует Agile. При этом методология Scrum очень часто применяется индивидуально, так как это функциональный, самостоятельный и полноценный инструмент для контроля и работы над своим проектом.
Другое