Услуги Портфолио Контакты БлогНовости +7 (800) 511‑32‑27 Обсудить проект
Блог

Разработка веб-продуктов и клиенты

21 декабря 2020·2 мин чтения
Логотип YuSMP Group
Автор материалаРедакция компании YuSMP GroupБлог YuSMP Group
Профиль редакции
Разработка веб-продуктов и клиенты

Как в YuSMP Group подключают заказчиков к процессам разработки — от первой оценки задачи до релиза и технической поддержки после запуска.

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

TL;DR — кратко о главном

Разработку веб-продукта в YuSMP Group ведут двухнедельными спринтами: сначала фичу оценивает команда — frontend, backend, QA и, если нужно, мобильный разработчик, — затем код пишется, тестируется и демонстрируется заказчику в конце каждого спринта. Полный цикл от первого спринта до релиза занимает от 2–3 месяцев для небольшого продукта до 9–12 месяцев для крупной платформы; после запуска команда остаётся на технической поддержке.

Еще пара шагов перед стартом разработки

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

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

Но прежде чем начать разработку, каждая фича проходит оценку. Этим занимаются сразу несколько специалистов: frontend и backend-разработчики, QA инженер, мобильный разработчик IOS или Android. В момент оценки происходит подробная проработка архитектуры по конкретной функциональности, обсуждаются сроки реализации, задача декомпозируется на несколько подзадач и берется в работу.

Роли на этом этапе оценки распределены так:

  1. Frontend- и backend-разработчики — прорабатывают архитектуру конкретной функциональности и оценивают трудозатраты.
  2. QA-инженер — продумывает сценарии тестирования ещё до начала разработки, чтобы не терять время позже.
  3. Мобильный разработчик (iOS или Android) — подключается, если фича затрагивает приложение, и синхронизирует работу с вебом.

В момент оценки обсуждаются сроки реализации, задача декомпозируется на несколько подзадач и берётся в спринт.

Разработка мобильных приложений на заказ
Узнайте цену

Нужна разработка под вашу задачу?

Обсудим проект и соберём команду — оценка за 2 дня, бесплатно.

Обсудить проект

Сроки разработки веб-продукта по этапам

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

ЭтапСрокЧто получает заказчик
Оценка и декомпозиция фичи2–5 дней на фичуАрхитектура решения, сроки, список подзадач
Разработка по спринтам2 недели на спринтДемо промежуточного результата, возможность вносить правки
Полный цикл разработки2–3 мес. (небольшой продукт) — 9–12 мес. (крупная платформа)Готовый функционал с контролем качества на каждом спринте
Подготовка инфраструктуры и релиз1–2 неделиБоевые серверы, деплой, продукт в продакшене
Техническая поддержкапостоянно, по договоруМониторинг серверов, исправление багов, новые фичи

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

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

Команда разработки планирует спринт по доске с карточками задач

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

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

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

Кратко шаги одного спринта выглядят так:

  1. Backend-разработчик приступает к своей части проекта.
  2. К нему присоединяются специалисты по frontend и мобильной разработке.
  3. Параллельно QA-инженер составляет чек-листы для будущей проверки.
  4. Когда фича готова, разработчики сами проверяют функционал по этим чек-листам, прежде чем отдать наработки QA.
  5. QA детально тестирует фичи и завершает этап подробным отчётом.
  6. В конце спринта мы демонстрируем результат заказчику, собираем обратную связь и проводим ретроспективу с командой.

Какие специалисты и инструменты участвуют в разработке

Состав команды зависит от продукта, но типовой набор ролей и инструментов выглядит так:

СпециалистЗона ответственностиИнструменты
Backend-разработчикAPI, бизнес-логика, база данныхPHP/Node.js/Python, PostgreSQL, Docker
Frontend-разработчикИнтерфейс, интеграция с APIReact/Vue, TypeScript, Figma-макеты
Мобильный разработчикiOS- или Android-приложениеSwift/Kotlin, Flutter, App Store Connect
QA-инженерТест-кейсы, баг-репорты, регрессионное тестированиеPostman, Selenium, трекеры багов
Тимлид / менеджер проектаКоординация спринтов, коммуникация с заказчикомJira, Confluence, Mattermost
QA-инженер тестирует веб-приложение на нескольких экранах и устройствах

Типичные риски при разработке веб-продукта и как мы их снижаем

  • Размытые требования. Если фича не декомпозирована на этапе оценки — спринт срывается. Снижаем риск подробной проработкой архитектуры и подзадач до старта.
  • Недостаточное тестирование. Пропущенный баг доходит до продакшена. Используем двойную проверку — сначала разработчик по чек-листу, затем QA с подробным отчётом.
  • Потеря контекста между спринтами. Проводим демо и ретроспективу после каждого спринта, чтобы заказчик и команда оставались синхронизированы.
  • Нестабильная инфраструктура при запуске. Готовим и тестируем боевые серверы и инфраструктуру до релиза, а не после него.

Поддержка после запуска веб-продукта

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

Наша главная цель - выпустить классный продукт, который будет работать на благо клиента и конечного пользователя. 

В техническую поддержку входит:

  • Мониторинг серверов и производительности
  • Контроль свободного места и ресурсов
  • Исправление багов, которые не проявились до релиза
  • Доработка и добавление новых фич по запросу заказчика

Частые вопросы о разработке веб-продукта

Сколько длится спринт разработки в YuSMP Group?

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

Кто из специалистов участвует в разработке веб-продукта?

В разработке участвуют frontend- и backend-разработчики, QA-инженер, при необходимости — мобильный разработчик iOS или Android, а координирует спринты тимлид или менеджер проекта.

Сколько времени занимает разработка веб-продукта целиком?

Небольшой продукт занимает 2–3 месяца, крупная платформа с несколькими ролями пользователей — 9–12 месяцев и больше. Точный срок фиксируется на этапе оценки перед стартом спринтов.

Что получает заказчик в конце каждого спринта?

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

Что входит в техническую поддержку после релиза?

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

Можно ли менять требования во время разработки?

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

Обсудим ваш проект?

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

Обсудить проект