I’ve been pondering a new term I heard the other day. The term is “code debt.” I heard it while listening to Jason Fried in this podcast and I can’t stop thinking about it.
Code debt to me is very real. It’s the debt you have to keep paying back when you have software that needs to be maintained, upgraded, and generally supported over years. The more debt you have the more your life will be consumed by it. You could call it an obligation to support a product or solution.
It’s a fantastic concept and something I keep seeing. I’ve even experienced this myself. Where you take on a project and build a software solution and then you end up having to support and maintain it over the years.
Jason at 37signals uses this to explain why you should release a smaller, simpler product. Less code equals less future maintenance.
It really makes you think twice about getting into a new project. More and more these days I’m asking myself. What’s going to happen in 6 months when the client realizes that this is not enough. That they’re going to want to upgrade to the latest version, or have us write custom modules to do new things. Or when something breaks.
Curious if you’ve experienced this or thought about it?