Чем сложнее бизнес-процессы в компании, тем сложнее ее владельцам найти софтверное решение, позволяющее автоматизировать эти процессы. Наш клиент – нефтегазовая компания, название которой мы не можем разглашать ввиду NDA, ощутил это на себе. Однако мы готовы описать наше кастомное решение, позволившее компании решить ключевые проблемы, перед которыми оказались беспомощными уже готовые системы. Речь пойдет о биллинговой CMS.
Кто был нашим клиентом?
К нам обратилась компания с 17 офисами, работающая в нефтегазовой отрасли. Клиент нуждался в создании индивидуальной биллинговой системы для внутренних подразделений продаж и бухгалтерии, которые будут покрывать рабочие задачи ряда специалистов:
- руководители восьми операционных направлений;
- три типа менеджеров по работе с клиентами;
- менеджеры по продажам трех типов;
- бухгалтеры;
- аналитики;
- диспетчеры;
- менеджеры по работе с документацией;
- менеджеры по маркетингу;
- юристы и специалисты по безопасности.
У клиента были также некоторые дополнительные причины создать кастомное биллинговое решение с нуля:
- Нежелание использовать софтверные решения, созданные во враждебной террористической стране – России.
- Усиление в компании требований по обеспечению безопасности данных, вызванное ориентацией на стандарты безопасности GDPR (ЕС) и NIST (США).
- Слишком сложные используемые ранее интерфейсы софтверных систем, а также их низкий потенциал для кастомизации под специфические бизнес-процессы компании клиента.
Будущее решение должно было стать полноценной биллинговой системой учета потребленного пользователями природного газа и электричества, способной сочетать специфику работы как с юридическими, так и с физическими лицами. Система должна была упростить рутинные задачи бухгалтерии путем автоматизации, используя единую базу данных с уже созданными учетными записями, защищенную от неавторизованного доступа.
Нам также нужно было разработать функционал фильтрации первичной отчетности по статусу и дате создания, контроля оплаты счетов и поддержки реестра должников с составлением писем-напоминаний.
Полученному на выходе продукт предстояло заменить 11 отдельных софтверных решений, используемых ранее клиентом.
В чем был главный вызов?
Чтобы понимать, каким должен быть результат, нам было важно точно формулировать специфические задачи, которые клиент хотел решить с помощью нового индивидуального решения. В частности, предыдущие системы, вдобавок ко всем упомянутым выше нюансам, были недостаточно эффективными.
Дело в том, что системные данные были рассеяны по 11 отдельным софтверным решениям – это существенно повышало время присутствия пользователя в системе на уровне менеджмента и усложняло сбор показателей для контрагентов и соглашений.
Пользователи также сталкивались со сложностями при работе с системой управления бухгалтерским учетом: это требовало большого объема ручной работы и взаимодействия с обособленными пятью базами данных.
В результате цель нашего проекта была связана с критической потребностью оптимизировать бизнес-процессы в компании клиента, сократить влияние человеческого фактора на финансовую сторону работы с партнерами и контрактами.
Какие технологии использовались в разработке?
Чтобы обеспечить соответствие создаваемого решения новым требованиям безопасности пользовательских данных и адаптации к изменяющимся требованиям бизнеса компании клиента, мы уделили особое внимание проработке архитектуры и выбору технологий для проекта. В частности, мы остановились на таком техническом стеке:
Для архитектуры:
- Apollo Gateway
- gRPC
Для фронтенда:
- React/Next.js
- GraphQL/Apollo
- TypeScript
- Jest
- React Testing Library
- GraphQL
- Apollo Client
- React Hook Form
- React Context API
- Ant Design
- Storybook
- MUI
Для DevOps:
- Jenkins
- Nexus Docker
- Kubernetes
- ArgoCD
- Argo Events
- Argo Workflows
- Argo Rollouts
- Helm
- Ansible
- Terraform
Какой подход к работе мы использовали?
Наша команда решила реализовать процесс разработки в соответствии с методологией Scaled Agile, с менеджментом PO/PM. В частности, структура инкрементирования продукта (Product Increment structure) была распределена по параллельным потокам разработки (без сокращенного выпуска), а сами процессы были поделены на 8-13 спринтов, под каждый из которых мы с клиентом согласовали объемы работ.
Что касается работы над дизайном UI/UX, мы выбрали стандарт разработки Nielsen Norman и методологию дизайн-мышления IBM.
Кроме того, для процесса Product Discovery мы решили использовать подход Double Dimond, дизайн-мышление, концепцию Jobs-to-be-Done (для разработки функционала) и UI/UX и User Story Mapping (для внедрения логики).
Что мы в результате разработали?
Результатом нашей работы стала ERP система для нефтегазовой компании, заточенная под специфические потребности и требования клиента.
В частности, мы создали кастомный генератор форм отчетности, интегрированный в 11 систем сбора данных потребителей для всей истории компании клиента. Мы также сконструировали генератор учетных таблиц для контрагентов и сделок; автоматизировали задачи и бизнес-процессы, связанные с учетом и подсчетами показателей потребления для площадок коммерческого учета.
Для максимального удобства наша команда разработала более 15 каталогов для биллинговой системы – с данными, которые автоматически заполняются и загружаются в учетную систему. А также в файловую систему данных по контрактам и контрагентам с четким и последовательным процессом согласования документальной базы.
Вдобавок мы создали отдельный модуль аналитических данных для аналитиков и сервисных диспетчеров, построили генератор распечаток для менеджеров, для привлечения новых партнеров и работы с уже имеющимися. Кроме того, индивидуально разработали возможность мониторинга учета потребления газа и электричества для разных категорий пользователей. Также сформировали воронки продаж и пути работы с потребителями с задолженностью и с теми, кто планирует вернуться к услугам компании.
Сложности, которые мы преодолели
Ключевая задача нашего проекта кастомной разработки заключалась в том, чтобы создать софтверное решение, решающее все описанные выше проблемы клиента (юзабилити, автоматизация, соответствие общепринятым политикам защиты данных и прочее). Продукт должен дать клиенту максимальную ценность, учитывая стоимость разработки.
Более того, решение, созданное нашей командой Research & Development, должно быть инновационным и конкурентоспособным по сравнению с уже имеющимися на рынке. Мы также стремились сделать биллинговую систему масштабируемой, чтобы она могла эффективно работать с увеличением числа потребителей, объема данных или функций, позволяя компании клиента с легкостью адаптироваться к потребностям рынка и быть достаточно гибкой для быстрого и экономного внедрения нового функционала.
Результаты нашего проекта
Благодаря нашему плодотворному сотрудничеству клиент больше не нуждается в использовании отдельных приложений, которые не были ни удобными, ни достаточно безопасными. Теперь сотрудники компании-клиента будут всегда иметь под рукой универсальное решение, закрывающее абсолютно весь биллинг и связанные с ним процессы.
В общем, готовое кастомное решение содержит такие модули:
- Модуль для работы с пользователями и администрирование пользовательских ролей;
- Модуль для работы с контрагентами;
- Модуль для работы со сделками;
- Каталоги;
- Модуль для биллинговых операций;
- Модуль для бухгалтерии;
- Модуль для создания отчетов;
- Модуль для измерения потребления электричества и природного газа.
Фактически мы создали комплексную систему биллинга, полностью подстроенную под нужды и бизнес-процессы клиента. Продукт отличается удобным и дружественным интерфейсом, с возможностью адаптации под конечного пользователя.
В настоящее время проект находится в дальнейшей разработке. Вместе с тем, мы уже запустили и развернули MVP – на его имплементацию понадобилось полтора года. Что касается возможности адаптации этого продукта под другую компанию или нишу бизнеса, то для этого может потребоваться до 6 месяцев – без учета возможных улучшений под индивидуальные потребности отдельной компании.