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

Re-write your legacy application using User Story Mapping

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.

From Idea to MVP

User Story Mapping - From Idea to MVP

User Story Mapping is the perfect tool for taking an idea of a group, and refining it with shared understanding into a perfect MVP.

If you are just starting or have a project that is stagnant or facing a barrier, read on how to easily figure out if you have a product already, or how to best start the planning process in 2021.

When we look at User Story Mapping, you may think of the backlog of user stories, or how it can be a great methodolgy to reduce and refine your current project or product flow. But User Story Mapping doesn’t just need to be a tool applied to a backlog heavy project. It can be used to refine an idea to a product.

Refine the Idea

To start, you’ll be going on a User Story Mapping journey. Take your product and start writing out all the steps out, be as broad as you want.

Take the product and ask yourself and your team these questions:

  1. What is the overall idea?
  2. Who are the customers?
  3. Who are the end users?
  4. Why would they want it?
  5. Why are we building it?

Find out what the project and product is for, validate your reasoning, search for problems, take the steps to refine your idea.

Build to Learn

With the initial idea fleshed out, build your product with the aim to learn. A less than MVP (Minimum Viable Product), a product that covers the simple basis for your users.

With this stage you do not want to market, push or give out the product as “The product” but instead share with a small group of users. Ideally users you spoke to initally that may have sparked the idea of the product or are in your alpha/beta group and open to seeing the progression.

As part of this step you need to harvest the feedback, and constantly refine your idea. Build wants but be care ful to actually listen to what the user wants.

At this stage metrics will help as it is common people will fall into a loose three categories:

  1. The Polite Enabler. — The user who says everything is great, but doesnt use the product.
  2. The Complainer. — The user who sends in lists of feedback and demands, but actually uses the product.
  3. The Mute. — The user who uses the product and says nothing.

The polite user is probably the worst for building to learn, with the complainer being your favourite user. However be careful the complainer is not just demanding features that detract or do nothing.

The Mute you’ll need to reach out, engage and ask for feedback with offered incentives. The mute can be valuable if you can change them from mute to talking.

If you are reading this to get started, you can get started straight away for free. You get given a premium trial for 2 weeks when you sign up, but even if you revert to a starter account you’ll still have access to edit, move and make your map.

You can get signed up, but if you are planning, read on for now.

Applying it all to a Story Mapped Backlog

You now have your project released, some feedback and ideas of how to take it from big idea to big success.

For a practical start, we recommend organising a horizontal strip of User Actitives. You will have this from the first step, and the questions. This will form the backbone and be the foundation of your map.

You can lay it out how you like, but if you want guidance you can lay it out in vertical strips, and arrange it into three tiers:

  • Current Relase
  • Next Release(s)
  • Future Ideas

Each card will have indepth details about the feature.

Example Layout in FeatureMap.co

Then when organised, take the highest priority stories or layers and move into the current sprint.

This is one great way to refine your Idea down to a core set of principles. You can find out your MVP.

When I created my app, I went beyond the MVP and made the pre-MVP core functions. This allowed me to generate an ugly, functional core system to then expand on. I never released the pre-MVP but it helped me define the principles of our app.

Common Pitfalls

I might write a piece entirely about the pitfalls I see new projects and products fall to when designing their story map and MVP but for now, the key two points echoed everywhere:

  1. Perfection — When designing a product do not focus and lose yourself to the “Just one more feature” which adds time and bloat to inital ideas.
  2. Make a skateboard first — When making a car, first design a skateboard that allows the user to at least get somewhere. Do not fall into the trap of building car parts with no method to go.

To illustrate this Henrik Kniberg wrote an article talking about how he prefers “Earliest Testable/Usable/Lovable” over MVP.

Henrik Kniberg

I was once hired to salvage a project. When I started digging into the functions and principles I found that they had been in a state of “not yet ready” and “coming soon” for over a year. I learnt that each time they had developed a section the designers, artists, and owners all had differening ideas of what they all wanted.

I first sat them down with a task of shared understanding, figuring out exactly what everyones vision was, and how it translated to actionable steps.

Then secondly I highlighted they already had a MVP, and had an MVP since the year prior. We seperated the whole system into stages (the horizontal sprints) and were able to wrap up and release the project.

If translated that to Henriks image above, I realised they were at stage 3, while they were aiming to develop to stage 5. Stage 5 before they had even earnt a penny.

Do not do it.

Summary – Validate your MVP

So to summarise.

When designing your product, each sprint sent to product should be reviewed, measured and with feedback and data. To learn.

With that learn knowledge, collect data, read feedback, refine your idea.

If it ever seems out of kilter with the rest of your team, you shouldn’t worry as you are all working on a Story Map, you will all see the steps and sprints. That shared understanding of the project elimates the issues.

With that refined idea, revamp your MVP and build.

  • Build — MVP
  • Measure — Get feedback and data
  • Refine — Improve with better ideas
  • Repeat — Back to Build.

With User Story Mapping this is easy, especially when using a tool like FeatureMap.co as the ease and flow of a team all working, moving and adjusting cards on the fly makes it invaluable.

Get started today, and get your project working. You may already have an MVP!