Разработка IT-системы планирования вещания для крупного стримингового сервиса
По заказу крупного стримингового сервиса сериалов и фильмов разработали IT-систему планирования вещания. Рассказываем, как удалось создать продукт, который подошел под сложную систему требований и правил, а главное, решил бизнес-цели заказчика.
Контекст
Опрос Bain & Company показал, что компании все чаще автоматизируют свои процессы, чтобы:
- оптимизировать бизнес-процессы;
- снизить затраты и риски;
- стать эффективными и устойчивыми.
Клиент
В 2020 году компания обратилась к нам за техническим заданием (ТЗ) для IT-системы планирования эфирного вещания. Заказчик оценил глубину проработки ТЗ и доверил нам реализацию сервиса для автоматизации несколько блоков бизнес-процессов.
Цель
Реализовать единую систему управления для всех производственных процессов онлайн-сервиса и нескольких телеканалов на базе внутренней системы управления контентом (CMS).
Задачи
- перенести ряд функциональных преимуществ популярного в телеиндустрии сервиса планирования эфирного вещания;
- обеспечить использование CMS на всех операционных системах;
- полностью покрыть бизнес-процессы.
Предыдущая система и внутренние процессы компании
Заказчик пользовался параллельно двумя сервисами, обеспечивающими выполнение своих бизнес-процессов: сервисом планирования эфирного вещания и внутренним сервисом коллективного управления контентом (CMS).
Из-за неудобства параллельного использования двух сервисов со схожим функционалом у клиента и возникла потребность формирования единой системы управления для всех производственных процессов.
Что сделали
Аналитика
В этом проекте для нас было важно работать в тесном контакте с командой заказчика, чтобы каждая заинтересованная сторона знала о необходимых изменениях, задачах и их актуальности. Поэтому еще на этапе сбора требований мы определили и зафиксировали каналы и формат коммуникаций:
- планировали встречи через google-календари примерно в одно и то же время, чтобы обеспечить максимальную посещаемость;
- обговаривали повестку встречи заранее и прописывали тайминг встреч;
- фиксировали достигнутые договоренности письменно и оповещали все заинтересованные стороны.
Все это помогло нам выстроить эффективную коммуникацию с клиентом и наладить работу с ожиданиями.
После того как произвели приемку сервисов клиента, мы погрузились в продукт и стали анализировать логику и требуемый к переносу функционал. Мы составили ТЗ, в котором отразили реализацию 4 блоков бизнес-процессов, а также сформировали дорожную карту этапов разработки. Для того чтобы учесть все узкие места, мы провели QA-ревью документации и предоставили заказчику финальную версию.
Разработка
В основе команды на этапе разработки остались погруженные в проект специалисты (аналитик, QA, архитектор). Кроме того, была проработана архитектура предложенных решений: описаны технологии, требования модулей, интерфейсы взаимодействия. Это обеспечило ускоренное погружение разработчиков.
Когда мы переносили функционал из сервиса планирования эфирного вещания в CMS клиента, мы старались не просто «скопировать» его, но сделать удобнее и практичнее. Например, предыдущая система не имела гибкости в расчете амортизации контента. Мы собрали основные формулы и ввели необходимые коэффициенты, изменили формат выгрузки. Интеграция с системой биллинга помогла нам упростить расчет выручки от продажи контента, и этим мы добились практически полной автоматизации.
В некоторых случаях повышения эффективности функционала мы достигали с помощью работы с интерфейсом. Так, для планирования плейлиста мы реализовали цветовую дифференциацию контента, а для того чтобы изменить порядок элементов, теперь достаточно «захватить» один из них мышью и перенести.
Результаты
Теперь внутренняя CMS полностью отвечала всем требованиям и ожиданиям клиента. С помощью системы удалось ускорить рабочие процессы и тем самым снизить нагрузку на сотрудников. Проект был завершен в рамках согласованных сроков, а заказчик остался доволен и продолжил сотрудничество с нами.
Технологии
Frontend: Nuxt (SPA), Ant Design Vue
Backend: Python 3.6, Django REST framework, PostgreSQL, RabbitMQ, Redis, Sphinx, Celery, Gunicorn, NGINX