Спринты в разработке веб-порталов и приложений
Agile методология — смещенный подход Scrum + Kanban
Спринты разрабатываются чтобы избавиться от лишних операций при реализации продукта и оперативно закрывать постоянно меняющиеся потребности клиентов.
Agile-подходы улучшают командное взаимодействие и процессы становятся более прозрачными по сравнению с каскадным методом управления проектами.
Agile включает в себя два подхода ведения проектов:
- Scrum
- 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-спринта.
На наших досках рабочие процессы отмечаются статусами, каждый статус — это отдельная колонка.
- Backlog. Это спринт-backlog. Первоначально вы добавляете новые задачи в эту колонку.
- Estimating. Если задача согласована, тогда мы переносим ее в оценку.
- In Progress. После согласования цены и сроков задача берется в работу, помечается статусом «в процессе».
- Cheking by client. После выполнения задачи, необходимо, чтобы клиент проверил сделанную работу и задача носит статус «проверка клиентом».
- Completed. Если работа принята, задача переносится в «Готово»
- Paid. После оплаты полной оплаты работы задача переносится в «Completed / Paid».
Для систематизирования задач мы используем project-сервисы:
- Notion
- Trello
- Jira
*в зависимости от предпочтений заказчиков.
Внутренние процессы команды выстроены в Notion.
К каким проектам применяются спринты?
Проекты с большим техническим заданием, где просчет со стороны технического отдела более 4 часов (иногда техническая документация состоит из нескольких десятков страниц и требует несколько дней на ознакомление).
Специфика задач — правки или масштабирование функционала.
Когда мы понимаем объем такого ТЗ мы предлагаем 2 подхода клиенту:
- Платное составление технического задания на базе требований.
- Пошаговое сегментирование и поэтапный запуск задач соразмерно time-форматам спринта (без общей оценки всего технического задания). То есть задачи оцениваются поэтапно и дробятся на спринты. Таким образом идет планомерная реализация задач. Такой подход позволяет экономить средства и время заказчика, а работа запускается быстрее.
Первичные организационные вопросы при запуске спринта
- Перед запуском работ происходит составления списка задач со стороны клиента — BACKLOG-продукта.
- Список задач передается в технический отдел компании для ознакомления.
- Параллельно с этим производится запрос доступов от боевого проекта или полноценного клона веб-проекта.
- Специалистам технического отдела всегда нужны доступы от FTP или админ-панели сайта (это позволяется намного продуктивнее проводить изучение проекта).
- После ознакомления с списком задачи и research-проекта формируются вопросы, project-менеджер сопровождает обмен вопросов и ответов между заказчиком и представителями технического отдела.
- На базе полученных ответов, дополнительной информации производится оценка задач и спринта в целом по итоговой стоимости и предварительным срокам реализации.
- После необходимо подтверждение выставленных цен и сроков со стороны клиента.
- Производится обмен документами с заказчиками, подписание договора и дополнительного соглашения, оплата.
- После поступления на счета компании денежных средств производится запуск спринта с ближайшего понедельника от момента поступления оплаты.
- После согласования работа формируется спринт-BACKLOG в утвержденной системе ведения проекта
- Создается производственный чат с клиентом, техническим руководителем (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$ / час