Blog

The Tablecloth Trick:
How to Modernize Legacy Software

Change is constant. Your business priorities shift, personnel come and go, and the technology you built your product with evolves over time. You’ve built a great product and your customers love it. They love it so much, they may not want to see it change. The longer you put off an update, though, the more risk you expose yourself to –  key knowledge being lost, personnel turnover,  and updates to your underlying technology may eventually force you to change at an inopportune time.

How can you implement change without alienating your customers?

Know Your Product

This sounds like a no-brainer, but over time, as people leave and the initial release accumulates updates, you can lose track of exactly what the system does and the expected outcomes. You need to conduct an assessment to re-establish the current state and know exactly how the system works. The knowledge you gather in this exercise will help you:

  • Prioritize the work. You will be constrained by time and resources, so you need to focus on what matters most.
  • Know the product like a customer. This gives you credibility when talking about the upcoming changes with your customers (see below). They’ll trust you and you’ll trust yourself to build the right thing.
  • Understand your time constraints. Certain libraries or frameworks may be losing support soon or the nature of usage is driven by the calendar. Chances are you already know these critical dates, but this assessment will reinforce the necessity for change.

You do not want to bite off more than you can chew, which would be easy to do if you don’t fully understand your product and the environment in which it operates.

Keep Your Customers Involved

Few people like to be surprised, especially in a business environment. If you involve your users as early as possible, they’ll be prepared for the change and help you guide it. The roles they can take on include:

  • Assist the Product Owner to flesh out the user stories. Your customers will likely point out some critical edge cases that could trip you up.
  • Subject Matter Experts for the product team, to answer questions during development.
  • Tester to execute test cases on the working software during the sprint.

You will want to tightly manage their interactions with the team. You are still calling the shots here, not your customers. You need to build the best product for your business that meets your customers’ needs. Also, it can be daunting to drop someone from the outside into your technical teams, especially if they have no technical background themselves. But if you are upfront about your expectations, this will be a good experience for all.

Provide Post-Deployment Support

Now, this last one seems pretty obvious, but if you’ve involved the customers early, and especially if this is an internal tool, you can lose sight of how important this is. No change no matter how well executed is a 100% good for 100% of the users. This is also a great barometer for how well you’ve done your job. If the need is minimal, then you’ve likely reproduced the system as close to the previous version as possible so there is no confusion when it goes live. If you budget time for this support, it serves as your incentive for being successful. The better you are, the less support you need to provide on the back end of the project.

Ten Mile Square Can Help

We can help you modernize your legacy software by:

  • Assessing your product and the context in which it operates to identify technology and functionality gaps.
  • Prioritizing the modernization effort in line with your features backlog,
  • Providing technical leadership, process remediation, and team coaching.
  • Applying hands-on technology modernization, infrastructure update, and software development.

Categories: Blog

Tags: , ,

Laurie Barth
19 Dec, 2017