Workarounds and Solutions

Apply the short-term fix and the long-term fix, in that order.

Most problems have two types of resolution: workarounds and solutions.

Suppose a customer is having trouble opening a file in your product because the file name has accented characters in it (“resumé.txt”) and the product’s code doesn’t handle this case. The short-term fix is to work around the problem - rename the file to remove accents (“resume.txt”) and open it that way. The long-term fix is to solve the problem - repair the bug so the product can open files with accented characters in the name.

The workaround has the advantage that it unblocks the customer immediately. Once they take the few extra steps it requires, they’re good to go. But the disadvantage is that the problem can easily recur. Their current problem is solved, but only the current problem - that customer can easily run into the same problem again and so can other customers who will all need to be taught the workaround and apply it every time the problem comes up.

The solution has the disadvantage that it’s slower and likely takes more resources to apply. A developer might have to debug the code and add a test and then push it through the release process. But the advantage is that once the fix is applied, the problem is solved forever for everyone. No one will run into it again, need to be educated about how to deal with it, and have to go through repeated extra steps. The upfront cost of applying the solution can easily pay for itself by preventing customer headaches and support work.

But there’s a way to get all of the advantages and resolve all the disadvantages: provide a workaround and a solution. Quickly resolve the customer’s immediate problem and then prevent that problem from recurring in the future.