When a company consists of many departments, it can be quite difficult to synchronize the workflow within it: usually, its employees have to use several disparate software systems at once, which often cannot be integrated with each other. This entails additional manual work, resulting in risks associated with the human factor and time expenses that can be avoided. This was one of the reasons our client, an oil and gas company, contacted us for custom development services.
Who Was the Client?
We were approached by a client, a company with 17 offices operating in the oil & gas industry (we cannot disclose the name of this company under our NDA). This company previously used ready-made software solutions that solve local problems, but it did not have a single system that would cover all internal business processes.
The implementation of a custom solution was especially important for the following departments and employees:
- back office;
- manager for work with clients;
- sales manager;
- the chief legal officer;
- the security officer;
- OSR administrator;
- accountant;
- dispatcher.
In addition to the problems described above, the client had some non-obvious reasons to resort to custom development. The fact is that some of the previously used software did not meet the GDPR and NIST security standards. Moreover, employees of the company often complained about the lack of an intuitive interface, which made it difficult to work with these software solutions and caused mistakes.
Thus, the new custom development should provide higher intuitiveness, automation, and full compliance with digital data privacy standards. As for the functionality, the future project was supposed to be a full-fledged document management solution that would perform the following tasks:
- centralization of documents with the provision of a single place for storing and managing all documents of the company;
- document versioning to track changes, create and store version history, and restore previous versions if necessary;
- processing and editing documents using tools for creating, formatting, and converting documents into various formats;
- work with electronic documents, including their signing, encryption, and forwarding;
- management of access policies to documents for different users and groups;
- automation of business processes related to documents, such as approval, execution, and control;
- integration with other systems such as CRM, ERP system, project management solutions, communication platforms, etc.;
- reporting and analytics;
- development of tasks and business processes for approval and verification of documents;
- centralized management of internal and external correspondence.
What Was the Challenge?
Considering the problems that our client faced, it was important for our team to develop a solution that would work better and more efficiently than those that were used before. In particular, along with the fact that they were not convenient and safe enough, they did not allow the client's company to achieve the required level of automation to speed up business processes and make them less dependent on the human factor.
Before contacting us, the client's company used 11 separate software solutions, which increased the duration of work tasks and complicated the synchronization of data between individual departments of the company. In particular, to implement processes related to documentation, the client used 1C Docs software, which the client’s company planned to abandon.
Thus, we had to develop an all-in-one product that would combine the best features of previously used systems and, at the same time, have some new functionality not available in any of them.
What Technologies Were Used in the Development?
Since the solution we created needed to be scalable and flexible enough to adapt to possible changes in the client company's internal business processes, we needed to choose technologies and architecture with these features in mind. As a result, we settled on the following technology stack:
For architecture:
- Apollo Gateway
- gRPC
For frontend:
- React/Next.js
- GraphQL/Apollo
- TypeScript
- Jest
- React Testing Library
- GraphQL
- Apollo Client
- React Hook Form
- React Context API
- Ant Design
- Storybook
- MUI
For DevOps:
- Jenkins
- Nexus Docker
- Kubernetes
- ArgoCD
- Argo Events
- Argo Workflows
- Argo Rollouts
- Helm
- Ansible
- Terraform
What Approach to Work Did We Use?
We chose the Scaled Agile methodology with PO/PM management. Also, we adopted the Product Increment structure for parallel implementation of development streams, dividing processes into 8-13 sprints. For the UI/UX design development and rapid prototyping processes, we settled with the UI/UX Nieelson Norman standard and the IBM design thinking methodology. For the Product Discovery process, we used Double Diamond, Design Thinking, Jobs-to-be-Done (for developing functionality), and UI/UX and User Story Mapping (for implementing logic).
The chosen methodologies and approaches to energy erp software development helped us to effectively and quickly launch the MVP already 18 months after the start of cooperation with the client's company and create a flexible and rapidly scalable structure, ready for the implementation of a full-fledged automation system that would cover absolutely all internal workflows of the company.
What We Ended Up Developing?
After a year and a half of work on the project, we have automated and optimized the following processes of the company, transferring them to the digital plane through our custom solution:
- control over the execution of documents;
- registration of documents;
- introduction of resolutions to documents;
- distributed processing of documents at the stage of counterparty verification, contract, etc.;
- distribution of access rights to the typology of documents with binding to the business process tree and distribution of business process functions within the system;
- archiving of documents;
- work with draft documents;
- segmentation of tasks associated with document management;
- forming standard reports;
- sending documents through electronic mail;
- linking business cycle documents to business objects (contractor, contract);
- tracking the movement of paper originals and copies of documents;
- maintaining registers of internal transfers of documents;
- editing templates for input and output printing forms.
Difficulties That Have Been Overcome
The client already had an experience using 1C Docs, a document management software (a product of Russian origin), so it was important for our team to create not just an analog but a product that would surpass the above solution in all critical indicators. Also, the product we created was supposed to become part of a global, integrated system, which is still in the process of being created.
Results of Our Project
The result of our cooperation with the client's company was a centralized digital solution that allowed them to completely abandon the previously used 11 systems that, for the reasons described above, did not suit either the client or their employees. We have ensured compliance with the necessary data security policies and made it intuitive enough for new employees to use it without any complications.
In general, the created custom document flow solution consisted of the following modules:
- Module for working with users and administration of user roles;
- Task module;
- Task lists;
- Task cards;
- Verification module for counterparties;
- Verification module for the contracts (gas and electricity);
- Archive of documents;
- System awareness module;
- Module of external, internal, and outgoing correspondence.
To date, the energy erp system for optimizing business processes is still under development. At the same time, a year and a half after the client's request, we already have an MVP ready, which is actively used in the client's company. The result that the client received was reduced settlement terms by over 55.7% as well as the time of work with the document flow by 47%.
In the future, we are going to adapt this software product to new business niches and processes (it will take about 6 months) and expand the list of possible integrations.