Как продуктовая ИТ-компания планирует нововведения своей экосистемы

Делимся тем, как разрабатываем конфигурации на базе 1С, которые входят в одну экосистему. Статья полезна тем, кому интересно, как организована работа внутри продуктовой ИТ-компании.

Кадр из сериала «Теория большого взрыва»
Кадр из сериала «Теория большого взрыва»

Коротко о компании

«Умная Логистика» — IT-компания, которая реализовала две конфигурации на базе 1С:

  • «Умную Логистику Trans» для экспедиторов и транспортных компаний,
  • «Умную Логистику Cargo» для грузовладельцев.

Конфигурации работают в режиме разделения данных. Соответственно, пользователи работают в одной Базе Данных, но в разных областях.

Для взаимосвязи пользователей между собой мы используем микросервисную прослойку, написанную на PHP. Такая система позволяет нам легко горизонтально масштабироваться на уровне сервера приложений.

Когда нагрузка на отдельную базу становится большой, мы создаем новый экземпляр конфигурации и переключаем на него регистрацию новых абонентов. На текущий момент у нас есть 6 рабочих баз для «Умной Логистики Trans» и одна для «Умной Логистики Cargo».

Как мы генерируем идеи нововведений, которые внедряем в экосистему

100% успешности программного продукта зависит от 80% его функциональности.

Главное — выявить эти 80% нужных для пользователей функций, которые положительно повлияют на эффективность и удобство работы пользователей.

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

Есть несколько источников идей нововведений.

1. Пользователи.

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

С пользователем напрямую работают два отдела: отдел продаж и отдел сервиса.

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

Отдел продаж собирает требования от потенциальных клиентов, затем обращения разбираются, и уже после идут в ИТ-отдел.

Как именно распределены задачи внутри ИТ-отдела — тема для отдельного материала.

2. Наши собственные планы развития.

Планы задаются продуктологом компании, который при постановке ТЗ основывается на опыте и мнении фокус-группы.

Фокус-группа состоит из внешних специалистов, которые являются экспертами в сфере транспортной логистики и управления цепями поставок. Они разбираются в бизнес-процессах внутри компаний наших пользователей и понимают их потребности.

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

Итог обсуждения фокус-группы — готовое ТЗ на доработку продукта.

3. Требования законодательства.

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

4. Отраслевые конференции.

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

Как мы предоставляем нововведения продуктов: о работе ИТ-отдела

«Умная Логистика» придерживается технологии разветвленной разработки, чтобы обеспечивать непрерывное развитие конфигураций в условиях жестких сроков написания кода.

Поэтому у нас есть две ветки разработки.

1. Плановая версия конфигурации (основная). Это большое обновление конфигурации, которое выходит раз в месяц. В него входят крупные доработки и нововведения.

Все обновления, которые требуют реструктуризации, мы вносим в плановую версию: перестроение может занять продолжительное время, поскольку у нас большая база данных. Обычно это занимает 30-60 минут. В большие обновления процесс реструктуризации доходил и до 6 часов.

Поскольку «Умная Логистика» работает в режиме SAAS, время простоя для нас очень критично. Часто делать такие обновления мы не можем.

Наш ведущий инженер-программист автоматизировал работу с релизами: он запускает обновление всех баз одновременно. Как он это делает и какие лайфхаки применяет — также тема для отдельной статьи.

2. Исправительная версия, которую мы выпускаем раз в неделю. В нее входят небольшие доработки и исправление ошибок.

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

Индивидуальные доработки продукта

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

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

Внешняя обработка может быть такой:

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

Что делать со специфическими требованиями пользователей

Есть бизнесы, которым подходит типовая версия нашего сервиса, однако по некоторой части есть специфические требования.

Для таких клиентов мы реализовали специальный тарифный план «Приват». Это форк основной конфигурации, который развивается независимо от основной ветки разработки.

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

77
14 комментариев

Расскажите подробнее, как процесс разработки у вас выстроен?

3

Об этом расскажем в отдельных статьях. 😉
Все подробности не войдут в один комментарий.

1

Если вы делаете saas то почему 1с?
Или исторически так сложилось, сделали для клиента конфигурацию и потом подумали, а почему не продавать другим?

2

Владимир, есть несколько причин:

1. Это мощная платформа для автоматизации учета, которая дефакто является стандартом автоматизации в России. Разработка на 1С происходит быстрее и дешевле, чем на другом языке программирования.

2.  Опытные программисты 1С понимают особенности ведения учета в компаниях и знают условия, при которых их код будет исполняться.

3. Большинство предприятий в России используют платформы на базе 1С, поэтому онбординг в такой продукт проходит легче и быстрее.

Спасибо, полезный материал. Интересно узнать, какие лайфхаки применяет ваш инженер-программист при работе с релизами.

2

Максим, ценно получать такую обратную связь! Обязательно расскажем в одной из следующих статей.

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

1