Businesses need to understand one thing very clearly “Incurring technical debt is not an option”
I am speaking from experience of dealing with at least 3 drowning companies in the past few months. The technical debt exponents with time and these businesses have paid very dearly. There is no measure on revenue lost, dollars wasted, time lost, opportunities lost and thus these things happen way too often and are accepted as a part of our industry.
But there are options to not get your company into such situations. This post talks about some of the common scenarios companies start incurring technical debt.
Here are some common ways companies start incurring technical debt:
1. Going through extreme pain to blend technologies into a product to facilitate personnel issues
Bear with me here, the last time I checked, humans are way more intelligent then we credit them for.
If you have a better solution to solve a problem, USE IT. Personnel issues are temporary and people learn new systems over a period of time. Your primary aim should be a system that scales with you over a period of time, is easy to manage and solves the problem at hand.
I strongly believe programmers are masochists. They enjoy the pain they go through to make things work. They feel the pride that they solved an extremely difficult problem only to realize eventually that every change and every new addition to the product causes them more and more grief.
Technical debt exponents over time and there will be a point where no one will be able to handle the system and you will pay a huge price to re-write the system. Something you should have just known and avoided from the very beginning.
Businessmen think exactly opposite, they believe in simplicity in things because that is exactly what allows them to take giant leaps and move faster.
When you have better options, go for them. Don’t fear what people are going to say if the option you pick causes them a few weeks of grief to get familiarized with. The excuse that our staff isn’t going to like it is pointless. What if your favorite staff user quits tomorrow? Now you are suddenly left with that horrendous technological solution that you don’t like.
2. Choosing technology that doesn’t fit the problem you are trying to solve
This is another classic. I know of people whose sole interest is to use technologies that look good on their resume. The fact that it doesn’t solve the problem at hand is of little or no relevance to them. Many companies go down this road only to be met at a dead end.
Another scenario is where someone uses a technology that worked for them on another project which was somewhat similar and so they want to move forward with the same. I have personally seen a company drown at least a million dollars because a certain key decision maker used a technology that *worked* in a different environment. We had to rewrite the entire system from scratch and the person had to be moved into a separate department in a re-org initiative. Firing him apparently wasn’t an option.
3. Postpone moving onto something better (because you think “it can wait”)
If you are working in a company that is doing this right now. I feel your pain. Take this example, one of the companies that I am dealing with, has a solution that was developed by a company in 1995. In 2000, the company sent a request to all customers to move on to a better system. The company decided that it didn’t want to because the solution worked for them. It is 2010, the original company that built the software is now bankrupt and out of business, and the company that didn’t upgrade now has exactly 1 box that this software works on. I see people taking turns to log in to that system to use it.
Now they want us to help them out to move to a web based system, and migrate all of their existing data. Guys, what happened from 2000 to 2010 is 10 years of data! Each year that you didn’t migrate, you added a huge debt to your technical debt, until it got to a point where it exploded.
A huge complaint of this business is, “We want this thing working…like yesterday…” If getting a system working is so important, why did you wait for 10yrs? I usually excuse myself of such situations. These are not the battles I choose to fight.
These are 3 extremely painful scenarios I have experienced in the past few weeks. I know there are other stories out there. If you feel there are other examples, please feel free to post and I will compile them.
IT is a very nascent industry. Accountability in IT is minimal compared to other industries, say Hollywood. I think this has to change quickly.




Your Name