Проектный подход в разработке MVP

Когда инхаус — не вариант

Для наглядности мы попросили компанию А поделиться историей создания экспериментального сервиса.

Компания А занимается развитием сервиса бронирования гостиниц, отелей, хостелов.

Крупные игроки, с которыми раньше сотрудничала компания А, покидают рынок. Теперь отельерам для размещения своего объекта нужно подключать интеграции. Компания А задумалась о создании своего B2B-сервиса, который позволил бы непрофессиональным отельерам получать прямые бронирования.

У команды А есть ИТ-направление для развития основного сервиса. Но на разработку и развитие экспериментального продукта команде не хватает ресурсов. Найм квалифицированных ИТ-специалистов и формирование проектной команды не только займёт несколько месяцев, но и нагрузит core-направление дополнительными интервью и онбордингом.

У Компании А есть выбор: усилить текущую команду через аутстаф или передать разработку сервиса полностью внешнему исполнителю.

Рассмотрим доступные варианты:

  • Аутстаф ИТ-специалистов поможет закрыть конкретные компетенции в моменте для достижения целей проектов. Например, в разработке, тестировании, аналитике. Инхаус-команда полностью отвечает за управление и результат.

  • Аутсорсинг — подключение внешней команды для разработки одного из элементов сервиса или системы. Например, подрядчик пишет только фронтенд, а остальное на клиенте. Две ИТ-команды взаимодействуют на протяжении срока проекта.

  • Аутсорсинг всего сервиса, разработка под ключ — когда поставщик реализует весь проект своими силами. ИТ-команда поставщика взаимодействует с бизнес-заказчиком и инфраструктурными ИТ-специалистами, которые помогают интегрировать конечный продукт во внутренние системы.

Команда А сильно ограничена во времени: нужно запустить и тестировать продукт к сезону отпусков, а это всего через пару месяцев. Команда решает передать разработку на аутсорс полностью, чтобы снизить нагрузку на инхаус-специалистов.

Больше не нужно искать и обзванивать каждое диджитал-агентство
Создайте конкурс на workspace.ru — получите предложения от участников CMS Magazine по цене и срокам. Это бесплатно и займет 5 минут. В каталоге 15 617 диджитал-агентств, готовых вам помочь — выберите и сэкономьте до 30%.
Создать конкурс →

Продукт или проект?

Команда А понимает, что за три месяца невозможно реализовать весь функционал сервиса. Поэтому приоритезирует часть из них, формируя MVP — тестовую версию продукта с минимальными функциями.

А как быть, если после релиза потребуются доработки и обновления?

К разработке MVP применим и продуктовый подход, и проектный. Сейчас объясним, почему.

Разработка MVP (Minimum Viable Product) версии сервиса обычно относится к продуктовой разработке. Целью MVP является быстрое получение обратной связи от пользователей и проверка гипотез о продукте без затрат на разработку полного функционала.

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

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

В случае компании А, разработка минимальной версии продукта — задача, которую передают на аутсорс. Эта задача может быть выполнена в рамках проекта, где есть определенные сроки, бюджет и требования к результату. Такой проектный подход требует чёткого планирования и умения работать с рисками и ограничениями.

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

Проектный подход и три ограничения

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

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

Формируется проектный треугольник: срок, бюджет, содержание. Разберём его подробнее:

Бюджет

Есть два формата оплаты: Fixed Price и Time&Materials. В первом случае при заказе услуги клиент платит фиксированную сумму, указанную в договоре. В итоговую стоимость закладывается коэффициент рисков. Ответственность за сроки и качество несет исполнитель единолично.

T&M предполагает, что заказчик оплачивает время, потраченное на решение задачи. В договоре фиксируется только ставка специалиста в час, ответственность за сроки и стоимость несут обе стороны. Чем более расплывчаты требования или чем чаще они меняются, тем выше стоимость и сроки. Подрядчик может обозначить превышение, а заказчик принимает решение: делать, как было согласовано изначально, или в процессе менять планы.

Как поступить:

Fixed Price подходит, если на входе есть время описать требования к конечному результату на уровне бизнес и функциональных требований и далее реализовать.

На основе отдельных этапов проектирования и аналитики составляется смета, в дальнейшем реализация идёт строго по плану.

Т&M подходит когда нужно действовать быстро и работать по тому, что есть, и в процессе корректироваться.

Подрядчик может выполнить несколько этапов — например, аналитику или дизайн — по фиксированной стоимости, а остальные работы провести по T&M.

Сроки

Форматы оплаты и взаимодействия влияют и на сроки. При Fixed Price команда обязуется завершить работы в установленный в договоре срок, не выходя за бюджет.

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

Как поступить: при горящих сроках выбрать формат T&M, так как он позволяет закрыть больше задач в ограниченное время, а также изменить планы в процессе разработки. В случае с Fixed Price вы придёте в точку Б, которую на входе оговорили и согласовали.

Недостаточное планирование и неправильное распределение ресурсов могут привести к серьезным проблемам и задержкам в проекте.
Часто люди недооценивают сложность и объем работы, необходимой для завершения проекта, и поэтому планируют слишком оптимистично. Непредвиденные трудности тормозят проект.
— «The Mythical Man-Month: Essays on Software Engineering», Фредерик Брукc

Содержание

Фикс-прайс допускает компромиссы относительно качества продукта как раз из-за условий строго определенного бюджета и правил. При этом бывают разные ситуации, например, старт в срочном порядке, который предполагает выделение и планирование времени специалистов, ускоренные темпы работы. T&M предполагает оплату по факту выполнения работ, и подрядчик заинтересован в предоставлении качественного результата. Ведь в обратном случае длительного сотрудничества не произойдет.

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

Итак, наша встреча с Компанией А прошла успешно: команда согласилась на старт работ по T&M. У Команды А было понимание, какими функциями в целом должен обладать сервис, были референсы и примеры. Чтобы зафиксировать и распространить это понимание на всех участников, а также сформировать функционал MVP, мы предложили этап предпроектной аналитики до начала первого спринта.

Планируем — через аналитику

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

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

Состоит из двух этапов:

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

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

В результате такой работы получаем документ с бизнес-аналитикой.

Системная аналитика

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

Один из плюсов аналитики — получение экспресс-оценки, которая позволяет прогнозировать загрузку специалистов с учетом сроков проекта.

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

Например, может оказаться, что какие-то процессы лучше автоматизировать, а какие-то нет. Станет понятно, какие функции вынести в MVP, а какие — в бэклог.

Сначала команда А хотела отказаться от аналитики: ведь на руках есть референсы. Но оказалось, что сроки на разработку сильно ограничены, нужно успеть за несколько месяцев. Требовалось не только оперативно собрать команду и стартовать, но и описать требования, декомпозировать задачи, строго придерживаться календарного плана. В таких условиях отказаться от аналитики — поставить под угрозу рентабельность сервиса.

Поэтому Команда А согласилась и только выиграла от этого решения.

От реализации до финала

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

Где зафиксированы договорённости

Договор как основной юридический документ фиксирует взаимоотношения между компаниями, и проект может быть объектом этих взаимоотношений. Но мы не можем указать в договоре все детали, которые важны в процессах. В зависимости от проекта мы выбираем, где эти подробности будут закреплены.

Например, в SLA (соглашение об уровне услуг) определяем условия предоставления услуг, включая качества, время реакции на запросы и другие параметры.

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

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

Как планировать загрузку

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

В этом помогают такие инструменты визуализации, как диаграмма сгорания, диаграмма Гантта.

Как работать над проектом

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

Примеры: стартовое обсуждение проекта, еженедельные собрания, презентация проекта.

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

Работаем спринтами — короткими интервалами, в течение которых реализуем заданный объём. В результате получаем готовый инкремент продукта — завершенный конкретный этап в разработке.

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

Как завершить проект

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

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

За день до установки релиза проводим демо заказчику, получаем фидбек и проводим релиз.

Могут быть отклонения от такого сценария, например, когда в рамках релиза планируем работы, связанные с другой командой. Тогда дополняем документ План установки релиза, где прописываем последовательность и сроки запуска.

Жизнь после релиза

Неужели на этом всё?

Да, работы по проекту завершены и заказчик получил готовую MVP. Но это не значит, что продукт не получает дальнейшего развития.

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

На смену чёткой структуре проектного подхода приходит продуктовая разработка с большей неопределённостью.

Теперь вы знаете, как проходит разработка MVP продукта на аутсорсе. Это только один из нужных вариантов, выбор которого зависит от возможностей бизнеса.

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

Полный текст статьи читайте на CMS Magazine