Thursday, March 7, 2013

Code Tax

I first heard the term "Code Tax" a few years ago from a colleague. He attended a talk by Google on their software development practices and described it like this:
Taxes come when they decide the code isn't where they want it to be for some reason and they make a requirement that every checkin is "taxed".  The checkin must do some sort of improvement to the code, whether it's where the code change was or somewhere else.
The idea of "always leave the code better than it was before" isn't new. I love the idea but I really hate the term "Code Tax" for it.

If your code is in a bad state the "taxes" you pay for it are in areas things like:
- bugs / worse user experience
- technical support
- delays in releases (long time to implement new features in poor code, more debugging time, etc..)
- developer job satisfaction

Taking code shortcuts is a withdrawal from your account. Taking time to improve your code is an investment (not a tax).

1 comment:

aglee said...

I agree, it's a bad metaphor. I much prefer "technical debt", especially since it compounds the longer it is left unpaid, but maybe that term wasn't in common usage at the time the Google talk was given.