Project Description

Our client has developed several software products for use by the Defence and Emergency Service sectors. One of these products is a telematics and fleet management system that was developed to support the police force.

Facing the loss of a key resource in the support of this telematics system, our client began the process of finding a new third line support solution. After a series of discussions, Zircon was asked to fulfil this role and with agreement from our client, Zircon provided a mix of services, to include support, feature development and consultancy.

Mindful of our client’s relatively low experience with an outsourcing partner like Zircon, the Zircon team were careful to ensure that regular communication was maintained at all points throughout the project. Key stakeholders were involved in all sprint planning, review and retrospective meetings, as well as regular updates to ensure that they were aware of progress and the state of any features or fixes being worked on.

From our experiences of working on projects of this nature, we know how important the onboarding period is for our clients. The product is a complex system, based around a C# ASP.Net front end coupled to a Microsoft SQL Server database and a collection of back end services that utilise a wide variety of technologies such as RabbitMQ, NHibernate, Angular.JS and Redis. To make the transition as smooth as possible and gain valuable insight into the system, Zircon team members invested several days to work alongside our client’s existing product teams and to attend meetings with key stakeholders.

As an additional part of this onboarding process, we ensure that time is given to familiarise ourselves with our client’s configuration management and build process. This involves doing a build of the system before making any alterations, or with a very slight change and carrying out system and integration testing, reassuring both ourselves and our clients that their process documentation is as accurate as possible and that our team understands them.

With this insight, we were able to provide our client with reliable ongoing support, as well as provide them with assistance in developing their life-cycle and deployment processes.

One of the components of this system is an ETL toolset that allows for the transfer of large quantities of data from fleet vehicles. Over time the stored ETL processes had become interwoven, where various architectures had been built up on top of each other. This complex structure made maintaining the system challenging and lead to the appearance of bugs.

To clarify the actual structure of the interwoven architecture, Zircon engineers created a user manual of all the stored procedures in both picture and flow diagram form, accompanied by descriptions and code examples. Having this clarity upfront not only aided our ability to debug the system but also gave the client a helpful manual that would allow them to work on the system without our assistance.

Alongside our development work, we also offered our consultancy service to help our client find a solution to a few additional issues. For example, there is an expectation for police data records to be retained for several years, but the database where it was being stored had reached capacity and historical data was periodically extracted and placed elsewhere. In this instance we provided our client with advice on how to achieve continuous integration of the service while backups could continue to be taken.

We fulfilled this role for 18 months before our involvement was brought to an end when our client made the decision to end-of-life the product. In light of this decision, our client wanted to bring the support back in house for the final few months. To ease this transition, Zircon assisted in the handover process, offering training for our client’s team from our offices in Trowbridge.

For this project we were able to come in quickly, rapidly gain knowledge of the system and successfully provide the support service that they required. We worked closely with our client right from day one, building our relationship to a point where they could trust us to make suggestions to improve both their processes and their product.