- Public Sector
- Open Source
As part of an integrated government-contractor team that completely reimagined the whole technology ecosystem used for mine oversight, we were able to help bring digital government to the mining industry in BC.
The technologies that supported mine oversight in British Columbia had outgrown their existing structure and needed an overhaul — one that emphasized a shift to a system of modern web-based open source applications for mine inspectors, staff, and the public to engage and understand mine information. The legacy system was largely stand-alone, relied heavily on manual processes, and had clear limitations. It was unable to support integrated analysis or integrated decision-making across the process of mine oversight.
Through coordinated and accessible data, the Ministry of Mines recognized the opportunity to improve the functionality available to ministry staff, better inform the public on mine status, and improve cross-ministry collaboration. The solution was to create Mines Digital Service (MDS), a multifaceted system of applications containing three products: CORE, MineSpace and BC Mine Information. Mines Digital Service is one of the largest scale agile projects in government, and our team is solving an array of complex legacy-based problems.
Sprint With Us!
In 2018, the Ministry of Mines hired FreshWorks to revamp the antiquated Mine Management System through the BCDevExchange — the first provincial government project awarded using the new Sprint with Us procurement process. FreshWorks works as part of a cross-functional team at the Continuous Service Improvement (CSI) Lab in Victoria, a place where public servants and technologists are teaming up to build modern public services. The Mines Digital Services Team (or simply the ‘MDS Team’) consists of dedicated members from five distinct teams: FreshWorks, Sierra Systems, the Ministry of Mines, the Environmental Assessment Office, and the Natural Resource Ministries IIT Division. Members from each team work together and have become part of the current MDS team to deliver software from a single backlog.
They set the precedent for quality code, and our user-friendly design largely comes from FreshWorks' input. Their development capabilities are strong.
Director of Digital Services, EAO and Mines
The technologies that supported mine oversight in British Columbia needed to be reimagined. The legacy system did not support cross-ministry and cross-jurisdictional needs for uploading mining information, and did little to alleviate the ministry’s dependency on time-consuming, manual processes.
Data, if in MMS at all, was difficult to retrieve or report out on. MMS documents and mine data were not well-linked and required a great deal of effort to reconcile. Without a direct communication link between Mines and Ministry staff, information could not be sent to them digitally and ministries were required to collect mining information in-person or over email. Our initial user research with Mine and Ministry staff confirmed that this was a major pain point.
Data from the Ministry of Mines existed in siloes. Major Mine data was not stored in the Mine Management System as its scope was limited to regional mines. The MMS was also stored separately from other important mine-related information kept in the Ministry of Environment and Climate Change Strategy (ENV) and the Environmental Assessment Office (EAO) databases. To make information on the Province’s oversight of major mines in British Columbia accessible to the public, data and mine information needed to be uniformly housed, and able to aggregate and store data from all three agencies.
The antiquated system for managing mines had not been updated since the 1990s, and scaling its functionality to meet modern business needs was no longer feasible. The Ministry of Mines needed a technology partner to replace the legacy Mine Management System with a scalable, open-source, data-driven system using modern and flexible technologies. FreshWorks gladly stepped up to the challenge.
An integrated government-contractor team that reimagined the whole technology ecosystem used for mine oversight at the BC Ministry of Energy, Mines, and Petroleum Resources.
The Mines Digital Services (MDS) supports a number of interconnections and relationships to systems across the Natural Resource Ministries and is important not only to the Ministry of Mines but also inter-agency collaboration across ministries. The Mines Digital Services (MDS) is intuitive, and capable of providing meaningful data to mine inspectors, government staff, and the public.
Our team implemented automated testing and continuous integration across multiple environments. Unlike most proprietary options, we used OpenShift to manage multiple application environments (development, testing, production) with much less effort and cost than what’s possible in traditional build environments.
Our approach to system integration was to implement REST API abstraction layers with well-defined resource models. We were able to periodically transition groups of features to the new software and disable them in the old software, using a strangle pattern to avoid a ‘big bang’ cutover scenario. Users are able to use the system without having to wait until the ‘entire system’ is built. As a result, the Major Mines team, not formerly using a system, was able to work in CORE after only six months of development. This also ensured that users onboarding to the new system had sufficient time to learn and familiarize themselves with all of its exciting new features.
The project was run in true agile fashion and our team incrementally designed and developed features, demonstrated them to real users and received feedback to inform future sprints. Although the initial scope of the project was simply to replace a legacy system, the MDS team adapted to user needs and filled previously unidentified gaps to build 60% net new functionalities. The result is a multi-faceted, reliable and user-friendly suite of products: CORE, MineSpace and BC Mine Information.
CORE is the central repository for all major mine record information. Administrators use CORE to track key mine data such as name, number, operating status and commodity, and can track and make changes to mine records. CORE communicates directly with both MineSpace (to tie data submitted from mines directly to ministry staff), and with BC Mine Information, the external, public-facing portal for reporting cycles.
CORE was built to be an accessible hub, and supports integration with a number of other useful applications and tools, including:
- The Natural Resources Inspection System for a complete view of compliance details for both major and regional mines, as well as all Code Required Reports for any mine.
- MetaBase to track metrics and KPIs, and create unlimited reports on mining data.
- Notice of Work (NoW) to see NoW applications in context of the mine data in CORE.
The MineSpace portal ties data submitted from mines directly to ministry staff. With MineSpace, mining staff can now submit their reports electronically, without having to make a call or visit a ministry office. This initiative saves ministry staff time and effort previously used to locate, review, and file these documents. Now that reports are submitted digitally by mines through MineSpace into CORE, the Ministry is saving hundreds of hours of effort and dramatically improving data continuity.
BC Mine Information
BC Mine Information makes information on the Province’s oversight of major mines in British Columbia accessible to the public. Citizens use BC Mine Information to look up mining locations and staff, upload documents, and access inspection records. The website also features an interactive map with spatial data that enables users to easily zoom from provincial to local levels and access mine information by clicking on an area of interest.
The frontend of the application was built using React, Redux, and Ant Design. The backend was built in Python/Flask and utilizes the open-source SQL toolkit and object-relational mapper SQLAlchemy.
The database relies on PostgreSQL and PostGIS. CICD was done using Jenkins, Docker, OpenShift, and SonarQube. Application testing was done with Jest/Enzyme, Pi test, Groovy/geb and spok.
In September 2019, the Ministry’s Information, Innovation and Technology Division conducted a comprehensive technical review. This review included an interview with a member of the development team, a product demonstration, review of the current open issues on the team’s Jira board, inspection of the general project architecture, code review for deficiencies, and running the code base and tests on the reviewer’s local machine.
The review was divided up into five categories. After thorough inspection the MDS team received 20.5 out of 21 points and passed the technical review with flying colours.
While the two year-long project nears the full implementation of Mines Digital Services (MDS), the next big step is to decommission the legacy system and add new features and functionality to the MineSpace portal. Future enhancements to MineSpace will allow mine staff to upload applications with information directly synced to CORE, submit permit applications, and create notice of works.
They set the precedent for quality code, and our user-friendly design largely comes from their input.
"The project was complex, but FreshWorks Studio worked well with the internal team. They were communicative, connected, and transparent, and they played an important role in the platform’s success."
Director, Digital Services, EAO & MinesLearn More