Wednesday, May 20, 2009

Shortcuts are Debt

A theme that you'll hear me spouting (and sometimes see me ignoring) is that shortcuts are dangerous. It is hard to convey that, so I keep trying to find new ways to express it.

My latest is that taking a shortcut - whether designing, implementing, maintaining, or troubleshooting an app - is the same as incurring debt.

It's certainly okay to have debt. Houses and cars would be much harder without debt. There's nothing wrong with having some on your credit card, either.

Just as long as it doesn't get out of hand.

Sure, rebooting the server may solve the problem for now, but that isn't a solution, that's a fix. If it is a quick way to get things going, okay. That doesn't mean you're done - you've acquired some debt. There's a chance it will "go away" (rebooting the server is like borrowing $20 from a friend - you may both forget), but you'll probably have to pay it back.

Just like monetary debt, it is better to control when it is paid, rather than wait for the bill collector. Reboot the server tonight, go through the logs tomorrow. That's fair, and you're doing what you should've done to begin with, in a timely manner.

I'm using the very trivial example of rebooting, but that goes for a lot in IT. A developer may take a syntatic shortcut to get the product out the door, but time should be allotted to repair that shortcut - don't wait for it to crop back up.

In summary, I'm not against taking shortcuts, but they should be tracked as bugs, just like anything else. The bug database acts as a "balance sheet", and it should reflect all debts.

No comments:

Post a Comment