Зарегистрируйтесь, чтобы продолжить обучение

Agile, Scrum и Kanban Жизненный цикл ПО, место тестирования

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

Для управления Agile-проектами можно использовать разные фреймворки, с которыми мы познакомимся в этом уроке.

Что такое Agile

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

Agile-команда может очень быстро изменять план разработки в случае изменения приоритетов у заказчика. Она быстрее чинит найденные дефекты и дает более точный отчет о прогрессе.

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

Но для достижения желаемого принципов недостаточно — нужно использовать разные фреймворки. К самым популярным относятся Scrum и Kanban.

Что такое спринты

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

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

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

По итогам спринта должен получится или мини-продукт или отдельная часть системы, которая содержит самостоятельную функциональность, готовую к использованию.

С помощью спринтов можно уменьшить Time to Market. В идеальном случае, мы отправляем новую версию продукта в продакшен в конце каждого спринта.

Что такое Scrum

Scrum — методика организации совместного рабочего процесса. В ее основе лежит поэтапная разработка и совершенствование продукта. Причем над продуктом работает небольшая команда специалистов разного профиля.

Методика Scrum относится к семейству Agile. Часто эти два понятия используются как синонимы, но это некорректно:

  • Agile — это набор определенных ценностей и философия работы в команде
  • Scrum — это производственная методика, которая воплощает Agile-подход и на практике применяет принципы Agile

Scrum — это базовая структура, в которую входят:

  • Регулярные собрания
  • Создание артефактов
  • Четкое распределение обязанностей между участниками
  • Добавление в команду двух новых ролей — Product owner и Scrum-master

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

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

  • Постоянное совершенствование — вся команда совершенствует свои навыки, поэтому продукт постепенно улучшается
  • Автономность — каждый участник команды несет ответственность и за свою часть работы, и за общий результат
  • Кроссфункциональность — команда состоит из людей с разными навыками, что делает ее самодостаточной

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

Как происходят собрания

Методика Scrum устанавливает четкий формат собраний команды и заказчиков:

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

Ежедневный стэндап. Это собрание обычно проходит каждое утро рабочего дня. Каждый член команды рассказывает о прогрессе за предыдущий день, о планах на сегодня и возникающих проблемах. Собрание длится не более 15 минут. Его даже советуют проводить стоя, чтобы людям хотелось быстро обсудить важное и не тратить время на ненужную болтовню.

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

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

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

Что такое Kanban

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

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

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

  • Запланированные задачи
  • Задачи в активной работе
  • Выполненные задачи

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

Доска


Самостоятельная работа

Если у вас нет аккаунта на GitHub, то зарегистрируйтесь.

GitHub предлагает функционал по созданию канбан-досок в разделе Projects.

Зайдите на GitHub и выполните следующие шаги:

  • Создайте новый проект в разделе Projects вашего репозитория. Это можно сделать через вкладку "Projects" → кнопку "New project".

  • Настройте свой проект, используя шаблон "Team planning", который автоматически добавит колонки To do, In progress и Done.

  • В этом шаблоне вы найдете карточки с описанием багов. В колонке To do в своем проекте повторите карточки.

  • Проверьте, какие из них уже исправлены и переместите карточки в столбец Done.


Аватары экспертов Хекслета

Остались вопросы? Задайте их в разделе «Обсуждение»

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

Для полного доступа к курсу нужен базовый план

Базовый план откроет полный доступ ко всем курсам, упражнениям и урокам Хекслета, проектам и пожизненный доступ к теории пройденных уроков. Подписку можно отменить в любой момент.

Получить доступ
1000
упражнений
2000+
часов теории
3200
тестов

Открыть доступ

Курсы программирования для новичков и опытных разработчиков. Начните обучение бесплатно

  • 130 курсов, 2000+ часов теории
  • 1000 практических заданий в браузере
  • 360 000 студентов
Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Наши выпускники работают в компаниях:

Логотип компании Альфа Банк
Логотип компании Aviasales
Логотип компании Yandex
Логотип компании Tinkoff
Рекомендуемые программы
профессия
Тестирование веб-приложений, чек-листы и тест-кейсы, этапы тестирования, DevTools, Postman, SQL, Git, HTTP/HTTPS, API
4 месяца
с нуля
Старт 26 декабря

Используйте Хекслет по-максимуму!

  • Задавайте вопросы по уроку
  • Проверяйте знания в квизах
  • Проходите практику прямо в браузере
  • Отслеживайте свой прогресс

Зарегистрируйтесь или войдите в свой аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»