28 октября 2021

Спринты в разработке веб-порталов и приложений

7 минут
Разработка сайтов в Москве под ключ

Agile методология — смещенный подход Scrum + Kanban

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

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

Agile включает в себя два подхода ведения проектов:

  1. Scrum
  2. Kanban

Scrum — это итерации с фиксированной продолжительностью выполнения задач.

В свою очередь Kanban подразумевает непрерывные релизы, то есть после окончания одного задания команда сразу переходит к следующему.

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

Принципы работы Scrum

Scrum — это одна из методологий Agile. Она основывается на определенном количестве задач с фиксированным таймингом и называется спринтом.

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

На базе нашего многолетнего опыта мы делим спринты на 3 временных типа:

  • mini-спринт (5 рабочих дней / 1 неделя)
  • standart-спринт (10 рабочих дней / 2 недели)
  • long-спринт (21 рабочий день / 3 недели или 1 месяц)

На этапе формирования спринта выстраивается четкий план реализации.

5 частей Scrum-спринта

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

Сбор команды по оценке объема работы и ее распределению на предстоящий спринт.

2. Еженедельное Weekly-планирование

Это конференция между всеми project-менеджерами и техническими руководителями компании.

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

  • fulstack-разработчиков
  • backend-разработчиков
  • frontend-разработчиков
  • QA-тестировщиков
  • дизайнеров
  • системных администраторов
  • project-менеджеров
  • технических руководителей (teamleads)

У каждого специалиста длительность рабочей недели исчисляет в часовом эквиваленте от 35 часов до 40 часов в неделю.


На 1 проект в день специалист эффективно может выделять не более 4 часов. То есть максимальное количество часов, которое может выделять 1 специалист на недельный спринт равен 20 часам.

Например, на проект требуется выделить 20 часов frontend-разработчика и 30 часов backend-разработчика, спринт будет идти 1,5 недели или придется подключать второго backend-разработчика для сокращения сроков реализации.

Если появляются задачи, которые не были оговорены и включены в backlog текущего спринта, есть два пути:

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

3. Ежедневные Daily-собрания

Короткие 20-минутные, утренние конференция с командой для синхронизации действий, актуализации выполненных задач за предыдущий день и планирование предстоящего дня.

4. Демонстрация спринта

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

5. Ретроспектива

Разбор различных событий прошедшего спринта для улучшения следующего спринта.

Scrum-доска

Любой список правок декомпозируется на задачи, подзадачи и добавляется в Scrum-доску проекта.

Она позволяет визуализировать объемы и изменения статусов задач в спринте. Scrum-доски — это основной компонент для повышения прозрачности при agile-управлении проектами.

Обычно в Scrum есть два Backlog:

  • BACKLOG-продукта
  • Cпринт-BACKLOG

BACKLOG продукта — это общий список задач, который сформировать и контролируется заказчиком. В зависимости от приоритетов обозначенных клиентом, задачи из данного BACKLOGa переносятся в спринт-BACKLOG.

В ходе собрания по планированию спринта команда перемещает элементы из BACKLOG-продукта в BACKLOG-спринта.

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

  1. Backlog. Это спринт-backlog. Первоначально вы добавляете новые задачи в эту колонку.
  2. Estimating. Если задача согласована, тогда мы переносим ее в оценку.
  3. In Progress. После согласования цены и сроков задача берется в работу, помечается статусом «в процессе».
  4. Cheking by client. После выполнения задачи, необходимо, чтобы клиент проверил сделанную работу и задача носит статус «проверка клиентом».
  5. Completed. Если работа принята, задача переносится в «Готово»
  6. Paid. После оплаты полной оплаты работы задача переносится в «Completed / Paid».

Для систематизирования задач мы используем project-сервисы:

  • Notion
  • Trello
  • Jira

*в зависимости от предпочтений заказчиков.
Внутренние процессы команды выстроены в Notion.

К каким проектам применяются спринты?

Проекты с большим техническим заданием, где просчет со стороны технического отдела более 4 часов (иногда техническая документация состоит из нескольких десятков страниц и требует несколько дней на ознакомление).

Специфика задач — правки или масштабирование функционала.

Когда мы понимаем объем такого ТЗ мы предлагаем 2 подхода клиенту:

  1. Платное составление технического задания на базе требований.
  2. Пошаговое сегментирование и поэтапный запуск задач соразмерно time-форматам спринта (без общей оценки всего технического задания). То есть задачи оцениваются поэтапно и дробятся на спринты. Таким образом идет планомерная реализация задач. Такой подход позволяет экономить средства и время заказчика, а работа запускается быстрее.

Первичные организационные вопросы при запуске спринта

  1. Перед запуском работ происходит составления списка задач со стороны клиента — BACKLOG-продукта.
  2. Список задач передается в технический отдел компании для ознакомления.
  3. Параллельно с этим производится запрос доступов от боевого проекта или полноценного клона веб-проекта.
  4. Специалистам технического отдела всегда нужны доступы от FTP или админ-панели сайта (это позволяется намного продуктивнее проводить изучение проекта).
  5. После ознакомления с списком задачи и research-проекта формируются вопросы, project-менеджер сопровождает обмен вопросов и ответов между заказчиком и представителями технического отдела.
  6. На базе полученных ответов, дополнительной информации производится оценка задач и спринта в целом по итоговой стоимости и предварительным срокам реализации.
  7. После необходимо подтверждение выставленных цен и сроков со стороны клиента.
  8. Производится обмен документами с заказчиками, подписание договора и дополнительного соглашения, оплата.
  9. После поступления на счета компании денежных средств производится запуск спринта с ближайшего понедельника от момента поступления оплаты.
  10. После согласования работа формируется спринт-BACKLOG в утвержденной системе ведения проекта
  11. Создается производственный чат с клиентом, техническим руководителем (teamlead) и project-менеджером из нашей команды. Чат создает возможность обсуждать оперативные задачи.

1 день обычно уходит на формирование спринта (ресерч + документы) — этот день не учитывается в рабочий день по спринту.
Также 1-2 дня требуются для финальных работ по спринту, которые включаются в спринт:

  • тестирование со стороны команды (QA-тестирование)
  • формирование отчетов
  • тестирование со стороны заказчика
  • формирование комментариев со стороны клиента
  • исправление найденных багов на базе комментариев
  • выгрузка кода и решений на боевой сайт.

Базовые роли участников спринта

  • Project-менеджер, который распределяет нагрузку и ведет общение с клиентом.
  • Технический руководитель — отвечает за технический контроль и формирование задач между исполнителями + ведение и контроль работы с кодом + формирование технической отчетности.
  • Тимлид формирует запросы для project-менеджеров, чтобы те могли учитывая загрузку штата и выделять необходимые ресурсы.
  • Клиент, заказавший выполнение спринта.

Методология просчетов спринтов на разработку

В рамках нашей команды мы предлагаем 2 варианта просчета задач.

  • Time & Material — подход, когда клиент оплачивает не фиксированную стоимость разработки, а реальное количество затраченных часов специалистами на проект. У каждого типа специалиста есть своя стоимость (рейт). Обычно используется где нужен гибкий подход к работе, проект сложный и конечный результат на фазе концепта или на него влияет много факторов, например, проект где уже существует сложная структура и нужно масштабировать функционал.

    В Time & Material спринт-BACKLOG указывается в дополнительном соглашении к договору в начале спринта.

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

    Для подсчета времени нами используется одна из самых популярных тректинговых программ в мире — hubstaff.
  • Fixed price — модель оптимально подходит для проектов, где есть четкое понимание реализации спринта и методов для получения результата.

    Обязательно есть подробное и осмысленное техническое задание.

    Для такого типа оценки подходят небольшие и непродолжительные по времени задачи.

Где fixed price модель подвергает проект опасности:

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

ПРАЙС НА ВЫПОЛНЕНИЕ РАБОТЫ

  • Project-менеджер — от 20$ / час
  • Teamlead-проекта — от 25$ / час
  • Frontend-разработчик – от 25$ / час
  • Backend-разработчик – от 35$ / час
  • Fullstack-разработчик – от 30$ / час
  • QA-тестировщик — от 20$ / час
  • Дизайнер — от 25$ / час