"If it ain't broke, don't fix it" ???

It’s a pretty nifty saying, isn’t it? Unfortunately it only works for when


  1. You don’t understand how it works, and/or
  2. You’ve got too many other things to worry about.



The problem, of course, is that if you don’t understand how it works, how do you know it’s not broken? Murphy’s law being what it is, you know that the break will reveal itself at the single most inopportune time, right?

Ok, that’s not actually fair to Murphy. Broken parts tend to fail under stress, and fail disastrously at that. And stressful situations are typically the situations in which you need the largest amount of cognitive bandwidth to deal with the ongoing chaos, and the last thing you need is something (critical!) rupturing on you. So yeah, of course, the break will reveal itself at the worst possible time.


And that is kinda the point here - if you don’t understand the mechanism, saying “if it ain’t broke, don’t fix it” ‘cos it seems to work is, quite possibly, the worst possible thing that you can do.


Mind you, there is a bit of a meta point here too in that there is one consistency to technology - if it isn’t already broken, it’s just a matter of time before it breaks. The fact that it isn’t broken now doesn’t really have much bearing on whether it will continue to not be broken into the future. And we’re right back to the previous point - when it breaks, it will quite probably break under stress, and (back to Murphy!) the break will happen when you least can afford to have it happen.


The bottom line to all of this - every time you hear yourself say “if it ain’t broke, don’t fix it”, take a long hard look at why you said that. And if there is even the slightest hint of escapism, denial, or ignorance around the statement, be afraid, be very very afraid.


Oh, by the way, I wasn’t ignoring the “you’ve got too many other things to worry about” category. It’s just that 99 times out of 100, this happens because you’re choosing the “least worst” of your options, i.e., you’ve got 5 gallons of problems, and only a 3 gallon bucket to deal with them. In that case, you need to get very good at prioritization, and as soon as you have the opportunity, address the remaining 2 gallons

Comments

Popular posts from this blog

Erlang, Binaries, and Garbage Collection (Sigh)

Visualizing Prime Numbers

Its time to call Bullshit on "Technical Debt"