Getting under the hood

Getting Under the Hood: Technical Debt

by James Derry

What is technical debt – and what are its implications?

The digital environment moves so fast that whatever you did two or three years ago is probably out of date now. And with the rate of technological change nowadays, no system is without technical debt.

At the beginning of any large project, there is a huge temptation for developers to behave a little like a garage mechanic: lifting the hood on the vehicle; tutting, teeth sucking and head shaking; whilst muttering the phrase “It’s gonna cost ya!”.  With any new project – as with any existing car – there is always a history.

On the other hand, the adage if it ain’t broke, don’t fix it doesn’t quite work when you’re talking websites. The digital environment moves so fast that whatever you did two or three years ago is probably out of date now. And with the rate of technological change nowadays, no system is without technical debt.

What is technical debt – and what are its implications?

Technical debt, according to Wikipedia, is “…the eventual consequences of any software development”. Debt accumulates interest the longer is goes on, making the implementation of changes increasingly difficult. We’ve seen several website issues caused by backlogs of technical debt within across a wide variety of clients.  But some of the most severe include:

1. Wasting time and money

There comes a point where attempting to code or build yourself out of debt is less economically viable than starting from scratch. But, as with any write-off, there are usually some valuable pieces to salvage and re-use.

2. Performance issues

The heavier your technical debt, the bigger performance issues become. We've seen situations where a website is hosted on servers running 56 costly CPUs, when 16 should be sufficient. As well as causing speed and catching issues - it's also a particularly costly problem to manage.

3. Lack of functionality

Whatever CMS you're using, each update will include significant improvement. If you haven't updated for a few years - and your competitors have - you could be missing out on key competitive benefits.

Fixing technical debt

All websites are unique. They’ve all been created for different reasons and goals, by teams with different skill sets. So, each case of technical debt is equally unique.

In many cases, Nemetos has been asked to join a team when technical debt has become so large that client websites have become slow, costly, and time-consuming.  We recently tackled an interesting case of technical debt: our client had been left with a low-performing “patchwork” website solution as a result of working with numerous freelancers that had begun and quit for various reasons.

The extent of technical debt meant that a rebuild was more time and cost-effective than attempting to upgrade what they already had. Making the most of salvageable parts, we re-developed the website from the ground-up, making sure to follow standard development procedures (in this case – Helix – as we’re developing in Sitecore) so that they’re able to become self-sufficient moving forward.

Preventing technical debt using agile

Many businesses keep down the effects of technical debt by using an agile approach to the ongoing development process. Whilst agile can’t help you add that extra functionality included in new releases, an iterative approach that focuses on fixing all bugs before moving on to the next phase of development can make it easier to add new features as and when needed.  If the quality of your website remains constantly high, it’s easier to keep technical debt under control.

It’s always worth having an experienced partner by your side. Finding a partner that is trained to use agile methodologies, and that will not only be able to upgrade your backend software, but do so in a way that makes the most of what you already have, will ensure that the partnership is beneficial to all parties and can help to both deliver and maintain websites that exceed expectations.

What kind of Sitecore technical debt are you facing?

As a Sitecore implementation partner, we know that if a company has already invested in Sitecore, they’ve probably also been sold on its advanced capabilities and ability to stay ahead of the curve. Sitecore invests heavily in research and ongoing development to do this. In fact, over the last five years, they’ve issued a major new release almost every eighteen months; and will soon be releasing Sitecore version 9.

If you haven’t upgraded your Sitecore solution in a few years, you’re probably not able to make use of some of the best Sitecore functions. So, not only are you not making the most of your investment, but your website isn’t able to offer that first-rate digital experience to your customers.

To save yourself time and money further down the line, and to be able to benefit from full-functionality and full-feature personalization offered by the latest Sitecore software, you need to ensure that you’re regularly updating, optimising and upgrading your Sitecore solution.

What if I’m not using Sitecore?

If you’re in a situation where technical debt is manifesting itself in every small change you try to make on your system or site, it may be time to make a new start. This is a good time to look across the various Content Management and Customer Engagement platforms on the market, and of course Sitecore should be one on your list.

This is a chance to do a design refresh, embrace more current personalisation capabilities and take a new look at the way you’re communicating with your clients. Yes, it will cost you, but what will it cost if you don’t?

If you’re feeling dragged down by the legacy of an old system, please get in touch to understand how we can help you.