Agile и Scrum — гибкие методологии разработки

Agile‑манифест разработки программного обеспечения и его основные принципы

Agile‑манифест был опубликован в 2001 году группой разработчиков программного обеспечения. Эти 17 энтузиастов хотели найти наилучший способ управлять проектами, понимая, что традиционные методы проектного управления не совсем подходят для быстро развивающейся и постоянно изменяющейся IT сферы.

Agile‑манифест постулирует о четырёх главных ценностях в разработке ПО:

  • Люди и их взаимодействие важнее процессов и инструментов.
  • Работающее программное обеспечение важнее подробной документации
  • Сотрудничество с клиентами важнее переговоров по контракту
  • Быстрое реагирование на изменения важнее следования плану

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

Что же такое Scrum?

Scrum — это специальная методология, разработанная с целью помочь проектным командам имплементировать Agile‑манифест в свою работу. Это фреймворк (то есть модель, определяющая структуру, правила и предоставляющая необходимый набор инструментов) для управления проектами, который фокусируется на постоянном улучшении продукта и коммуникации с заказчиками. Используя Scrum, команды могут создавать высококачественные продукты в соответствии с нуждами их клиентов, оставаясь гибкими и адаптивными к изменяющимся требованиям.

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

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

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

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

Давайте более подробно остановимся на ролях, артефактах и практиках в скраме.

Роли в Scrum: scrum мастер, владелец продукта и команда разработчиков

Scrum мастер

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

Product Owner (Владелец продукта)

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

Команда разработчиков

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

Артефакты Scrum

Так же скрам методология включает в себя артефакты и практики. Ниже расскажем, что же это такое.

Бэклог продукта

Это список функций или требований к разрабатываемому продукту. Продуктовым бэклогом управляет владелец продукта. Бэклог приоритезирован в зависимости от ценности каждой функции продукта для бизнеса (например, нет смысла запускать интернет — магазин без каталога товаров или без возможности оформить заказ, ведь тогда покупатель не сможет ничего купить, и ценность такого интернет — магазина для бизнеса полностью теряется).

Бэклог спринта

Это список задач, которые стоят перед командой в каждом спринте. Бэклог создаётся перед началом спринта командой разработки в сотрудничестве с владельцем продукта.

Инкремент

Инкремент — это потенциально готовый продукт, который команда выпускает в конце каждого спринта. Это работающий «кусочек» программного обеспечения, который добавляет ценности к продукту.

Практики Scrum

И, наконец, для более полного понимания данной методологии разберём скрам практики, без которых скрам не будет скрамом.

Спринт

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

Ежедневный скрам

Это пятнадцатиминутная ежедневная встреча (или созвон, если команда работает в удалённом формате), в рамках которой команда разработки обсуждает прогресс, достигнутый с предыдущего ежедневного скрама, планы на следующие 24 часа и любые возникающие на пути к цели помехи.

Планирование спринта

Планирование спринта — это встреча или собрание, которое проводится в начале каждого спринта. На этом собрании команда разработки обсуждает и выбирает те позиции продуктового бэклога, над которыми они будут работать в течение спринта. Таким образом, команда создаёт бэклог спринта.

Ретроспектива спринта

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

Заключение

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

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

Тематические статьи

Agile — гибкие методологии разработки

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

цифровизация
методологии разработки
управление продуктами
управление проектами
Статья опубликована в 2023 году

Экстремальное программирование, Extreme Programming / XP

Extreme Programming, экстремальное программирование, также известное как XP — это методология разработки программного обеспечения, которая относится к гибким (agile) и подчеркивает важность удовлетворения потребностей клиентов посредством непрерывной поставки высококачественного программного обеспечения.

методологии разработки
управление продуктами
управление проектами
Статья опубликована в 2023 году

Водопадная модель разработки

Водопадная модель разработки программного обеспечения — это процесс разработки, в котором все необходимые этапы проходят строго последовательно.

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

управление проектами
управление продуктами
Статья опубликована в 2019 году

Цифровая трансформация бизнеса

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

цифровизация
Статья опубликована в 2023 году

Применение искусственного интеллекта и машинного обучения в бизнесе

Искусственный интеллект (Artificial Intelligence, AI) и машинное обучение (Machine Learning, ML) за последние годы привнесли много нового в бизнес, в электронную коммерцию и в веб‑разработку. Бизнес использует эти технологии для улучшения качества обслуживания клиентов, оптимизации бизнес‑процессов и получения конкурентного преимущества на рынке.

машинное обучение
бэкенд
веб-разработка
цифровизация
Статья опубликована в 2023 году

Системы управления корпоративной информацией (ECM-системы) и системы электронного документооборота (СЭД)

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

цифровизация
платформы
корпоративные информационные системы
Статья опубликована в 2014 и обновлена в 2023 году

Виды систем управления корпоративным контентом

Рассмотрим системы управления документами, системы управления записями, cистемы управления цифровыми активами и системы управления веб‑контентом.

цифровизация
платформы
корпоративные информационные системы
Статья опубликована в 2023 году

Зачем нужны системы управления корпоративным контентом?

Управление корпоративным контентом является неотъемлемой частью процесса цифровой трансформации для многих организаций. Этот процесс включает в себя управление и организацию всех форм информации внутри компании эффективным, безопасным и совместимым с законодательством образом.

цифровизация
платформы
корпоративные информационные системы
Статья опубликована в 2023 году

Системы управления бизнес‑процессами

BPM‑системы позволяют организациям оптимизировать свои процессы за счет автоматизации, улучшения и ускорения коммуникации, повышения прозрачности и сбора ценной информации о показателях производительности.

цифровизация
платформы
корпоративные информационные системы
Статья опубликована в 2023 году

Наши услуги