So yesterday I wrote a lackluster piece about one-off requests. In retrospect, I didn’t say anything interesting, and I think I produced that entry more out of the sense that I need to post something, than having a good way of saying what I’m getting at. I need to revert to my former strategy with lackluster entries — don’t bother setting them live.
As mentioned, the point of today’s entry is to discuss a somewhat similar problem: The short-term solution. At the end of the day, there is no such thing. The reason for this will become clear with a little more elucidation.
First, we’ll assume there is such a thing as a short-term solution. Awesome. A short-term solution is put in place in order to fulfill a requirement, until a long-term solution can be implemented. It’s a quick “hack” or “band-aid” … the donut in your trunk to get you home.
The problem is, pretty soon the situation develops where one needs to adapt the short-term solution to do just a little more. Maybe it’s a quick fix to allow for one additional currency in a calculation … now they need just one more. Pretty soon, gobs of currencies have been implemented, and this little one-piece hack is impossible to maintain or support.
Of course, this is because everybody is too impatient to wait for the long-term solution. The long-term solution has a flexible way of dealing with all of the problems that the band-aid has been put in to fix. Of course, in the process of innovating the short-term solution along the way, the scope for the long-term solution inevitable falls further out of scope, until its eventual death as an over-budget incomplete project that can do what was needed two years ago … not today.
So the best of both worlds is the medium-term solution — the sort of thing that gets implemented when there isn’t enough budget for it, but somebody goes off and does it right anyway. It is a well-architected solution that isn’t built to be the be-all and end-all … but it will serve as one for all practical purposes. For the most part, the medium-term solution doesn’t seem to exist. I think this is because it relies on a certain amount of altruism on the part of the development and planning teams. However, in the world of finance, altruism is not really the name of the game, due to bonus culture. All around me, I see people who spend years laboring on and supporting short-term fixes, and I see people working forever on huge projects that are going nowhere.
I’m not sure what the solution is.