How we continuously optimise the Tiviti Platform
We started working with connectivity-as-a-service provider Tiviti a few years ago, developing and launching the self-service portal that empowers their customers to manage their subscriptions to Tiviti’s offering.
The Tiviti platform has proven to be one of the most complex and significant projects we’ve worked on. The scale of the product combined with the high level of service their customers expect has meant that we’ve never been able to stand still when it comes to improving and growing the platform. Working in close collaboration with Tiviti’s internal team, we’ve continuously deployed improvements and new features over the last few years which have enhanced the customer experience and improved Tiviti’s product and management of the platform.
Last year, we identified an opportunity to do a significant piece of proactive work that would improve the Tiviti platform, as well as build an ideal foundation for future development.
Assessing the current state of play
It almost goes without saying that the world of digital product and software development moves at a rapid pace. As such, at the time we were first developing the Tiviti platform, the processes and technology stack we employed around our digital products looked very different to how they do today. That’s why we have the internal structures and processes in place to ensure we’re consistently innovating.
Originally, the platform’s codebase was split into two halves – a frontend REACT app, and a separate backend API. This worked well for initial releases, but we knew, in the long run, it meant that a) there was a lot of code to manage, and b) when any changes were deployed, the two had to be maintained and checked for errors in tandem. We had the processes in place to be able to do so, but it meant that deploying changes was a more time-consuming process than we felt it could be.
Optimising through refactoring
We’re always looking to improve our internal processes, our approach and how we apply technical solutions to our client’s challenges. As such, we were proactively looking for a way to improve our approach to the Tiviti platform, making it easier and more efficient for us to implement changes, and as a result, for Tiviti to maintain a rapid release cycle and benefit more quickly from our development work. We’d reached a point where all of the core features were in place, and the platform was working well, and it was about looking ahead to what could be set up and improved to build a solid foundation for the future.
The answer was refactoring the Tiviti platform to have one unified codebase – and in the process converting everything to Typescript. We looked to set it up in such a way that the front and back end would be in sync, so that changes could be deployed once rather than twice in two separate platforms, and any errors could be tracked and addressed more easily.
Delivering tangible benefits to Tiviti and their customers
Over the course of a sprint, we were able to complete and deploy the refactoring work, immediately offering a number of significant benefits for Tiviti, which in turn were passed on to their customers.
Quicker development times
Working with one codebase rather than two has obviously significantly reduced the amount of time it takes us to develop and deploy improvements and new features on the platform. From both ours and Tiviti’s perspective, this makes the partnership more efficient in terms of output. The whole process from development, internal testing and deployment through to user acceptance testing is much quicker, meaning they can maintain a rapid release cycle with more features and improvements in each release.
Maintaining a proactive approach
The refactoring work has put us in an advantageous position in terms of being ahead of potential problems. Software and digital product development is as much about maintaining as it is about adding new features. Our improved technical framework makes staying on top of maintenance easier, enabling us to identify and fix problems more effectively due to the streamlined codebase.
Improving the user experience
The key benefit of the refactoring work has been being able to pass all of this efficiency and effectiveness on to the end user – Tiviti’s customers. More frequent releases mean constant improvement and more useful features for the users, and additionally their feedback can be incorporated more easily into each release. The unified codebase also means it’s much easier to measure performance, and track how people are using and interacting with the platform and optimise accordingly.
A knock-on effect of the refactoring project has been significant improvements to load speeds, which we’d identified were causing some bottlenecks in some parts of the platform as it grew and more features were added. As a result of some recent optimisation work made possible by the refactoring, we were able to reduce load times in some areas of the platform from upwards of 10 seconds to milliseconds.
A foundation for the future
The Tiviti platform represents the future of network management – and their ambitions for the growth of the offering and the platform means that it’ll always be changing. By doing this work now, we’ve ensured that larger releases and further integrations can be more easily implemented in the future, without the need to overhaul or rewrite parts of the platform.
Want to work with us on a digital product that will provide value to your customers? Get in touch to chat to us about your idea.