- Nik Friedman TeBockhorst
- Mar 02, 2017
Technical debt…it's a necessary part of any development project. Depending on your point of view, technical debt is either a term of art, or a euphemism used by programmers, that indicates those pieces of a programming solution that could use some extra attention, but are good enough for now. But no matter your opinion, it's crucial you repay this debt, or it may come back to haunt you.
THE UNAVOIDABLE UP-FRONT COST
Technical debt is the unfinished basement in your new house, the pothole filled with gravel, and that one discount on your website that requires a customer service representative to edit the shipping cost on every order that uses it.
In an ideal world, all software would be perfect, websites would never crash, and every solution would scale to the nth degree and work flawlessly in any eventuality. However, in practice, you need to choose where to focus, and you must make compromises. When capitalizing on your best available opportunities, some great ideas inevitably end up on the back burner.
Programmers must make the same choices, “gold-plating” those areas that are critical or highly visible, while potentially writing some less-than-optimized code in areas where performance isn’t going to be an issue, or taking a shortcut that they know will need to be revisited as part of the Phase 2 effort. Nobody likes technical debt, but it’s unavoidable.
PAYING THE PIPER
Like all debt, you have to pay it back some day. If this is planned for, it’s no problem. When Phase 2 kicks off, that one chunk of code gets revisited and made better. But what happens when that initial code (that part you knew was inefficient back when you had a thousand orders a month) starts taking your site offline on Cyber Monday, when your site is receiving ten times as many orders? You’re in big trouble.
You simply can’t just let technical debt pile up, you have to make a plan to maintain and improve your code incrementally.
The easiest way to pay off your technical debt is to make it a standard part of your workflow. Allocate a chunk of time on a regular basis to go back and fix the things that are causing you (or your developers) headaches.
Whether it's every fourth sprint, or the whole month of December, create blocks of work dedicated to paying off debt. Not only will this make sure you spruce things up and squish a few bugs, it also creates a development culture that respects and acknowledges the necessity of cutting the occasional corner, and taking responsibility for fixing it later. Otherwise it’s too easy to hang a painting over that hole in the wall, or worse still limit your business because of a feature that doesn’t work quite right.
Is your website's technical debt keeping you up at night? BlueModus specializes in helping you refinance your technical debt, finding those areas that represent the best reward, and getting it done right…and right now. Call us today for a free evaluation!