It’s amazing how influential four simple words can be. Mark Zuckerberg’s famous Facebook mantra – move fast and break things – encapsulates the relentless spirit of the modern era. While it has led to some remarkable technological breakthroughs, it’s also created an unhealthy obsession with constant, unsustainable growth. And it’s encroaching on the way we think and talk about innovation, with breathless and tired refrains: if you don’t move now, you’ll be left behind! Innovate or die! The constant push is exhausting and at odds with how mature, more complex organisations actually operate. Maybe it’s time to take a breath?
The innovation dilemma
While standing still can be dangerous – increasing your cost of delay and opportunity costs – moving too quickly can also set you back. Our CTO, Tim Benjamin, calls this
The Generation Ship Problem: first movers can be overtaken by competitors with better technology. So is it better to wait? A conundrum indeed.
It’s worth tempering all this hyperbolic, fearmongering rhetoric – especially in the age of AI. It’s tempting to look at your existing legacy systems, processes and tech and want to just rip and replace it all. Yet, as we know, they’re too embedded, too intertwined, too critical to how your business runs and delivers for customers.
So maybe throwing AI at everything can keep the wheels turning, creating the feeling of motion. But therein lies another dilemma:
the risk of falling into the productivity trap, where you make existing processes faster without transforming them to improve things or create things that were previously uneconomical or unattainable.
As we take a beat, I’d argue it’s more fruitful to upgrade and enhance where the pain is most acute – or where the opportunity is greatest (often the same thing). Much mileage can be had by revisiting legacy code development concepts and combining them with new AI paradigms to support swift, dynamic and robust technology transformation.
I propose a new mantra: move slow and improve things. Here are four ways you can use AI to work with your existing codebase:
1. What systems do you have?
Millions of pounds of value is lost when systems are developed and forgotten. Sometimes the same systems are redeveloped over and over. Written documentation can help, but only if someone retains the knowledge of where it is stored, and even then only if anyone has time to read it. However
strong your employee retention, team members leave and knowledge leaves with them; sometimes that knowledge is a whole system that they have championed or even created. The most valuable piece of consultancy work I ever performed saved a client millions of pounds when, during a consultancy research phase, I found a system they had forgotten about that exactly replicated the one Softwire was preparing to build. Creating and collating metadata about physical and virtual servers and their contents is a task that few humans relish, and can be made much more palatable by using some AI automation.
2. What data do you have and how can it be better collated?
Data is the lifeblood of AI systems. We’ve known this for at least the last ten years or so, and a lot of effort has gone into streamlining data as the first priority. But finding, aligning, and transforming data is time-consuming and often falls behind other priorities – it is always maintenance work, never the new, exciting project. AI is particularly good at managing large quantities of data, and defining and mapping common data structures. Tax Systems, for instance,
pioneered AI automation to improve tax compliance processes, reducing a manual process that once took up to 5 hours to just minutes.
3. What business functions are the current systems performing?
I’ve worked for many clients auditing the number of current and legacy systems that they have. These very often number in the hundreds (and in one case over a thousand!). Clearly, not all of these are needed, and many can be decommissioned. But this is where it can get scary. It’s frequently the case that everyone knows the “current tech” is producing the “current business-critical functions.” But the exact information about which piece of tech is providing which function can be easily mislaid. Even if you’re sure the majority of a function is being supplied by one specific system, turning off what turns out to be a support system can be catastrophic. Mapping out the functionality of existing systems and tracing which ones keep the lights on is another labour-intensive, unglamorous, and super-important job… and hence a perfect fit for AI.
4. Start a plan of incremental improvement
At a conceptual level, building forward from an existing codebase hasn’t changed. Building a completely new system in parallel to an extant one, followed by a hard switch-over, is still as disastrous a strategy as it was when Michael Feathers wrote the excellent Working Effectively with Legacy Code back in 2004. Starting with your highest priorities for feature development and maintenance, work with a coding assistant to build on top of your codebase and restructure parts as you go, and build tests for your new functions that will serve as exemplars as humans and AI agents repeat the process. Looking at the same approach in the opposite direction, you can also use AI to help you assess the detail of the codebases that you already have and identify strengths, weaknesses and areas to be refactored.
Progress without upheaval
These four steps aren’t a rejection of AI ambition, they’re just a more disciplined way to spend it. Cataloguing your systems, tidying your data, mapping your business functions and building incrementally won’t make headlines the way a greenfield rebuild does. But quiet, iterative gains compound, and unlike a full rebuild, they don’t put trusted, revenue-generating systems at risk along the way.
Move fast and break things worked for a generation of startups with nothing to lose – and digital natives with venture capital to burn. Most established businesses aren’t in that position: they have legacy systems that work, customers who depend on them, and limited appetite or budget for a failed rip-and-replace. AI’s real advantage here is in the tools it gives you to finally understand, tidy and build on it.
Your most transformative move might be augmenting what you’re already doing well. Maybe these four new words – move slow, improve things – can influence this next chapter, as we think more carefully about how we use AI and other new technology.