Application modernization can be an extremely worthwhile but enormous undertaking. In working with clients for over 25 years on modernizing their applications, I’ve found that people can be a little unrealistic about how long the process will take. There are many ways it can get bogged down including tech overload, conflicting opinions from decision makers and ensuring you’ve got the right team in place. To avoid these issues, here are my top tips for an efficient application modernization process.
Make sure you’ve got the right “bridge” in place
Before you do anything else, you need to think about how you’re going to approach moving existing functionality into your new application, so you’re not left with an unsteady foundation. Are you going to take vertical slices? Front end, business logic, database, etc. and move them together at the same time. If that’s not feasible, then maybe it’d be better to take a layered approach. In that case, maybe you pick a layer of your current system to move, such as database or front end. In either scenario there needs to be a bridge between your old system and the new one. You need to be cognizant of the time you’re spending and how long you have that bridge in place. You don’t want a rope to become a steel girder bridge!
Don’t get overwhelmed by the technology
New tech is coming at us a mile a minute, so it can be hard to know where to put a stake in the ground. Ask yourself some important questions to avoid spinning your wheels. How big is your development team? Consider their capabilities and know that certain tech stacks will need specialized skillsets you might not have in-house. How risk adverse are you? Knowing your comfort level ahead of time with open source technology is another timely question to ask. Do your due diligence so you can make an informed decision to the best of your ability, then move forward.
Code for a specific purpose
When you go in to create a new feature, be careful not to overcomplicate things. If you’ve got a page and you want it to be able to run multiple reports, start with just one. Don’t try to make it handle ten different functions right away. You’ll have to parameterize it and configurable to a point where it just gets too complex. During your first pass, code specifically for the application’s most essential task. Don’t overcomplicate things for the sake of generalization; I see it happen all the time and it slows everything down. Know that you can always refactor later if you need to.
Don’t underestimate the importance of people management
Some colleagues on your team might be apprehensive about moving to new technology. Make sure you get their buy-in early to avoid any conflict down the road and invest in training whenever possible. Make it clear to the team that modernization will be a chance to get rid of technical debt, gain experience with best-in-class tools and employ modern coding practices.
Successfully modernizing your legacy application can mean big changes for your organization (picture an improved customer experience, the ability to introduce new features more quickly and better ROI). Using the right strategy as you head down the path to modernization will save you time and resources, and get you closer to reaping the benefits of your new application.
About the Author:
Gary Gealy is a Senior Consultant with 30+ years of experience in programming, supervision and technical support. He feels strongly that software development is as much a craft as it is a science and as such, mentoring and training are critical to growing an organization. He has developed software across a number of markets including the Insurance Adjusting, Manufacturing, Food Services and GIS industries.