Процесс создания ПО с максимальной выгодой для бизнеса

Александр Жуков
Александр Жуков
директор по развитию бизнеса ·

Уход западных игроков освободил ниши на рынке для российских предпринимателей. Чтобы успешно вступить в новую конкурентную среду, сегодня не обойтись без программных продуктов. Создание нового программного решения — процесс, всегда требующий основательного подхода. Так на помощь бизнесу пришел продуктовый подход. Его идея проста: создавать решения, которые будут максимально востребованы пользователями. У него «под капотом» — большая работа: исследование потребностей рынка, проверка гипотез, тестирование, анализ обратной связи и многое другое.
 
Об основных принципах его разработки: от постановки задач до релиза — рассказывает Александр Жуков, директор по развитию бизнеса компании «Формат Кода».

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

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

Как создаются такие цифровые решения?

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

Кто составляет ядро экспертной команды?

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

Сбор и анализ требований — это, пожалуй, самый ответственный и важный из всех этапов. Вся собранная информация используется для планирования. Поэтому мы активно работаем с аналитическими инструментами, такими, как Amplitude Analytics, Яндекс.Метрика, Google Analytics и другими. Решения принимаются на основе данных: каждая идея и гипотеза подтверждается фактами и цифрами.

Также мы подключаем команду дизайна, которая разберется с customer journey, нарисует макеты и подготовит их для того, чтобы аналитики, в свою очередь, описали это в ТЗ. И, разумеется, ядром команды являются наши талантливые разработчики.

Как выстраивается работа?

Достаточно короткими циклами. Первый этап проекта мы формулируем как базовая версия продукта «MVP за три недели». MVP (Minimum Viable Product) — это самая ранняя версия, у которой есть минимальный набор функций, уже достаточный для презентации и тестирования на первых потребителях.

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

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

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

Каждая продуктовая итерация должна занимать минимально возможное количество времени. Для этого мы сжимаем по срокам все этапы этого цикла. Но это совершенно не означает, что они проводятся хаотично, без полноценного планирования. И, естественно, перед началом каждой итерации мы подготавливаем сопроводительные документы: о постановке эксперимента, бэклог либо техническое задание, электронный макет пользовательского интерфейса и т.д. Это та самая «точка правды», на базе которой легче всего проводить обсуждение целей будущего продукта и результата, который мы получили. Мы гарантируем, что наш продукт будет выглядеть именно так, как был представлен макет на старте продуктовой итерации.

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

Скажите, а возможен ли консалтинг на площадке клиента? Существует ли возможность масштабировать коллектив заказчика для разработки?

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