Денис
Денис
Head of Back-end developer
31.07.2023

Кейс із розробки кастомної білінгової CMS для нафтогазової компанії

Денис
Денис
Head of Back-end developer
31.07.2023
31.07.2023
1010
0

Чим складнішими є бізнес-процеси у компанії, тим складніше її власникам знайти софтверне рішення, яке дозволить автоматизувати ці процеси. Наш клієнт – нафтогазова компанія, назву якої ми не можемо розголошувати через 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 місяців – без урахування можливих покращень під індивідуальні потреби окремої компанії.

Як вам стаття?
Давайте обговоримо Ваш проєкт
Натискаючи кнопку “Відправити”, ви даєте згоду на обробку особистих даних. Детальніше
Коментарі
(0)
Будьте першими, хто залишить коментар
wezom logo
Залишились питання?
Залиште контактні дані. Наш менеджер зв'яжеться та проконсультує вас.
Підписуйтесь на розсилку Айтижблог
blog subscriber decor image
Бажаєте отримувати цікаві статті?
Натискаючи кнопку “Відправити”, ви даєте згоду на обробку особистих даних. Детальніше
Слідкуйте за нами у соціальних мережах
Цей сайт використовує cookie-файли для більш комфортної роботи користувача. Продовжуючи переглядати сайт, Ви погоджуєтеся на використання cookie.