Modernizing Legacy Business Applications

Using Microsoft Power Apps for low-code development

Challenge

Revitalizing a legacy business application with a modern web app

A business critical application stuck in the year 2005, this was the challenge one of our clients was facing. The client, a large insurance firm, used this application to semi-automatically generate letters that are sent to customer’s regarding their insurance policies. For this purpose, a VBA Microsoft Access application, as well as, Excel and Word macro’s were developed over 15 years ago. However, it had been largely neglected in the last years, receiving only the essential maintenance such as data archives and back-ups. In its current state, frustration was rising among users as a consequence of ongoing stability and performance issues.

The stability and performance issues could be explained by the Access back-end which was stored on the company’s network drive. This meant that users were suffering for extended start-up times (5+ minutes) and data conflicts occurred from time to time. Moreover, users indicated that the reliance on IT for even minimal modifications and updates was hindering improvements from reaching the app and complete overhaul was required. Together with the users we started a project which aimed to create solution that allowed users to have ownership over their own application and adapt it to their evolving needs.

Approach

Modernizing the Application Architecture, from Front- to Back-End

From the beginning of the project, we believed that Microsoft Power Apps could be a good solution for this specific business application. However, the existing application had dependencies on other applications that were used by other teams at the client. We took a pragmatic approach and mapped out the entire architecture of the interconnected business applications, which exchange data in various and complex ways. We identified areas of the application that should remain unchanged to avoid conflicts with other business processes and teams, and we also found ways to transfer data from the future cloud environment to the other applications which often still ran locally. With a clear view of the future architecture, we were able to start developing the database, the User Interface (UI) as well as the logic behind the application.

Based on the other functional requirements we have identified, SharePoint lists would be a great candidate for migrating the application database. SharePoint offers seamless integration with Microsoft Power Apps, easy access control setup, good performance for this specific application, and the ability to be accessed by multiple users simultaneously. And the best part? It is freely available without the need for additional licenses.

It is unsurprising that the UI of the 15 year old business application could use a well-deserved refresh. Overall, users were satisfied with the existing UI, but together we identified some small but welcomed changes which were integrated in a more modern Power Apps UI. Development time was limited due to rapid development capabilities of the low-code Power platform.

In the Access-based application, business users were unable to even make the smallest changes to the letters that were generated by the applications as a consequence of the underlying complex and undocumented Word and Excel macro’s which defined the automation logic. To replace these existing Excel and Word macro’s we developed a number of organized and maintainable Power Automate flows. These flows were able to fully replace the existing macro’s, but have the enormous advantage that they allow business users make significant changes to the logic with barely any technical background. Passing the required input from the Power App front-end to the Power Automate flows is child’s play compared to the existing VBA code.

With the database, front-end and automation flows done we had the first full version of our application ready in fraction of the time in comparison to more traditional development methodologies. We swiftly collected feedback from the user whilst the users performed validation. A couple of days later we were able to deploy a production version of the application. We provided training sessions and workshops, equipping business users with the skills to navigate and customize the application UI and the underlying business logic.

    Impact

    Tangible benefits from low-code development

    So did the app modernization yield the expected results? We are happy to report that users reported increased performance of the new application in comparison with the old application during start-up and overall functionality. However, the main benefit reported by users was their ability to make changes to the application themselves when necessary. Therefore, the business unit was less reliant on IT support which expedited down-time.

    In our experience Power Apps applications have several benefits over more traditional solutions:

    Speed of development, the low-code architecture of Power Apps allows quicker development than pro-code (traditional) approaches. We firmly believe that a majority of the typical business administration applications can be developed in a fraction of the time.

    Accessibility, even for non-expert users Power Apps quite intuitive to use as abstraction is made of many complexities. Hereby, citizen developers are able to own their own business applications.

    Collaboration, many traditional business administration tools are built with a single user in mind. As with other cloud-based tools, Power Apps is completely built with collaboration in mind ensuring that the final application supports multiple simultaneous users.

    Ready to transform your legacy business application? Want to learn about low-code application developments and how it can save your organization time and resources? Reach out to learn how Datashift can support you on this journey.

    Shift from data to impact today

    Contact datashift
    From Data to Impact talks

    From Data to Impact talks

    More impact out of your data?