Trility delivered a modernized backend system and data store for a global irrigation system using scalable patterns to enhance maintenance, security, and reliability that increased the capabilities of their agricultural and transportation product platform.
This manufacturing company had acquired several companies and their technologies to grow market share. This created complex integration with numerous variables for each of the solutions. Due to staff changes and siloed understanding, there was limited knowledge transfer for these systems and integrations, all contributing to technical debt.
The system was approaching a failure point, creating challenges to maintainability, scalability, and reliability. Due to the monolithic architecture, the client was rapidly approaching a hard limit in their ability to sync the related databases for additional client devices.
To address the lack of documentation and understand the various systems, the team completed a high-level dependency analysis. Using the existing processes, architecture, and toolset to gain an understanding of the complex system, Trility delivered an end-to-end pipeline that identified a number of bottlenecks.
The team optimized around the bottlenecks and delivered vertical slices of the project for biweekly demos. The risk was reduced each time new functionality was delivered and increased project velocity.
In addition to reducing build times, the development feedback loop went from 30 minutes to 3 minutes by introducing acceptance testing in a simulated local environment.
The client is positioned to increase market share and better service existing customers. By delivering a rewrite of the complex backend system and new data architecture, Trility helped the manufacturing company increase device telemetry and control volumes.
With scalable patterns, the client can easily modify, update, maintain, and add new devices to the system. Other notable results include:
Developed local, simulated environment to reduce testing feedback loop from 30 minutes to 3 minutes.
Leveraged existing environment configuration to verify accuracy and completeness before deployment.
Enabled risk-free upgrades of dependencies and frameworks.
Abstracted common device driver setup to reduce setup time for new devices from weeks to days.
Introduced data parsing improvements to significantly reduce development time for capturing and storing device driver data.
Leveraged tool, IronPython, to enable running legacy and new device drivers side-by-side to guarantee data accuracy.