Solving the Wrong Problems

It is often beneficial to go back to fundamentals.

Many years ago I passed an HND in Mathematics, Statistics and Computing. One of the few things that I remember from the Computing modules that is still directly relevant to my day-to-day work is the idea of the “Presenting Problem.”

The Presenting Problem is the problem that the user thinks that they have. More often then not, it is not really the Real Problem that they actually have.

Most IT people with any experience understand the difference between the Presenting Problem and the Real Problem. We may not all use the same terminology (I have heard some rather colourful terminology for users from some IT Support people) but we all understand the concept.

In order to provide a goodsolution to the user’s problem, it is important to treat their Presenting Problem as a symptom rather than as the disease. It is all too easy to fall into the trap of trying to cure the symptom without curing this disease. Sometimes this is impossible. Worse, it can be achieved, but the user will be back with more problems later.

Example 1

Analyst (as user): Can I disable the close button on the user’s browser from code on the page?

Developer: No.

Example 2

User: Do you have Visual Basic on your PC?

Developer: Yes.

User: Could you open this spreadsheet on your PC and print it for me?

Developer: [Opens and prints spreadsheet].

[Two day’s later, the user reappears with the same problem].

Usually (but not always) the Presenting Problem has some relationship to their Real Problem. Typically, the Presenting Problem manifests itself at a lower level of detail than the Real Problem. The best way to move from the Presenting Problem to the Real Problem is to find out more about the user’s goals and their current strategy for achieving them.

Example 1 Redux

Analyst (as user): Can I disable the close button on the user’s browser from code on the page?

Developer: No. What are you trying to achieve?

Analyst: I need to force the user to click our “save” button on the form so that their data will be saved before the page is closed.

Developer: We can’t disable the close button, but we can trap the close event and perform a “save” be performed before the page is closed.

Analyst: Goes away happy.

Example 2 Redux

User: Do you have Visual Basic on your PC? I don’t have it.

Developer: Yes. But why do you ask?

User: My PC gives an error when I try to open a spreadsheet.

Developer: [Looks at error screen: It is an Excel macro error entitled “Visual Basic”]. Your install of Excel is broken. I’ll get it reinstalled. [Prints Spreadsheet].

User: [Prints future spreadsheets herself].

Life’s Presenting Problems

Given the frequency with which IT users fail to understand the true nature of their IT problems, it seems reasonable to suppose that Life’s users frequently fail to understand the nature of their Life problems.

Considering my own life, it seems reasonable to me that I often fail to understand the true nature of the challenges that I face. I am sure that I frequently ask the wrong questions. Life is, after all, somewhat more complicated than IT.

At least with IT problems, many users have access to some kind of Tech Support Officer. If only there were a similar (but better) resource to help us with Life. We need some kind of expert who understands the Real Problems what we face. We need some kind of Life Support Officer.

For me, the best Life Support Officer I have found to date is the Jesus I read about in the Bible. Admittedly, I don’t always get the answers I want: but at least I come away with better questions.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: