March 23rd, 2006

Before you develop a solution, make sure you really understand the problem

A common obstacle when trying to help people solve their problems is that what people ask for and what they actually want are not always the same thing. For technical problems, you often get a question that makes you shake your head in disbelief, but upon closer questioning, you find that the person really doesn’t want what they’re asking for. What they really want is something else, but they’ve already “solved” half of the problem and only need your help with the other half—the half that doesn’t make any sense. For example, the literal answer to “How do I write a regular expression that matches everything except XYZ” is often a horrible mess, but if you dig deeper, you’ll find that they really don’t need a regular expression that matches everything except XYZ; they just simplified their problem to “I know, I’ll use regular expressions” and ended up creating a bigger problem. (The best solution is often a mix of regular expressions and simple program logic.)

This problem also exists in user interface design. Rick Schaut describes one case where a user asked for a feature, when what they really wanted was an entirely different feature. Understanding the customer’s problem is the first step towards solving it.

Topics
Other

Author

Raymond has been involved in the evolution of Windows for more than 30 years. In 2003, he began a Web site known as The Old New Thing which has grown in popularity far beyond his wildest imagination, a development which still gives him the heebie-jeebies. The Web site spawned a book, coincidentally also titled The Old New Thing (Addison Wesley 2007). He occasionally appears on the Windows Dev Docs Twitter account to tell stories which convey no useful information.

0 comments

Discussion are closed.