Agile и Scrum — это гибкие методологии, которые применяют для управления IT-проектами, чтобы правильно контролировать все процессы и организовывать эффективную работу.
Agile. Философия управления проектами
У данной методологии, которая несёт в себе свои ценности есть собственный манифест, описывающий принципы и подходы:
- Коммуникация между людьми превыше инструментов.
- Функционирующий продукт превыше его детального описания.
- Прямая коммуникация с заказчиком превыше обсуждения письменных договоренностей.
- Первоначальный план действий — это хорошо, но все всегда должны быть готовы к новшествам и изменениям.
Всего таких свойств у 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-команд применяют 2 свойства:
- Фокус-фактор — это свойство показывает отношение плановой скорости выполнения определенной задачи к фактической, то есть этим свойством контролируется концентрация команды на работе.
- Производительность — это свойство показывает и прогнозирует объемы задач, с которыми способна справиться команда в ближайшем спринте.
Методология Scrum и Agile: роль визуальных досок
Отличительная особенность данных методологий — это применение визуальных досок. Доски могут быть разные: настенные или онлайн. Главная причина их применения — чтобы у команды перед глазами всегда был прогресс и результат их работы. Визуальная доска — это рабочая область всей команды. В зависимости от проекта в роли таких досок могут выступать разные инструменты: бумажное панно; Гугл-таблица; сервисы наподобие Trello; и даже сервисы наподобие Jira.
Отличие Scrum от Agile
Agile — это целая философия, подход, методология в реализации какой-либо работы, поэтому активно используется в масштабных проектах. В Agile входит множество разных инструментов для достижения нужной цели с соблюдением правил собственного манифеста.
Scrum — это всего лишь один из инструментов, который применяется в Agile и помогает достичь целей, которые проповедует Agile. При этом методология Scrum очень часто применяется индивидуально, так как это функциональный, самостоятельный и полноценный инструмент для контроля и работы над своим проектом.