It’s one of the most important questions that no-one wants to ask: “does our platform need to be reengineered?”.
Reticence is understandable. Few people have time for major existential questions like this when there’s so many other things that need to be done. And when your dev and product teams are already tied up working through backlogs and sprints, researching new features and so on, it’s a brave team leader or CTO that tries to drum up the inspiration and energy to rethink the organisation’s core software infrastructure tools.
Perhaps they should. Because an underperforming platform often equals an underperforming team.
Reading the signs
A platform in need of change makes itself known in some rather inconvenient ways. While specific circumstances might vary from company to company and platform to platform, any combination of the factors below is a good indication that there are problems at the core:
- You can’t release software as quickly as you want. Development is slow, and even when software does come together it frequently gets stuck in the quality assurance phase.
- The software you do release has problems. It could be riddled with bugs, it could be a failure to deliver on the original expectations. Either way, it’s a sub-par release.
- Software development is costing you a lot of money. This could be down to the amount of time it takes to develop, or it could be as a consequence of the specialist skills required.
- You can’t find the developers you need. There’s no surer sign that something’s amiss than if you’re struggling to find people with the right skills to work on your platform.
- Your platform can’t handle the amount of traffic it gets. Whether it’s internal users or external customers, the sheer volume of requests is slowing your platform to a halt.
- You can’t explain the architecture to others. This largely comes down to interdependencies, and not knowing what even simple changes might mean elsewhere.
Although these issues don’t act as a cast-iron guarantee that it’s time to think about reengineering, they do certainly sign-post issues above and beyond simple workflow problems.
Delaying the inevitable
Failing to heed the warning signs can have disastrous consequences, too. A little while ago, one organisation asked us to provide an assessment of its software development practices. The better that we got to know them, however, the more obvious it became that the biggest issue that the company was facing was its overarching platform. Outdated and under increasing strain, the organisation’s primary infrastructure was buckling at the knees.
Naturally, our conversation soon moved away from working practices and towards the subject of reengineering. Unfortunately, in this instance, our recommendations weren’t taken on board. One year on, the company was forced to put its entire sales function on hiatus since its systems were no longer capable of carrying out the work of customer onboarding. A new platform was then introduced, but not before a lot of damage had already been done.
Now, hindsight is a powerful thing. While it’s easy for us to point to examples like the one above as evidence of why you should listen to your consultants, it’s equally easy to see things from the client’s perspective. Reengineering has a reputation for being complex and time-intensive, and it’s usually the last thing that anyone wants to think about when the platform you have still works – even if it is beginning to creak.
Problem is, that reputation is largely undeserved. While there’s no doubt that reengineering does require a lot of conscious effort, it isn’t the herculean task that it’s perceived to be; at least, it doesn’t have to be. With the right approach, the reengineering of a company’s core infrastructure can actually be a relatively painless experience, one that can be achieved with little impact on business as usual.
A path to faster value
Let’s take a step back for a moment and think about what we’re really talking about here. Forget about words like reengineering and replatforming, and focus on what we actually want to achieve: getting value out quicker. That’s what it all comes down to – faster value creation, whether that’s as simple as being able to update a logo on a webpage header, or rolling out an entire new proposition to customers.
What that doesn’t mean is that everything needs to be rewritten from scratch. It could be as simple as needing to make some small changes to the way in which you’re building your software. It could just be a case of putting some tests in place around specific bottlenecks, and finding out what’s going wrong. Some degree of reengineering is likely to result, yes, but not necessarily the reengineering of the entire platform.
To me, what’s really needed here is a degree of introspection and the ability to work out what’s right for your organisation. Rather than worrying about whether the solution is or isn’t a case of having to reengineer some of your core processes, it’s about looking at what you have and being able to ask “this isn’t working – why not?”.
The answer to that question, in the vast majority of cases, is that what worked yesterday won’t necessarily work tomorrow. Whether you’ve moved into different markets, added more people, or are experimenting with fundamentally different business models, the organisation that you built your original platform for probably no longer exists. Instead, it’s evolved to become something else, and that demands a different approach to its architecture too.
While they might sound like problems, the issues outlined in that bullet point list above are really little more than symptoms – skin-deep reflections of the bigger problems that lie beneath. Like any other kind of ailment, it may be possible to ignore them at first. The longer you do, however, the greater the risk that the underlying complications begin to do some real harm.
Simply, there’s no sure way to know when to reengineer your platform; just collective indicators from across your business that suggest the time may be right. And when it is, you can at least be reassured that it probably won’t take as long – or be as expensive – as you might think.