Leapfrogging from VB6 to leading-edge technology
Harris Local Government migrates 16 legacy applications to .NET, then unifies them into a single modern browser-based app
Harris Local Government provides specialized, mission-critical software for the public sector. Their local government ERP solution is used by municipalities, counties and water and sewer districts throughout the United States. With more than 400 client installations, the software suite consists of 16 applications handling financial management, payroll as well as citizen services such as vehicle registration, property tax assessments and animal licensing. Originally written in the late 1990s and early 2000s, the Visual Basic 6 (VB6) platform could not keep up with today's requirements. With the support of fecher and an external design company, Harris was able to fully switch its software to leading edge technology. As a result of the 2-year-project, the ERP software is now a consolidated browser-based app with a modern UI that is usable anywhere on any internet-connected device.
“The clients who use our ERP software are relatively small municipalities with an average population of less than 10,000 and rarely over 10 users,” as Joe LaBuda, Executive Vice President at Harris Local Government, explains. “Still, just like larger organizations, they want to decentralize and be able to work from different places. They also want to reduce the need for user training by having the applications on a familiar browser-based platform.”
It was clear there was demand for a browser-based system from both the installed base as well as potential new clients. In contrast, Microsoft had long announced the end of its support for Visual Basic Classic and with each new Microsoft Windows release, more problems arose in supporting the VB6 based ERP suite. And last but definitely not least, VB6's shortcomings limited some of the advanced features Harris wanted to implement. Ultimately, they began evaluating alternatives in 2016.
Harbor - photo: Roman Boed, pxhere.com
“We were restricted in what we could implement in the software
by the limitations of VB6.”
The obvious solution would be to form an internal team to rewrite the software from scratch. “However, this would have been a massive undertaking requiring a significant amount of hiring and staffing. We felt it was simply too great a risk to build an entirely new development team just for this one-time project,” states Joe LaBuda. In researching professional service companies to help with their project, they came across the German software modernization specialist fecher. “What set fecher apart was their migration tools that would rewrite our code for the new platform. All of the other companies we spoke with would have basically done nothing more than rewrite the software, just like we would have.”
Before investing in the actual project, LaBuda and his team picked one of the suite’s modules for a pilot project. “We selected the collections module as it is somewhat complex, uses different technologies and also needs third-party integrations,” he recollects. The pilot project began in spring 2017. By the summer, when the migrated code had been returned and had passed QA, Harris was more than confident it was on the right track.
An emphasis on the front end
They then presented the pilot project to an executive steering committee consisting of ten longtime clients who were just as pleased with the results as Harris. The only additional improvement they wanted to see was to the user interface. The migration process had simply taken the existing VB6 forms from which it created functionally equivalent web forms. “We realized we had to do something more. It was obvious that a modern, more sophisticated look-and-feel would help us to increase user acceptance,” LaBuda concludes. An external web design company whose role it was to design a new user interface was therefore added to the project team.
“The fixed price option was ideal: We knew exactly what the migration
was going to cost and how our clients would benefit.”
The team was now complete, and the actual project could start. “As we were looking at this as an investment we want to see a return on, the fixed-price option fecher offered was advantageous for us: We knew what the migration was going to cost and how our clients would benefit,” LaBuda explains.
One by one, fecher ran the applications through their migration process, which starts by using a tool called vbPORTER to bring the VB6 code to .NET and converting it to C# and Windows Forms. winformPORTER, another automated tool, is then applied to web-enable everything. This allows the resulting applications to be used in a browser instead of on the Windows desktop. “As simple as this may sound, there is a lot of manual work to be done in between the automated steps,” according to Andrea Bradea, the project manager for fecher. “However, the tools cover 80 to 90 percent of the effort, so they are what makes our migration model financially attractive to the client.”
Parallel to the ongoing VB porting, the web designer began working on exemplary forms from which he developed modern user interface standards for the browser app. In addition to Photoshop designs and HTML mock-ups, they produced a detailed style guide defining all aspects of the user interface: What controls to use and how to style them, what distances to maintain between individual elements, what rules with regard to coloring apply, where to use what background images and icons, and much more. The fecher migration team used this style guide to develop a theme for the web platform, adhering to the style guide throughout the rest of the project.
As part of the web-enabling phase, the 16 previously separate executables were consolidated into a single web application, for which the web designer had developed a new main menu. “Although this presented some extra technological challenges for the team, it was certainly worth it as it allows users to easily switch between forms even if they belong to different modules,” states Bradea. Other special challenges to solve on the way to the web included a third-party ActiveX reporting tool which had to be replaced by a new .NET and browser-compatible report writer, as well the hard-coded connection to a receipt printer for which not even a Windows driver existed. “It is surprises like these that make every web-enabling project a unique experience”, Bradea smiles.
(Almost) everything works on the web
The printer control problem could finally be solved with a Windows tray app that fecher developed for this exact purpose. Everything else, including every form and all of the functionality from 16 applications, can now be used anywhere on the internet, from a Windows Desktop, an Apple device, a mobile phone or a tablet. “When we showed this to our steering committee, they wanted to get their hands on it and sooner rather than later”, LaBuda reports. “However, to ensure that everything goes smoothly, we are only releasing the new software to one customer at a time.”
“It felt more like a partnership than just a customer-vendor type relationship.”
Before the roll-out could even start, an extensive testing phase was conducted. “Even after the first round of tests at fecher, we still discovered a number of issues when we began our QA,” LaBuda explains. “But fecher was very responsive and the whole project felt much more like a partnership than just a customer-vendor type relationship. We ended up on budget and brought a code base of way over 2 million lines-of-code over to .NET and the web in just 24 months with great results.” This being the reason why LaBuda has recommended fecher to colleagues in other Harris Group companies. “This will not have been our last project together,” he is sure.