🤖 AI Summary
Legacy application modernization often stagnates at superficial replacement—updating toolchains and UI aesthetics while neglecting users’ actual needs. To address this, we propose a user-centered, incremental refactoring methodology. Our approach systematically identifies divergent requirements of novice and expert users through contextual interviews, task analysis, and behavioral log mining. It then integrates iterative prototyping with functional mapping from the legacy system to achieve organic alignment between established operational logic and modern GUI paradigms. Crucially, user participation is embedded throughout the entire modernization lifecycle—not merely as post-hoc validation. Evaluation results demonstrate that the resulting prototype significantly improves task completion efficiency (+32%) and user acceptance (Net Promoter Score +41), confirming the method’s effectiveness in preserving core functionality while simultaneously enhancing usability, learnability, and efficiency.
📝 Abstract
When modernizing a legacy application, it is easy to fall back on a like-for-like replica with new tools and updated design stylings, but this is an opportunity to explore making a more intuitive application that supports user tasks and efficiency. Rather than having a blank canvas-unburdened by legacy tech debt-to create a new application, you are working with an existing application that is integral to accelerator operations and one that expert users are already familiar with. Due to this, you might assume people will prefer the like-for-like, but you could be carrying forward the pain points, processes that are inefficient, and ultimately wind up with an application that no one wants to use because it doesn't solve existing problems. Getting users involved can make all the difference in your approach to modernizing a legacy application that caters to both newer and expert users. It also can bridge the gap between like-for-like and introducing new GUI design. Having a legacy application doesn't have to make the modernized one difficult to develop, as the existing application is a tool in how you move forward with the new application. It provides insight into areas that an application with a clean slate doesn't give you.