Управление командой разработки SaaS-сервиса
Разработка SaaS-сервиса Blablabot — конструктора голосовых ботов с биллингом и аналитикой: сбор команды из четырёх разработчиков, прототип, технологический стек, MVP за три месяца, развитие продукта полтора года
Клиент: Контактный центр
Ключевые результаты
- Разработан полноценный SaaS-сервис с уникальным функционалом
- Освоены практики управления командой разработки в рамках Agile-подхода с применением Kanban-метода управления
- Получен ценный опыт разработки продукта
- Заказчик использует сервис для внутренних задач контактного центра с устойчивым положительным эффектом
Контекст
Заказчик привлёк меня для разработки SaaS-сервиса Blablabot — конструктора голосовых ботов с биллингом и аналитикой. Поскольку заказчик являлся директором контактного центра, сервис требовался ему как для коммерческого продукта, так и для внутренних проектов компании.
На тот момент я уже был опытным веб-разработчиком, но это был мой первый проект подобного масштаба, и реализовать его в одиночку было бы невозможно. Поэтому я принял решение собрать команду — об этом подробнее ниже.
Задачи
- Разработать SaaS-сервис с интуитивно понятным визуальным конструктором скриптов голосового бота (в виде блок-схемы) и подробной аналитикой взаимодействий.
Что сделал
Этап 1. Анализ рынка
Для понимания рыночной ситуации я собрал данные по 35 конкурентам: оборот, ИНН, численность, сайт, ключевые функции — всё структурировал в единую таблицу. Из них лишь 3–4 сервиса имели подходящий функционал и визуальный конструктор, реализованный в виде блок-схемы на canvas — именно такую модель мы планировали использовать. Функционал этих решений я изучил детально и протестировал на практике.
Этап 2. Прототип и бизнес-требования
Хотя у меня уже было общее представление о потребностях заказчика, этого оказалось недостаточно. Я провёл серию встреч, собрал полноценные бизнес-требования, оформил их в документацию и на её основе разработал интерактивный прототип. Прототип был согласован с заказчиком до начала разработки.
Этап 3. Технологический стек
Я привлёк знакомого техлида, показал ему документацию и прототип. Вместе мы определили технологический стек, примерные сроки реализации, состав команды и тестовые задания для разработчиков:
- бэкенд: Python с фреймворком Flask;
- фронтенд: Vue.js 2 с реализацией конструктора на canvas, Bulma в качестве библиотеки компонентов;
- телефония: Asterisk;
- прототипирование и дизайн: Figma;
- инфраструктура: изначально Docker и AWS, позже перешли на выделенный сервер для оптимизации затрат.
Этап 4. Формирование команды
В течение месяца я собрал команду из четырёх человек: фронтенд-разработчик (Vue.js), бэкенд-разработчик (Python + DevOps), технический лидер и VoIP-инженер. На себя я взял следующие роли:
- управление командой из 4 опытных разработчиков;
- постановка и контроль задач (kanban);
- работа с бизнес-требованиями заказчика;
- проектирование и дизайн интерфейса и ведение документации.
Этап 5. Разработка
MVP, способный совершать и принимать звонки, был готов за три месяца. Работали 2-х недельными спринтами с дейликами по 20 минут.
Сразу после релиза заказчик начал использовать сервис в реальных сценариях, а мы — получать обратную связь и итеративно дорабатывать продукт. Для презентации продукта клиентам был создан лендинг BlaBlaBot. В общей сложности полтора года команда развивала проект, создав сервис с уникальными функциями, не имеющими прямых аналогов на рынке. По причинам, зависящим от заказчика, продукт так и не был коммерциализирован, но активно и успешно применяется внутри его компании.
Результат
- Разработан полноценный SaaS-сервис с уникальным функционалом.
- Освоены практики управления командой разработки в рамках Agile-подхода с применением Kanban-метода управления.
- Получил ценный опыт разработки продукта.
- Заказчик использует сервис для внутренних задач контактного центра с устойчивым положительным эффектом.
Рефлексия
Проект стал для меня точкой профессионального перехода: из соло-разработчика я фактически перешёл в роль тимлида и координатора команды опытных инженеров. Это потребовало не только технической вовлечённости, но и управленческой зрелости — выстраивания процессов, распределения ответственности и принятия решений в условиях неопределённости.
Мне пришлось оперативно погружаться в новые для себя технологии и архитектурные подходы, на которых работала команда, а также осваивать практики управления разработкой. Существенную часть времени занимала синхронизация команды: формирование общего технического видения, приоритизация задач и контроль исполнения.
Внутри команды возникали рабочие конфликты — в основном из-за различий в опыте, подходах и архитектурных взглядах. Все участники были сильными специалистами со своей аргументированной позицией. Моей задачей было переводить дискуссии из эмоциональной плоскости в предметную, находить компромиссы и принимать решения, исходя из целей продукта, а не индивидуальных предпочтений.
На старте я понимал критическую важность фокуса на ключевой функциональности и недопустимость распыления ресурсов. Я транслировал заказчику подход приоритизации по принципу MVP — сначала ядро ценности, затем расширение. Однако на практике нам не всегда удавалось удерживать этот фокус. Мы инвестировали значительное время в разработку уникальных, но второстепенных функций, которых не было у конкурентов, при этом недостаточно внимания уделили нагрузочному тестированию и стабильности.
В результате на этапе роста трафика возникли проблемы производительности, которые пришлось оперативно устранять. Это стало важным управленческим уроком: инновационность не может опережать инженерную устойчивость. Приоритет — сначала надёжность и масштабируемость, затем расширение функциональности.
Галерея работ
Изначально проект разрабатывался под названием Blablabot; позже дизайн и цветовая схема были изменены под бренд заказчика. На скриншотах в галерее название и цвета могут отличаться от тех, что в кейсе лендинга голосового бота.