- Digital Government
- Open Source
As part of a government-contractor team, we completely reimagined the technology for mine oversight and helped bring digital government to the mining industry in BC through digital software development.
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 do several things for the government software development project:
- improve the functionality available to ministry staff
- better inform the public on mine status
- implement digital government in mining, and
- improve cross-ministry collaboration
Our team was tasked with solving an array of complex legacy-based problems. Through on of the largest scale agile projects taken on by the BC government, the solution was to create Mines Digital Service (MDS), a multifaceted system of applications containing three products:
CORE + MineSpace + BC Mine Information
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 with strong development capabilities. Our user-friendly design also largely comes from FreshWorks' input.
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 the existing Mines Management System (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 silos. 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.
Built for Everyone
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.
Shipped Every Day
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 government software development 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:
- interviews with development team members
- a product demonstration
- review of current open issues on team Jira board
- inspection of the general project architecture
- code review for deficiencies
- running 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're partner-focused, and they build strong relationships. They were always connected and transparent, and we always knew what was going on.
"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 & Mines