The Entrepreneur Forum | Startups | Entrepreneurship | Starting a Business | Motivation | Success

Software Business and Technical Debt

Remove ads while supporting the Unscripted philosophy...become an INSIDER.


Read Millionaire Fastlane
Feb 16, 2019
Montreal, Canada
I've been a software developer for close to 20 years so I thought I'd share some thoughts that might be of interest to fellow Fastlaners looking to get into the software business.

Running a business based on software requires a correct perspective. Failing to do so can be deadly to such a business. One of the main factors that must be managed correctly is technical debt. I'll expand more on the concept of technical debt later.

What is a business that relies on software? It's a business whose core product either is the software itself or it relies heavily on its *own* software. Such a business develops this software in-house and does not rely on an external supplier. Examples of core software is either shrink wrapped (ex Microsoft Office), software as a service (SaaS) such as AWS (Amazon Web Services). An example of non-core software is a company web site that is just the company's web presence and nothing more.

There are two divergent views on developing and maintaining such software in such a company:

* Businessmen: Get the software out there as quickly as possible and start making money.
* Techies: Software must be architected, designed, developed, tested and deployed carefully.

The first school of thought involves the old adage that time is money. If a company doesn't release its product on time and start making money, then its business is threatened. Perfect is the enemy of the good. Lots of rock-solid businesses have been built on mediocre code that was good enough.

The second school of thought is that software is inherently complex. Such complexity can result in dire consequences for a given business if not managed correctly. One extreme example is a software bug that accidentally deletes customer data under a specific software use scenario. Furthermore, software evolves over time. Software that is not correctly designed can not only become progressively buggier over time, but become more difficult to add new features to. Additionally, certain software libraries and frameworks used by the software can become obsolete over time. They need to be updated and if those inevitable updates are put off, they can cost more the longer they're delayed.

This alludes to the concept of technical debt. Technical debt, like financial debt, is used to fund a business. Similar to financial debt, accumulating technical debt can fuel massive early expansion. Also similar to financial debt, a large amount of technical debt can result in interest payments to service it. These technical debt interest payments take the form of:

1) An increasing rate of newly discovered bugs in the software
2) An increasing rate of difficulty in developing new features on top of the shaky software foundation, and each new feature leading to more of 1)
3) As more software developers leave the company over time, new developers must climb the steep learning curve of understanding how software domain and codebase

Also similar to financial debt, repaying part of the debt leads to lower interest payments. These repayments take the form of overhauling or redesigning the software to remove part of the technical debt. This eliminates some long-standing bugs and makes subsequent development of new features easier.

So what's the right answer? Well, the astute business owner needs to balance the need for rapid expansion with software maintainability. A startup, especially one with at most three employees, doesn't have the luxury of designing software perfectly. You need to get your product out there and start making money. Shortcuts, even shortcuts requested by a single client, can mean the difference between the life or death of the business. Still, another consideration is what will happen years later when it comes time to sell the company to a larger competitor. Will the accumulated technical debt become a consideration when setting the sale price of the company? Might a large enough technical debt make the company unattractive altogether?

There is a strategy to deal with this. It's developing the 2.0 version of the software. At one point in its history, a software company could rewrite its software product completely in a way that removes the debt. All the best features, as well as the failures and mistakes, associated with the current product are catalogued into requirements for the rewritten product. The benefits are a more maintainable product that has a stronger foundation to add new features. The risks are that the original unwritten requirements were misunderstood and customers are no longer served correctly as they were before. Furthermore, the company could eventually lose the will to devote so many resources given the inevitable delays and missed deadlines.

Some 2.0 products have succeeded. Many more have failed. An example of a failure is Copland, Apple's 1990's failed attempt to replace MacOS Classic: the Mac's first ever operating system. Apple had to kill the project because of bad execution. On the other hand, Mac OS X eventually succeeded in replacing MacOS Classic, and is still the Mac operating system to this day.

So my advice to any of you starting a software business is to take the above factors into consideration and find the right balance based on your judgment and assessment of the specific situation.

Don't like ads? Remove them while supporting the forum. Subscribe.


Bronze Contributor
Read Millionaire Fastlane
Speedway Pass
May 18, 2014
NS, Canada
My two cents. Be as scrappy as you can starting out and get sales, this is your number one priority as an entrepreneur. You can use revenue to hire better devs and fix tech debt later. Yes it will be more expensive but that is irrelevant, no point making something exquisitely engineered that no one will pay for.

Tech debt is a more relevant concern when you are looking to scale (users or features) and you already have customers. Note that bugs are not tech debt, good software teams will help reduce bugs but not eliminate them, no non-trivial software will be bug free. Tech debt is more like... instead of building this piece of software in such a way I can easily reuse it (for that idea on the future roadmap) I'm just going to get it done for this specific use case which is a very pragmatic approach when building a business.

Does this short term thinking lead to costs down the line... yes absolutely. Billion dollar companies spend hundreds of thousands (and in some cases millions) of dollars (in the cost of engineering hours/salaries) because things were put together quickly to scale and gain market share and the kicker is... they can afford it and are still worth billions. Meanwhile many startups with a single tech founder can't get past shipping imperfect software and instead get's no where. Real artists ship.

Note once more to any aspiring tech entrepreneurs (and mostly to non-technical founders) - this does not mean cheap out on software dev and hire cheap devs to write shitty software. Hire the most expensive developer(s) you can afford (while retaining budget for marketing, design, etc). If your software is full of bugs or is non-performant you won't have to worry about scaling up to please more customers. Keep in mind 1 excellent developer is worth 3 good developers and an infinite times more than 3 bad ones.

TLDR - If your dev team says that doing something quicker will result in "tech debt" ask them specifically how this will affect the product roadmap for the next 6-12 months, likely it won't.

Sponsored Offers

MARKETPLACE Not sure how to start? This free book will teach you how to build a successful web design business
If there’s one thread I see repeated over and over again on the forum, it goes like this: “I...
  • Sticky
MARKETPLACE Fox Web School "Legend" Group Coaching Program 2021
Any scholarship programs for those who can't afford the course? Broke but need this course :)...
  • Sticky
FEATURED! Introducing... WEALTH EXPO$ED, A Short Story By MJ DeMarco
It's an affiliate link, so it's hard to give those up! The affiliate links are automatically...
  • Sticky
MARKETPLACE Lex DeVille's - Advanced Freelance Udemy Courses!
A week ago someone asked if one of my courses is still relevant (referring to the Upwork...
  • Sticky
MARKETPLACE You Are One Call Away From Living Your Dream Life - LightHouse’s Accountability Program ⚡
Thanks for clearing that up. What do you recommend for those who are still in the process of...
  • Sticky
MARKETPLACE Kill Bigger Incubator
I have not offered one of these in a while, but it looks like I have time to take on an...

What are Fastlaners Currently Reading?

Forum Sponsor

Grow an online business:
- Start immediately!
- Master business skills!
- 100+ Fastlane students enrolled!
Review & Details >

New Topics

Fastlane Insiders

View the forum AD FREE.
Private, unindexed content
Detailed process/execution threads
Monthly conference calls with doers
Ideas needing execution, more!

Join Fastlane Insiders.

Top Bottom