The sooner you face this pain, the better off you will be. Your mess of
a "solution" is going to cause you more trouble overall than biting the
bullet and actually fixing the problem would have.
This didn't start out like this. It started out as a quick and dirty
little solution to a little problem. It was a database problem and the
purpose was to clean up some data, and it was MY automation. When some
other people saw what a good thing it was, they went to my supervisor,
and my supervisor came to me, and over a period of time it just grew,
without any thought given to design and with no planning whatsoever.
There's a concept called "design debt." It's what you accrue when you
do something in a quick and dirty way instead of a clean, sensible way.
You pay interest on it when you add new features, because you have to do
more work to get the new features to work on top of a kludgy base. If
you keep on doing kludgy workarounds instead of fixing the problem,
eventually you'll be so swamped that you spend all your time keeping up
with the bad design decisions you made.
It's kind of hard to do when you explain this to my boss (which I did)
and ask for some time to redesign the whole thing from top to bottom
and do it right (which I did) and be told that it wasn't important
enough to do but to leave it alone. Unfortunately, the people I have
to work with aren't developers or designers and think that writing a
'little app' is more or less the same as writing up a PowerPoint for a
presentation. I was told this just a few days ago by someone WHO
KNOWS!
Just as when you max out your credit cards and get three payday loans
to pay your living expenses, all of your income starts going to pay
interest. The smart thing to do is to stop taking out new loans -- to
stop adding new workarounds for your earlier bad design decisions -- and
to accept the pain of not having any money while you pay off your debts.
I agree with 100%. Most of what I do is write scripts less than 50
lines, or between 50 and 100 lines, for my own purpose, and I write
these on the fly. Yeah, they are pretty crappy, but I can bang them
out in less than half an hour and it saves me hours of work. (I deal
with big data files, tens of thousands of records, and the norm before
I can to work here was to use Excel to manually manipulate the data.
Sometimes this can take a couple of days and the error rate is pretty
high.) There just isn't any percentage in spending several hours
designing something I can be through with in an hour from start to
finish.
You've had this explained to you at least twice so far in this group,
and it does not seem to have sunk in yet. Perhaps the next time you
have a crisis programming experience, you'll reflect on this and the
light bulb will go on. They say the third time is the charm, after all..
Come talk to my boss, and his boss. I do my work on schedule and under
budget. My crisis experiences come from others when they come to me to
bail them out on a project that's already late and over budget, or to
fill in for someone who left yesterday for a two week vacation.
If I were a prophet and could foretell the monster around the corner,
I'd be all set. Do you have any advice on how to do this?
CC