Tuesday, March 3, 2015

Technical Bankruptcy

Technical debt or bug debt is an insidious side effect of writing low quality code.

The technical debt that one engineer can accumulate in a career of programing can easily require 2 or more careers of other engineers to pay down.

A pay as you go policy says that you fix all bugs as they are discovered before writing new code. While this lowers your productivity initially. It helps you to develop better habits that introduce bugs at a lower rate. Plus it makes your software more appealing to customers.

All things being equal customers will pick the higher quality software over lower quality software. Which means higher sales. More sales may allow you to under cut your competition by dropping your price leading to more sales. Or you could say that our software is better so we charge more. This can also potentially have a positive impact on sales because people often do believe that higher prices correlate to better quality.

When you have more money coming in you can hire more and better engineers to write more high quality software.

If you go the other way and cut quality in an effort to reduce the time to market, which only really works when you are near the end of a development cycle. You negatively impact your income, assuming you have the competition of better software. In any case if you are the only producer of some software and it is profitable you will eventually find that someone will start competing based on quality.

At some point bad software can get so bad that one should consider declaring personal technical bankruptcy and move on. This may be a job change or if you are lucky only the cancellation of your project.








No comments: