Найти тему

Введение в Agile и Scrum

Приветствие

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

Что такое Agile?

Формальное определение

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

Водопадная модель (Waterfall)

Agile пришел на смену более жестким и последовательным методам управления, распространенным в 20 веке, таким как водопадная модель (waterfall). Чтобы понять, что такое Agile и с какими проблемами он борется, нужно сначала понять, что такое waterfall.

Waterfall — это управление проектами на основе каскадной структуры, где каждый этап выполняется последовательно. Этапы включают:

  • Requirements (Требования): Сбор всех требований и спецификаций.
  • Design (Дизайн): Создание каркаса и интерфейсов продукта.
  • Implementation (Реализация): Разработка продукта.
  • Verification (Проверка): Тестирование продукта.
  • Maintenance (Поддержка): Обслуживание продукта.

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

Что такое Scrum?

Терминология и принципы

Scrum — это одна из популярных вариаций управления проектами на основе принципов Agile. Scrum берет принципы Agile и применяет их на практике.

Основные элементы Scrum

  • Backlog проекта: Список всех задач, которые нужно выполнить. Задачи могут быть описаны как user stories (пользовательские истории), которые описывают новый функционал.
  • Backlog спринта: Список задач для текущего спринта.
  • Стендапы: Ежедневные короткие встречи команды.
  • Планирование спринта: Определение задач на следующий спринт.
  • Спринт ревью: Обзор результатов спринта.
  • Ретроспектива: Анализ и улучшение процессов команды (часто отсутствует в российских компаниях).

Роль Scrum-мастера

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

Практика в российских компаниях

Отсутствие Scrum-мастера

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

Проблемы реализации

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

Заключение

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