The Difference Between a Workaround and a Fix

I just had an interesting [to me] interaction on Twitter that got me thinking:

Workaround... fix... tomato tomahto... same same.

Ignoring the original issue - that iTunes cover flow doesn't handle similarly named albums properly - the "workaround... fix... same same" thing got me.

To a person who doesn't develop software, I bet a workaround and a fix are the same thing. To people who develop software, they're very different, and the distinction is important.

What's the difference?

A workaround means a problem has been identified, there's no official solution for it, but if you do some sort of temporary change on your end you can get things to function within reason. It may not be 100% correct behavior, but it'll get you past the problem - in a way, you need to change your expectations to accept a workaround as a solution. In this case, the workaround would be for me to modify the metadata on all of my music to "fool" iTunes into behaving correctly. The important bit here is that the change is applied to how you use the product, not the product proper. The problem in the product still exists and the use of a workaround is expected to be temporary.

A fix means the problem has been officially solved so, once applied, the expected behavior will be the actual behavior. In this case, if the issue was fixed then I wouldn't have to change the metadata on any of my songs - the iTunes cover flow would work properly. The important bit here is that the change is applied to the product proper. The problem in the product no longer exists because it's actually been fixed.

This doesn't sound like it's a big deal, but from a language precision standpoint (particularly for a software developer), it's huge. If someone files a defect on one of my products and I provide a workaround, I'm still expected to fix it.

(Note that this is no reflection on Alex, who's a smart guy and friend of mine. It just got me thinking, is all.)

posted on Friday, January 29, 2010 2:45 PM | Filed Under [ GeekSpeak ]

Comments

Gravatar # re: The Difference Between a Workaround and a Fix
by Q at 1/29/2010 4:16 PM
There was a discussion elsewhere that may be related to this. As soon as the workaround gets accepted as an ad hoc solution, it sometimes prevents the product maker from developing the fix, because the fix would break the workaround or any layer of software on top of the workaround. It was something about Perl and Python's developers getting some pushback on their fixes on the product design shortcomings, because a lot of software has been written to depend on those shortcomings.
Gravatar # re: The Difference Between a Workaround and a Fix
by Sadge at 2/24/2010 6:36 AM
Taken from http://www.edbott.com/weblog/?p=2480:

(I found this quote of yours today while doing some research. I just thought it was funny given your arguments above.)


I got one of these boxes and it appears that the issue is resolved. I’ve only had it running for a day now, but all of my tests seem to confirm that the signal stays when it used to disappear. Weird… but hey, a $20 fix is AWESOME.


Isn't that a workaround? :D
Gravatar # re: The Difference Between a Workaround and a Fix
by Travis Illig at 2/24/2010 7:35 AM
You are correct. My categorization of paying $20 extra to get something to work that should have worked outright in the first place is, in fact, wrong.
Comments have been closed on this topic.