Technical Debt, and how it should influence your business choices

Guest Blogger

Software is a highly competitive field. This is great because it gives users a large number of options to choose from when they need something, but the downside is that it makes it complex to choose the right tool for the job. When a business or an individual makes a choice with technology, and then builds systems or processes on top of that choice, it creates something called Technical Debt, which can influence decisions later on in subtle and not so subtle ways.

By way of illustration . . .

Your business needs an always up-to-date full productivity suite for your management and administrative staff, so you purchase and continue to renew a Microsoft Office 365 license, a fine product that solves the problem outlined above and provides the opportunity to solve many future problems as well. A year or two later, after spending several years without a central budgeting solution to reference before submitting Purchase Orders, the business then decides that they need a central accounting spreadsheet that can be referenced and updated by several users, all working remotely and potentially simultaneously.

Office 365 does have a solution to this, co-authoring, but it has some shortcomings. First, because of all of the different versions of Microsoft Excel out in the world, not all of them support this feature, and if one person in the group doesn't have a supported version, no one else can edit the document until that user closes it again. Second, because everyone is editing the document locally and then syncing it to the cloud, it can take several seconds before a change is reflected everywhere, and on an internet connection with high latency this can stretch out significantly. Microsoft is actively developing a solution for this, and support will definitely get better over time.

But right now, a better solution might be using a tool like Google Sheets, which was developed from the beginning to be a cloud-based collaborative editing tool. As such, rather than syncing the whole document back and forth, the software sends only the information that has changed, resulting in a more responsive editing experience. In addition to this, because Google Sheets is online only, no one can accidentally lock other users out, there is only ever the one version of the software, and it can be used on any device that has internet access with no additional installation necessary.

All other things equal, Google Sheets is currently the best solution for this use case, but not when we factor in Technical Debt. That calculation looks like this: the company is already paying for Office 365, its employees are already familiar with the applications, and while the core Google Sheets application is free, many businesses opt for a paid license for added features, support, and security—something necessary for a business critical document like a budget. In this situation, it makes more sense to use the Microsoft solution even though it is objectively worse. To correctly utilize the Google software, employees will need to be retrained, or at least given an adaptation period, a second license will need to be purchased, and everyone in the company will need to keep track of another login to another service.

And this is a relatively minor example. While Microsoft's collaborative editing is worse, it's quickly closing the gap, and I can easily see a future where they create a solution that is at least as good as what Google is offering. In addition, because it is a local service first, offline editing is far better than what Google can offer. But let's apply it to a situation where another solution isn't readily available, but will instead have to be created from scratch—websites.

Technical Debt, and how it should influence your business choices

If your business has sunk thousands of dollars into its current website, it can feel like you're throwing it all away when you decide to redesign or redevelop it, or even a small section of it. Unfortunately for everyone involved, the internet is a place of constant change, and what websites should do, have, or need is a constantly moving goal post. That's because it's just another form of advertising and marketing. Marketing is all about getting people's attention, and that functions off of the law of diminishing returns. The more times you, or other people, use a tactic or device, the less effective it will become. This turns all marketing into cycles of innovation, fads, and returns to methods that have fallen out of use again.

But websites don't feel like marketing. They're concrete, can be listed as an asset because they are often owned, rather than leased or rented like other forms of advertising. Their upkeep can be relatively low cost, at least for short periods of time. But, development can be tortuously slow depending on the complexity, and availability of information, resulting in significant cost. From a purely budgetary perspective, it makes absolute sense to choose a large, well supported, framework, and then pay to train a lower cost employee to periodically update the webpage over time. The technical debt of that initial investment means that this is surely the best use of your money, right?

Not always

If you're a purely informational site like Wikipedia, purely funded through donations and contributions, then absolutely. You don't need to advertise, you don't need to change up your design very often at all, as long as the information you're providing is up-to-date and accurate. But if you're a business, and you use your website as a confidence factor or even an avenue to line up new sales, that law of diminishing returns kicks in hard, and data entry level employees won't be able to keep up with current internet trends, unless significant time and money is invested into their training.

It's a terrible situation from a budget perspective, but that's why website pricing has changed over the last few years. Now, instead of a significant upfront cost, many web development companies sell managed websites. These are not unlike the Google or Microsoft licensed over-time services. It attempts to resolve budget problems on both ends of the relationship. The business receiving the website gets to spread out the impact of the initial investment. They do end up spending more money on the website overall, but they don't have to spend extra money to train an employee to maintain the website, and depending on the contract, may even find that periodic redevelopment is factored into the agreement. The web development company has the promise of continued revenue over time that can support the kind of training that allows its employees to stay on top of new visual and functionality trends.

Summing Things Up

At the end of the day, what is important is that you're aware of your technical debt. Decisions you have made in the past over the technology you use, and the software you buy, can strongly influence future business decisions, and for this reason, it's important to look into how these solutions will age over time. Is there a built-in method for maintaining its effectiveness? Is there a known potential for it to fail in the future? You have to answer those questions for yourselves, but I can say that Armor has been around for years, and continues to actively develop and evolve solutions. From supporting legacy software, to importing legacy data into modern systems, we're here to help.