Coding to bugs or why software never works like it should
One cool thing about being a software developer is that you get to see how broken even the simplest, pervasive piece of software is. Apparently, we have had this bug in our system for 5-6 years and now I found this bug that wont allow me to add my new changes. If we fix the bug, then everything could go haywire and 5-6 years of tested, broken software wont work at all. Or I would have to code to a bug which seems pretty stupid to me. Why should I break my software because of somebody else' screw up.
Is this a bug in some other component that some other company is responsible for? It's not uncommon to have to code in workarounds for this stuff, and then the other company finds they can never fix it because of all the workarounds. There are various articles about this phenomenon's influence on Internet Explorer.
I don't think these words mean what you think they mean.
"Broken" software doesn't work. So "breaking my software to work around some bug" is an oxymoron. If you BROKE your software, your software would no long WORK, so you couldn't deliver it. Nor would "BROKEN" software "WORK" around a bug -- if your code works despite the bug, it's not "BROKEN". Because it's "WORKING".
Now it's perfectly possible to have a 'bug' in your software for 5 to 6 years without it causing trouble.
Which path is cheaper now and in the forseeable life of the application?