That old code is way overdue. How to plan your Legacy rewrite.

Does your current application need its legacy code rewritten to benefit from security, new features, modern integrations and to get with the new working world of remote WFH lifestyle?

Stop putting it off.

We’ll go over how to tackle the mammoth task and break it down to an approcable and task worth completing.

People often mistake User Story Mapping as a tool to start projects, but it is entirely suitable for building up an old project or design or plugging into an active project to help redefine the backlog, MVP and process. Afterall.. you need to start with your MVP or risk feature creep and stagnation.

FeatureMap can be used to help you plan out a current project or in this case, current piece of software. First approach the product/project/app and hash out the main features of the finished and current code.

A few options may be available to you, depending on the code:

Are you able to update the tool in sections?
Are you able to approach the update in sprints/versions?
Do you need to rebuild the entire program from scratch?

Take a moment, start you map and make a column and throw in ideas, thoughts, approaches, decisions. This is more for reference that you can draw from as you plan out the current software.

You can utilise basic User Story Mapping and decide where to place these cards, with which layers, columns and sections on your map.

Below and in these examples, we will refer ot our “Moviebuddy” app, a fictional app to help sorts your DVD collection.

The Moviebuddy Current Version

We then worked through identifying which sections were redundant and not required after the code update. We identified these and added them to a new column to the side. Essentially removing them from view. Some of these features were workarounds that the new framework would natively support so we can remove those, yet we still need to rewrite some of the related code. Be sure to add discriptions for your team to reference that may help them realise your decisions.

In this case, our team assembled and had an online meeting to identified which parts of the code would be updated and what we should be prioritised as a framework. We labelled this as version 1 and aimed to get the core functions updated. The MVP of re-writes.

Identifying what we should upgrade first in Version 1

We were able to identify one function which we were able to upgrade. We also added new cards which reminded us to update our code standards and highlighted them green to ensure they were completed.

We then moved along to the next version which allowed us to introduce our new payment gateway to the application. A function that had alluded us due to the old codebase.

Adding a new Codebase column and moving to version 1.5

This allowed us to deploy more frequently and provide value sooner as we updated sections of the site. We still had a lot of ‘old legacy code’ but as we added new features we moved the legacy code functions inline with our updates.

Re-writing your legacy code is so very typically neuenced and specific to your use case, but I hope with these examples above you can see how to:

  • Add your current app to a map.
  • Collaborate with your team to share the same understanding.
  • Highlight what is redudant.
  • Task and outline new expanded features.
  • Work through the MVP and assign with the team members.
  • Estimate time, costings and aggregate them for team leaders to quickly understand.
  • Rewrite your legacy code
  • Have a celebration

As you can see using User Story Mapping can be brand new projects, or old existing projects.

It’s 2021 already, stop putting that task off, realise how easy and approachable it is with a User Story Map. Break down the mountain to bite size tasks and update that out of date framework!

If you need direct advice, coaching, a guide or want to book some time to explore FeatureMap, do feel free to reach out to us, but first…

Moviebuddy is all fictional for the purpose of training.