This blog is written by our CTO, Pawel Kaminski. Pawel has spent the last two decades working in tech and product, spending half of it as a CTO. He's worked with companies of all sizes, from FTSE 500 organisations to co-founding several successful startups.
We’re not going to pretend we know how complex your current system is, how hard it is to win the budget to improve it, how many times you couldn’t respond to user defects and requests, and how many times you promised your team that, they would finally be able to remove the ugly legacy they hate working on to new, exciting technology solution.
Your context matters the most and we’re not pretending to know all the answers, but in this article, we can shed some light on what we’ve experienced and seen while helping others in similar situations.
I am sure you noticed that just over the last few weeks, the technology landscape has shifted from under our feet again:
- The new iPhone 15
- Windows 11 introducing AI CoPilot for all users
- A new LLM launched almost daily with brand new ChatGPT Turbo version,
- X introducing its own LLM Grok
- Angular.js changed everything again
- Next.js can now be your full-stack framework
- PostgreSQL released version 16
- And thousands of new tech announcements are happening almost daily
It's a cliche to repeatedly claim that change is the only constant in how we live and breathe our organisation's technologies, products and systems, but it's still true.
What once was a state-of-the-art solution that you and your team had created is now a legacy, with mounting pressure to deliver more value, more features, improved ROI for your business, learning opportunities for your team and dramatically better user experiences.
We also understand and don't comment lightly on how vital those systems are in running crucial day-to-day operations and keeping your business relevant. They are probably widely accepted and used by current users, so any strategy impacting those systems has to be deeply considered.
In our experience, we usually see a few leading signals that a system is indicating the "legacy" challenge:
- To keep the system alive requires more and more effort. You and your team feel most of your days are spent operating and maintaining the status quo. Your ability to change, refactor, and improve is minimal, and you don't remember the last time you had the headspace to consider what to do about it. (Apparently, the US government in 2019 was spending over 80% of its budget on operations and maintenance.)
- The technology stack and versions of your systems are not even taught at universities anymore. Sometimes not supported and deprecated by the creators, and vendors don't want to deal with them anymore. When you try to hire new engineers, questions about the current state of your technology are usually met with a surprised look on the candidate's face. You struggle to hire new team members and keep your existing team engaged.
- Crucially, the system starts to feel like it's not fit for purpose anymore. You could bear the pain of operating the technology but can't respond fast enough to sales team expectations, new user needs, and constantly changing business objectives. The time to introduce new features, even simple changes, feels like ages, and the time is getting longer and longer. You feel like you are slowing everyone else progress and letting them down.
If that feels like you, your team and your system, please remember you are not alone. On average, 31% of an organisation’s technology is made up of outdated IT systems, applications or software and one survey found that developers spend 42% of their time repairing company legacy systems.
There are multiple ways to think about how to start considering an initiative to do something about your legacy solution. In our experience, a few strategic suggestions are usually worth considering:
Your context matters:
Your current business, team structure, and future needs all impact what you can do. There is no one-size-fits-all solution here, and no one has all the answers. The process will be a discovery, full of learnings, uncovering new ways to proceed and improve, and occasionally, the lack of certainty in outcomes. Engaging with external partners experienced in complexity and uncertainty management could be very helpful here.
Your strategy matters:
In our view, focusing your and your team's efforts on the most challenging problem you face that you can do sth about is crucial. Everything else will have to wait. We know there are probably 99 things you would love to change, but for now, pick just 1-3 high-priority items and learn to live with the rest of them. That's why finding the correct crux to start is so crucial. Multitasking, lack of focus and trying to do much too quickly are critical differentiators between success and failure in your improvement efforts.
Your approach matters:
Different parts of the legacy system should be treated differently from process, budget, technology, and people's point of view. Strategically map which parts of the system are at an early stage of their user lifetime with plenty of expected innovation and tremendous value to your customers. Apply agility, startup lean methodologies, product thinking and emerging practices to improve them. That's where a lot of value for your users is and where most of the future work will happen. Find partners who can work with your teams to establish goal-oriented product thinking, MVP experience and a superbly quick approach to learning, improving and iterating. Don't work to fixed scope; develop goals and allow everyone to find creative, cost-effective and valuable solutions to problems.
Find the parts of the legacy platform you understand exceptionally well, and you can explain the requirements clearly. Those could be outsourced and delivered by reliable partners. Focus here on the quality, maintainability, and dependability of the solution. Do not force innovation in those areas, and use good practices and your experience to drive change.
Finally, find the parts of the legacy system at the "utility" stage, where best practices are established and understood universally. Treat them accordingly, with an "off the shelf" solution or an external expertise. Optimise for cost reduction in those areas.
We understand that asking to consider all the above and deliver the change is not a task to be taken lightly. It's hard to implement those programs, but we saw changes in organisations', teams' and customers' perceptions worth every moment of blood, sweat and tears invested into it. When working with other businesses, we’ve seen the appreciation of the ability to iterate quickly and match the speed of early startups with their innovation; we witnessed customers appreciating support teams and finally saying "thank you". We saw internal teams proud of their work enjoying the new learnings and opportunities. We’ve seen new opportunities emerge when their team stops being an operational "cost-centre" and becomes a hub of change and innovation in your business.
This journey could be hugely improved by working with an external partner willing to understand your needs, operating from a focused, strategic view and with experience in delivering correct solutions to match the required approaches.
Find a partner who will challenge you every time you mention "that it's always been done like this", with a unique perspective from different types of business domains and stages of business, from early-stage ventures and scale-ups to organisations like yours. A partner who can work in tandem with your team feels like part of it and has a responsibility to help grow your skills and understanding of new ways of working.
If you’d like to find out more about how we can help you with all of the above, email Ro Welch at email@example.com.
We’d love to hear more about you and your business.