Software modernization is never as simple as it looks on paper. It is similar to renovating a home. You can get an architect to draft up the blueprints for the new and improved home you dreamed up but once the project gets started things just have a way of going sideways, especially if you have an older home.
Even if you haven’t renovated a home yourself, you need only watch any of the popular home renovation shows on HGTV to understand how a home renovation project can encounter unforeseen challenges. An outdated electrical system, compromised foundations, previously undetected mold — any of these can turn your dream home into a nightmare project.
Modernizing legacy software can often have similar hidden traps, challenges, and drama. Plus, the risks are just as great, maybe even greater, in that a botched modernization project could cost a company enormously in lost productivity, customer loyalty, and cash flow.
Beginning the Process of Software Modernization
The devil is in the details, and planning the specific details of a software modernization project, which can run in the hundreds of thousands of dollars, is certainly no exception.
During the planning stage of a home renovation, you meet with the architect and general contractor in order to create the plan for your future dream home. That’s also the moment you get a reality check, both in terms of what your old home and your budget can truly handle. In the case of software modernization, every legacy system comes with certain technical limitations.
Make no mistake, however, every legacy system is repairable and can be made as functional as the first day it went live. You have to be sure you spend extra time huddling with your project manager, key stakeholders, and software project team members when designing all the new functionality you want in a modernized system.
The key is to make the dream system realistically achievable given your budget and its inherent structural limitations. This is the stage where it’s critical to invest in preliminary end-user usability studies so that, when the project is done, you have built exactly what the end user needs.
There’s not a good comparison between the demolition stage of a home renovation and software modernization. That’s typically when you discover the surprises and gotchas that can significantly impact the home renovation project outcome.
The software project equivalent is when your project team starts to work line by line through the code to see how well the code is written, how much needs to be redone, and where any process weaknesses are such that a complete rewrite is needed.
It’s a nail-biting experience when you wade into thousands of lines of code, probably not unlike a builder getting an up-close look at what’s in the attic, basement, and behind the walls.
The Most Critical Stage
The bulk of the work in a home renovation relates to the build-out. Putting in new flooring and walls, cabinets and sinks, wiring and plumbing all takes time, and multiple subcontractors with expertise in specific areas of the home. Modernizing legacy software is every bit as complex. Software project team roles include, but are not limited to, the following:
The person or small team that helped guide the initial selection of a software development vendor and is also involved in ensuring the budget is available for the project.
Client Project Lead
Usually, a person inide the company who liaises with an outside software vendor and who helps ensure the project is meeting the company’s expressed needs. Speaking of needs, the Client Project Lead may head up the client side of defining the business requirements and ensure they are encompassed in the project plan.
Much like a general contractor in a home renovation, this person is the pivotal player in a software modernization project. He or she has to know every aspect of the project including dividing work into discrete tasks, assigning staff to roles, managing the timeline and budget, communicating status reports to key stakeholders, and overseeing the final delivery of the software to the client company.
The technical guru of the project, this role is ultimately responsible for translating the client’s business requirements into a realistic solution given the technical constraints of the legacy system. The Solution Architect, much like the home architect, gets involved during the planning stage and feeds the information to a Project Manager for a Statement of Work and well-defined project workflow. Any major technical challenges inherent in the modernization of a particular legacy system will usually be anticipated by a Solution Architect so that the project is adequately planned, staffed, and budgeted (both in time and money).
Developers are like the carpenters, roofers, electricians, and plumbers who come into a home and knock out the bulk of the project requirements. This role is incredibly important as you must have the right software development skills, experience, and work ethic to take a legacy system and turn it into something just as good or even better than a brand-new system.
Interior designers and decorators make sure that home renovations are about much more than just walls, wiring, and plumbing. They make sure the home looks good and functions like it was intended. UI/UX professionals make sure the look and feel as well as the practical functionality of a software project delivers the goods. The last thing you want is to spend several hundred thousand dollars architecting and building software that employees and customers end up disliking. Neglect the user experience at your own risk.
Wrapping up the Software Modernization Process
Nearly the last stage of a home renovation project is the customer walk-through and inspection by either a certified home inspector or a local government inspector. This phase of a software modernization project isn’t much different, although it does involve a great deal of QA testing, both on the part of your software vendor and your internal stakeholders. Once QA is complete, the software must be able to start handling transaction throughput as a final check before the production implementation.
Final Evaluation Stage
This stage, which involves meeting post-project with the architect and general contractor, is when you get the warm, fuzzy feeling that a home renovation project has hit all the critical milestones and delivered a home that will last for years to come. For a software modernization project, the final stage involves scheduling a follow-up with the vendor’s Software Architect to review whether the final changes to the legacy system will meet your needs over time. This stage helps ensure that the overall project has made it easier to conduct smaller software updates over time, allowing you to keep your system fresh, adaptable, and always responsive to your evolving business needs.
Are you looking to modernize your legacy software? Reach out to Clear Measure to schedule a free consultation. We’ve got architects, engineers, QA testers, and project managers standing by to ensure you build the system of your dreams.
Originally published July 6, 2018. Information refreshed September 28, 2022.