Word for the Day

  By Shamus   Aug 18, 2006   2 comments

Pixy Teaches us a new word today. Or two words. A phrase, really. I guess. Anyway:

We were forced to do stuff like that because we were working with huge databases and impossible time constraints, and simply could not afford to take the databases offline to make the changes we really needed, so we had to stick data wherever it would fit.

(There’s a good name for this sort of activity: deficit programming. I hate deficit programming.)

That one is going right into my personal lexicon. It is directly related to what I have going on these days.

Deficit progrmming is particularly dangerous because it’s easy to get away with it in short term. The project manager can get the job done in less time, and move the coder onto other things. A one-week project gets done in three days. It feels like getting something for free. Once he sees this in action, he’s going to want to do it again. And again. Pretty soon he’ll just assume this is how things should normally be done.

Except all that slapdash code is a ticking timebomb. Since it wasn’t finished, polished, and tested, there are all sorts of problems that can spring up down the road. Those other two days of work needed to be done. If he throws the thing into use and forgets about it, it will chug along until something goes wrong. Then, because of an undiscovered bug or missing safety check, the thing will go down. Then some of the other crap software, similarly constructed, may fail as well. Pretty soon you’re dealing with catastrophic failures arising from what should have been a minor hiccup. Those two days of cut corners will take five days to fix, which will eat into the schedule of some other project, thus creating the need for more deficit programming.

The injustice about this sort of thing is that it is often the coder who gets blamed*. Nobody will remember that he delivered a week-long project in two or three days, but they will remember that he’s the one who wrote it, and the project leader will feel no shame at all in demanding that the coder come in on the weekend and clean up the damage that resulted from the project he was never allowed to finish.

* I’m lucky: My current bosses are actually pretty reasonable about this sort of thing.

I was whining about my current project yesterday. It has suffered from quite a bit of deficit programming, and I’m only now starting to recover. In fact, this morning I have a choice: Do I begin work on the next phase of the project (which is already past due) or put airbags and antilock brakes on the stuff I’ve already written? I’m not complaining: at least I’m to the point where I have a choice!

What to do, what to do…

2There are nearly three comments!


  1. Heather says:

    I was just posting things to ebay for work and realized they are updating on the fly instead of taking the whole site down for a few hours. Every time I went to upload something the site was changed. It even lost all the work I did last week so I had to redo them. Crazy. I figure they are trying to upset as few people as possible.

  2. Shamus says:

    Judging from your comment it looks like it isn’t working…

Leave a Reply

Comments are moderated and may not be posted immediately. Required fields are marked *

*
*

Thanks for joining the discussion. Be nice, don't post angry, and enjoy yourself. This is supposed to be fun.

You can enclose spoilers in <strike> tags like so:
<strike>Darth Vader is Luke's father!</strike>

You can make things italics like this:
Can you imagine having Darth Vader as your <i>father</i>?

You can make things bold like this:
I'm <b>very</b> glad Darth Vader isn't my father.

You can make links like this:
I'm reading about <a href="http://en.wikipedia.org/wiki/Darth_Vader">Darth Vader</a> on Wikipedia!