Unstable Terrain

Software development in the real world

Clear Costs and Technical Debt

leave a comment »

Israel Gat wrote about putting technical debt on the balance sheet. It sounds appealing, but when you try to bring the concept of technical debt into the financial world, you start butting up against the finance domain, which is where your trouble starts. Strangely enough, you must play by their rules.

Accounting Principles 101

From a finance point of view, software development must be categorised as capital expenditure (capex) or operational expenditure (opex). In general, new software applications or new features on existing apps is classed as capex, and the maintenance of existing apps is counted as opex.

The treatment of opex and capex on a balance sheet differs.

Opex activities are simply costs that show up in the month they are incurred. This is a good thing from a finaincial guidance point of view.

Capex activities result in a new asset on the balance sheet (or increase in value of an existing asset), and thus can only be amortised over the course of many years. This means that a $100,000 capex cannot be written off in the year it was accrued, which impacts the balance sheet. Yes, it does leave the company with a capital asset, but unless the company is looking to be acquired, that’s not an actual benefit.

Technical Debt as capital liability?

Consider this situation:

  1. A customer comes seeking a solution
  2. We quote them $200,000 to deliver a complete solution
  3. The customer, after advice from their finance department, negotiates for a solution that costs $120,000 but would incur approximately $80,000 in technical debt (rework to meet more nuanced requirements, removal of important items from scope, unperformant code, unmaintainable sections of the app; you name it)

What should happen from a financial point of view?

From a pure technical point of view, the customer would pay us $120,000 and receive a $200,000 piece of software with a technical debt of $80,000 associated with it. The customer knows the true state of what it paid for and can see that many thousands of dollars must be spent for the app to perform as intended. Everyone is happy. Rainbows and unicorns ensue.

From a financial point of view, the technical point of view is pure fantasy. Accounting standards don’t allow provisions or liabilities to be shown for “not performing enough maintenance” or similar intangibles. There needs to be a present obligation before a liability is incurred and a present obligation is only usually formed through a contract.

The accountants will note a $120,000 asset on the books, congratulate themselves for saving $80,000 of capex and chalk up the increased opex of maintenance as the cost of doing business.


Written by Trent

October 12, 2009 at 9:00 am

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

%d bloggers like this: