Written by Lancom Communications, July 2021
How AWS can help with technical debt
We get it. Pressures for new functionality, updates and revenue make it a necessity to develop software at pace. If you’re growing rapidly and shipping your products early and often, consider the long-term effects that bootstrapping and quick wins AKA (also known as) technical debt can have on your business, product and team over time.
We're not saying technical debt is a bad thing, in fact, like financial debt it's often a necessity for business growth. However, technical debt, like financial debt has a way of catching up with you if you don't manage it well. While the interest rates might be a little different, ensuring your business handles its technical debt wisely is paramount to ensuring you don't slow your shipping speeds, cause morale issues with the team, or completely tank your product. The three main types of technical debt are: Deliberate, accidental/outdated design and bit rot which we’ll quickly cover now.
Types of technical debt
Deliberate technical debt
Developers and engineers know there’s often a right way to do something and a fast way to do something. Sometimes it makes sense to deliberately incur tech debt to reduce time to market i.e. imagine if we could get that feature out next week and not next quarter.
You can’t future proof everything and as systems evolve and requirements change, you might come to appreciate your design has flaws, or that it’s harder and takes longer to implement new features.
Over time this happens gradually when a system or component slowly devolves and becomes unnecessarily complex through lots of small, incremental changes, often when worked on by multiple people who don’t fully understand the original design.
Managing technical debt
Managing your ISVs technical debt—like all tech related things—has gotten easier over time. This, in large part is thanks to the public cloud. Technical debt was once like quicksand, once you were in, it was hard to get out, but ISVs have been thrown a lifeline—a cloud shaped rope if you will.
Cloud platforms like AWS help tie together your development team's loose ends in the form of clusters, automation, and other super useful features. AWS is a brilliant resource for ISVs because it will help you to bridge the gap between what was done, how it was done, and why it was done, to make it easier to repeat, develop and deliver applications faster—without niggly technical debt holding back your applications true potential over time.
So, how does it all work? Well, some say it’s magic, but we think it's bigger than that. In fact, we cover the ins and outs in more detail in our AWS SaaS Discovery workshops which you can register for now. But, if you're after more info on how to reduce and manage your technical debt as an ISV or SaaS provider, read on!
5 ways to reduce ISV tech debt
Okay, so you've established you're running up a bit of technical debt, but what's the solution? Here are four simple ways to help you out—plus a bonus fifth one that’s a complete upsell.
1. Acknowledge and document your debt
Managing your technical debt stems from one critical first step - acknowledgement. Once you acknowledge that you have technical debt and that you’ll be incurring more of it over time, it’s important to keep a record of it, the same way you keep a record of your financial debt. An easy way to document it is to capture it in your backlog.
2. Align your backlog and track technical debt
Just like financial debt, technical debt isn’t going anywhere and it’s likely going to get worse if you don't pay it off. Plan how you’re going to pay down your debt as part of your sprints and make sure developers are agreeing with expectations to avoid creating unnecessary debt. Remember, if you’re deliberately incurring technical debt, if it’s not tracked, over time it will turn into accidental design debt and lead to bigger challenges.
3. Implement software development best-practises
Following a best practise agile methodology will bake in quality through short iterations, frequent course corrections, backlog management and regular reviews. Implementing feature flags can be a way to control the release of code and to balance the desire to ship for user testing while ensuring quality.
4. Reduce the surface area where debt can occur
If there’s fewer areas where you can incur debt, it’s going to be easier to track, manage and mitigate. Reduce your dependencies by following a service-oriented architecture and look to implement things like AWS, containers, horizontal scaling and lambda.
5. Phone Lancom
If you want professional expertise or an objective opinion, give us a call. We’re AWS Advanced Consulting Partners and the only New Zealand based company to have achieved the AWS SaaS Competency. We’re experts at SaaS having made our own software for 30+ years, and in the last 12 months alone we’ve helped over 50 SaaS providers across Australia and New Zealand reduce their technical debt. We really know our stuff.
As the demand for SaaS continues to grow, ISVs need to adopt a long-term mindset to their application development. One that strikes the right balance between speed and quality. Cloud platforms like AWS are a proven solution for this and have been designed to help ISVs focus on what counts.
Ready to automate your business?
Whether you know exactly what you want, or have a problem you can’t quite solve, we’d love to talk about turning your good idea into great results.