Don't Let Technical Debt Be Your Company's Subprime Loan: Mapping Your Way to Better Software

I was in the pub recently for the local quiz and afterwards, I got talking to someone I hadn’t seen for a while. After a few minutes, we started discussing a certain app he loves on his new phone, but he wished the creators would fix a problem with the way it displayed information, so it looks like it does when he logs in on a web browser.

“It’s all got to do with technical debt,” I blurted out.

“What?” he replied.

“When they programmed the app, the programmers took an easier method rather than figure out how to display the details the same way as your browser to be able to ship it quicker to you, the consumer, and have yet to repay the debt. It’s like a credit card.”

It’s fine to have some technical debt, like having an outstanding balance on a credit card, and sometimes you can pay off the interest, i.e., apply a patch; but there comes a point when you need to pay off the balance. This is when you need to revisit the code and implement a section properly; and hence pay off the debt.

There are several reasons you accrue technical debt, one of which is lack of experience and inferior skills by the coding team. If the team doesn’t have the right understanding or skills to solve the problem, it’ll only get worse.

How can you help solve this? I’m a strong proponent of the education you can glean from attending a conference, whether it be Kubecon, Next, DEFCON, or AWS re:Invent, which I just attended. These are great places to sit down and discuss things with your peers, make new friends, discover fresh GitHub repositories, learn from experts, and hear about new developments in the field, possibly ahead of their release, which may either give you a new idea or help solve an existing problem. Another key use case for attending is the ability to provide feedback. Feedback loops are a huge source of information for developers. Getting actual customer feedback, good or bad, helps shape the short-term to long-term goals of a project and can help you understand if you’re on the right path for your target audience.

So, how do you get around these accrued debts? First, you need to have a project owner whose goal is to make sure the overall design and architecture is adhered to. It should also be their job to make sure coding standards are adhered to and documentation is created to accompany the project. Then with the help of regression testing and refactoring over time, you’ll find problems and defects in your code and be able to fix them. Any rework from refactoring needs to be planned and assigned correctly.

There are other ways to deal with debt, like bug fix days and code reviews, and preventative methods like regular clear communication between business and developer teams, to ensure the vision is implemented correctly and it delivers on time to customers.

Another key part of dealing with technical debt is taking responsibility and everyone involved with the project being aware of where they may have to address issues. By being open rather than hiding the problem, it can be planned for and dealt with. Remember, accruing some technical debt is always going to happen—just like credit card spending.

Anonymous

Top Comments

  • Thanks for the article.  What seems to happen just as often....is where they'll fix the original mistake, but only to take away key features or create more faults. Nodejs Services

  • Upload and install your .IPA file for iOS and Android without escapement and share the iOS and Android app installation easily at InstallOnAir.

    InstallOnAir is the most reliable Best IPA Installer for Ios and Android.

  • It was an enjoyable read. Software and code aren't the only sources of technical debt. Hardware and infrastructure can also be described using this term. Paying off and fixing technical debt is, fortunately, usually easier. I also contributed to the https://easyqualifymoney.com/ post on this subject. Knowing your debt-to-income ratio can help you avoid financial trouble in the future. Viewing your debt-to-income ratio as your creditworthiness is the best approach to comprehend it. One of the most important elements in deciding loan acceptance is this number.

  • lIt was a good read. Technical debt isn't limited to software and code. It can also be used to describe hardware and infrastructure. Fortunately, paying off and correcting technical debt is typically easier. I was also very helpful with the Fit My Money article on this topic. Knowing your debt to income ratio can save you in the future. The best way to understand your debt-to-income ratio is to view it as your creditworthiness. This number is one of the key factors in determining loan approval.

Thwack - Symbolize TM, R, and C