Kernaghan Adjusters is an all-service adjusting firm providing independent adjusting and risk management services in real-time to clients around the world. Claims adjusters help to close the gap for clients experiencing disruption in their environments including catastrophes, professional liability, and major losses specialties. A key part of Kernaghan’s proprietary advantage is KEA, a real-time, web-based claims management system. KEA also provides business critical support for billing, timesheets, CRM, and employee performance metrics. KEA is the foundational system that powers Kernaghan’s business.
Our partnership with Kernaghan Adjusters started over 20 years ago when OXD (then OpenRoad) developed the first version of KEA.
Our goal was to deliver a modern, user-centric system while increasing functionality and maintaining company productivity.
OXD designed and built the original KEA system in 1998
We had to customize without starting from scratch.
The KEA platform and other key business applications shared a main database. The existing database and information—including over 200 custom reports—had to remain accessible and functional. That’s why we kept most of the existing KEA database schema as the foundation for the new modernized KEA. Think of it like building a new house on its old foundation. This allowed for continuity of data for other applications while working on the KEA system upgrades.
Outdated technologies made development and debugging difficult.
KEA had complex business logic compiled into Visual Basic libraries that could not be debugged using modern development tools. The old tech stack had become expensive to fix and maintain, making it harder and harder for Kernaghan to improve their business capabilities. Even the smallest incremental change could cause a break somewhere else.
The original system was built using a three-tiered architecture (which was very trendy around the end of the last millennium):
- presentation layer (Classic ASP)
- business layer (VB6/MTS/COM+)
- data layer (SQL stored procedures and inline SQL)
Out of these three layers, the business layer had become the most fragile and difficult to work on. Developers started putting important business logic in the data layer because it was too risky to change the code in the business layer. These new code inconsistencies made it even harder to troubleshoot and understand.
Downtime was not an option.
Since KEA supported mission critical solutions—including claims management, billing, CRM, and timesheets—we needed to make sure users still had access to key features during the project. The most important constraint of this project was that the system had to be at 100% productivity at all times during the development. Anything less would be fatal to the business.
So, how can you upgrade an old tech stack while maintaining 100% uptime and functionality?
Update the old application, one piece at a time.
We recognized early in our discovery phase that the old system needed different types of improvements. Some screens only needed a visual design and technology upgrade, while others warranted extensive user experience design. Using data gathered from 60 days of web server logs, we were able to categorize the upgrades into two categories, “redesign” and “re-skin”. Using this information we developed a multi-phase release plan that allowed the UX team time to design the new features before the next development phase. Over an 18-month period there were eight major releases of KEA, plus approximately 20 hotfix releases. Spreading out the releases over time was effective in ensuring that we were never in a situation where everything was broken at once. If issues did arise they could be resolved in a few hours instead of days or weeks.
Accommodate undocumented system rules.
The existing system had decades worth of changes and improvements done to the original codebase we had built. Some of this code, deeply buried, was still crucial to KEA’s operation. We couldn't just replicate functionality from documentation or else we may have missed important business rules hidden in the code. We preserved these business rules by doing extensive automated testing and sometimes directly rewriting large blocks of code from Visual Basic 6 to C#.
Use a modern, secure tech stack.
We used a modern application development approach and designed the new KEA system as a hybrid single page application. The upgraded tech stack was primarily developed using .NET Core and Vue.js, with an automated build and deployment pipeline. The front-end adhered to HTML5 and CSS standards for improved browser compatibility. By upgrading the tech stack and moving to a .NET Core based platform, it improved potential security issues from known exploits, improved browser compatibility, increased responsive capabilities, and reduced time to deploy.
Talk to the people who use the system every day.
We spoke to adjusters, support staff, and leaders in the company to determine where there were functionality and usability issues that we could solve. We also wanted to understand if there were features that users found worked well, so we could ensure those stayed in the new design. Using this research, our UX team was able to redesign the application to not only serve the current functionality, but also address usability challenges.
Kernaghan needed better ways to track performance, manage tasks, and keep staff informed. Administrators were looking for better search functionality in billing and timesheets. Accounts needed a better way to track which incoming cheques belonged to which payment accounts—recording received cheques was a completely separate process from managing the payments. By building new interfaces that wove together different processes, we were able to provide a single unified view. Seemingly-simple but actually complex things—like having a line item show in both the payment and reserve schedule—were now possible.
Work Agile-y, iterate rapidly.
Keep lines of communication open.
We sought out and applied as much feedback as we could from everyone we talked to—from the end user to the CEO. After each stage of the project we reviewed feedback to ensure we were testing for and solving each issue in a functional way and learning how the next stage could benefit. By having an open line of communication across users and stakeholders, we were able to build sections in a way that would improve user productivity.
Use a flexible timeline.
To provide the best product and minimize impact on the business, we needed to keep our timeline flexible. By using Agile methods, we were able to launch in a section-by-section approach—this way all users stayed up and running while each section was developed, tested, and launched. If we needed to delay a section launch due to improvements or fixes, we could do so without affecting the deadline to launch additional sections. Each phase was implemented in a series of two-week sprints and released once fully tested. Feedback from launched phases could be incorporated into the work of subsequent phases.
By modernizing legacy tools and processes, OXD helped improve client satisfaction and staff effectiveness.
Personalized dashboards for modern workers
We kept KEA’s original reporting features, while improving metrics dashboards to be personalized to each adjuster—allowing them to keep track of their progress and be accountable for their goals in real-time. The upgraded KEA application is now a contemporary and revitalized tool that acts as the comprehensive source for all operations and users.
Design with mobility in mind
Whether it's inspecting accident sites or interviewing claimants and witnesses, insurance adjusters are on the road a lot. With a responsive and mobile-friendly platform, adjusters can view and update their claims, add notes, and check-off tasks using KEA either in the field or at the office. KEA allows staff to work where they need to, saving time and enhancing productivity.
Don’t let old technology impede business growth.
Our work with KEA helped remove the technical barriers that an old tech stack was posing to their business. KEA employees were able to continue supporting their clients through catastrophic and disruptive events, all while their mission-critical software got upgraded in the background.
An iterative replacement strategy can help minimize execution risk, remove the pain of implementation, improve client and staff satisfaction, and keep your business running smoothly.
Want to learn more about how our custom software development solutions can help your organization increase revenue and decrease costs? Read case studies on some of our other technology solutions projects.
If you're interested in learning more about legacy modernization, listen to OXD's Vice President and Partner, Gordon Ross, talk about "changing our mental model of legacy systems" on this episode of FWDThinking.