06 June 2012

Ducks and House assistants

It's not usual for me to talk about work in this blog, but that's what I'm going to do today. Although this kind of situation is equally likely to happen outside of work. It's something we can experience often in our daily routine. And, although I learned it from programming blogs, it can also be found in any kind of profession.

Assume you have a brilliant mind. Nah, just kidding, you don't have to assume. You already have a brilliant mind. But we all know how our brilliant minds get distracted sometimes, or too much concentrated, and more often than not we suddenly find that we don't seem to be able to solve the easiest problem. Remember how mad it drives you?

The easy fix for this is finding out a mind that is more brilliant than yours and ask for their help. Problem solved. Except that, sometimes it's not that easy to find that person. The person may not exist (if you're the most brilliant mind in your field of expertise); they may exist but be unreachable; they may be reachable but also a total asshole who doesn't like to help others; they may not be an asshole but be tired of total assholes like you who waste their time with kindergarten questions. Whatever the case is, you cannot immediately ask for help. But you're not completely screwed yet. There are two other things you can try that I will show next.

1. Ask the duck

"Asking the duck" is the term I chose to describe this solution. Others may call it Rubber Duck Debugging or Rubber Duck Problem Solving. The method has been around at least since 2002, but it was a recent story that made me understand it and praise it as a great problem solver. In this story, a young designer's boss who is tired of being always asked the same simple questions finds an original way to get rid of them:
Bob pointed into a corner of the office. "Over there," he said, "is a stuffed duck. I want you to ask that duck your question."

I looked at the duck. It was, in fact, stuffed, and very dead. Even if it had not been dead, it probably would not have been a good source of design information. I looked at Bob. Bob was dead serious. He was also my superior, and I wanted to keep my job.

I awkwardly went to stand next to the duck and bent my head, as if in prayer, to commune with this duck. "What," Bob demanded, "are you doing?"

"I'm asking my question of the duck," I said.

One of Bob's superintendants was in his office. He was grinning like a bastard around his toothpick. "Andy," Bob said, "I don't want you to pray to the duck. I want you to ASK THE DUCK YOUR QUESTION."

I licked my lips. "Out loud?" I said.

"Out loud," Bob said firmly.

I cleared my throat. "Duck," I began.

"Its name is Bob Junior," Bob's superintendant supplied. I shot him a dirty look.

"Duck," I continued, "I want to know, when you use a strap hanger, what keeps the sprinkler pipe from jumping out of the strap when the head discharges, causing the pipe to..."

In the middle of asking the duck my question, the answer hit me. The strap hanger is suspended from the structure above by a length of all-thread rod. If the pipe-fitter cuts the all-thread rod such that it butts up against the top of the pipe, it essentially will hold the pipe in the hanger and keep it from bucking. 

I turned to look at Bob. Bob was nodding. "You know, don't you," he said.

"You run the all-thread rod to the top of the pipe," I said.

"That's right," said Bob. "Next time you have a question, I want you to come in here and ask the duck, not me. Ask it out loud. If you still don't know the answer, then you can ask me."
Be sure to check the original post for the whole story.

The whole idea here was that putting your problem in form of a question helps you solve it. Until you pose your problem to someone, the problem makes sense in your head. However, when you try to structure it in form of a question you might find it more difficult to do so than you thought. You try to work around it to make the question more clear, and suddenly, you realize that you are looking at the problem the wrong way. The solution comes easily afterwards.

I have dealt with the "ask the duck" solution countless times. Not that I have a rubber duck per se, but you can do this with virtually anything. The original poster of the story later used a photograph of Newt Gingrich. And you can use your own favorite mascot, or none at all. I, personally, prefer using emails to ask my questions instead of chat (and sometimes even instead of talking face to face). 40% of the times I end up discarding the email because I found the solution in the middle of writing it. And for people that ask me questions on chat, sometimes I tell them to wait 5 minutes before I answer. After 2 minutes I get another message saying "Never mind, I solved the problem myself." (and at that point, I reply "See? I made you ask the duck!")

2. Ask a House assistant

Ducks can alone solve some of your problems. But sometimes asking the duck is not enough. They seem so... quiet. Sometimes you need some kind of feedback, and if you need feedback, you need a House assistant.

I coined the term "House assistant" after the Dr. House / House, M.D. series. If you have seen the show more than a couple of times, you probably know by now that it's always House himself who finds out what disease the sick guy has at the end of the episode. So what does he need three assistants for?

Well House, the character, said it a number of times, he needs his assistants. He needs the brainstorming sessions that they make to try to solve the patient's problem. He needs to have someone talk back to him, because it's in the middle of the conversation that the solution appears suddenly.

One of my favorite House episodes happens when he is stuck on a plane with a guy having a potential contagious disease. Since he doesn't have access to his assistants, he select three random passengers to talk back to him. Even if they don't know anything about medicine, they help him figure out what the guy has.

So if you need help with your problem, just ask a House assistant. Your House assistant can be anyone else: they don't need to know anything about what your working on; it's probably even better that they don't know. Explain your problem to them in a way that they would understand (a form of asking the duck), and then just let them talk back to you and suggest things. A House assistant gives you a new perspective of the problem, even though it seems to them that they are just saying random stuff. You will be amazed with how fast the solution has come to you after speaking to a House assistance, especially if you previously spent hours dwelling alone on the subject.

I personally don't have much experience in using House assistants, but I am asked to become one sometimes. In the end, my colleague thanks me enthusiastically for solving his problem, even though I feel like I didn't do anything, really. I just blabbered some random stuff and suddenly the problem was solved without me even knowing. So if you are ever asked to be a House assistant, you should know that it feels a little weird, but that's the way it is.

Problem solved.

(versão portuguesa)

No comments: