|
There is a disease I see so often in the software industry that I've decided
to give it a name. I call it "Kirk/Scotty Syndrome". You'll know the disease
when you hear it, because it will sound a lot like the following conversation.
| Kirk: |
Scotty, we're about to get killed again. I need that fix *now*. |
| Scotty: |
It's gonna take a few days captain. |
| Kirk: |
Scotty, if you don't fix it now there's not going to be a next
episode. |
| Scotty: |
Aye captain, I'll overload the meaning of some fields in the
database, hard-code some other things, get some new code on the
server without going through the usual deployment methods, all the usual
things. |
| Kirk: |
Gosh Scotty, you're the best. Kirk out. |
Now, in place of "Kirk" put "Project Sponsor", "Stakeholder", "Project
Manager", etc., and you'll have the exact disease I'm talking about.
If you happen to hear something like this by the water cooler, or maybe in a meeting, you'll have spotted the disease. How you treat the disease is up to you.
Now, don't get me wrong -- in a pinch you sometimes need to do some really
evil things to get a patch out the door. But, pile all these little kludges on,
and sooner or later "She's going to blow captain", i.e., new development will
grind to a halt. And then everyone will say "What's wrong?" And Scotty will have
to say "Too much magic causes software rot." (Sorry, I can't remember who
actually said that, so I can't give you credit. I also doubt that Scotty would
be quite that polite.) Or worse, when the new development team comes in they'll
say things like "Wow, that's a bunch of spaghetti code", or "We can't maintain
*that* system, we'll have to do a rewrite."
There are two things that the people that are involved with these problems
need to know. First, Star Trek wasn't real -- it was a television show. Second,
if you still think it was real, then I'll argue that they left out all the
episodes where the Enterprise limped into the repair station to get all the duct
tape and super glue removed. Those shows weren't exciting enough to air, but
they would have been needed to keep the show going.
In an emergency do what you have to do to survive, but when the emergency is
over, do the right thing.
|