For the latest version of Problem Solving, where the verses are now called Steps, are correctly numbered and link to further details in the form of a presentation see Problem Solving – The annotated poem – October 2019
The top ten questions to ask when something doesn’t work.
Problem Solving, by Herb Miller
The Cast
The first thing that you have to do when something has gone wrong Is make a list of who to ask It shouldn't take too long Number one is called the Asker, and that is often you. Then there is the Askee he/she is number two. In case you have a problem which may require three The stupid question asker fits that role nic-e-ly In many situations it really doesn't hurt to ask the person we believe is THE domain expert There is one other person to avoid more oft'n than not. And that's the Project Manager He'll help you. Not a lot!
The Process
The question list you follow depends upon your role. The questions that you ask come deep down from your soul. In no particular order is the way the questions go. You keep on digging deeper 'til the answer you do know. The general process to perform involves these five, you'll see first go through the Asker's Q's then bother the Askee The Stupid Question Asker's come in at number three you'll often find involving them resolves it quick-er-ly Next you try the expert who may actually be thee. But please avoid the PM; to maintain your sanity.
The Askee’s questions
1. So here is your first question. Don't tell me I'm a jerk. "But have you seen this function ever act-u-ally work?" 2. Question 2 is good and true and doesn't cost a dime "Do you really think it worked when you ran it last time?" 3. Question 3. A bit of fun. Ask yourself "What have I done?" 4. We know you're really busy, you have a full work load but please try to remember... "Are you sure you changed the code?" 5. Now think again more carefully. Try not to get annoyed "The code that you are running, is that what you deployed?" 6. Dig deep into the source files and you may get a fright "The code and comments do not match. So which of them is right?" There are a few more questions. Well, slightly more than three. but let's now shift and look at those we get from the Askee
The Askee
The Askee knows that nowadays it doesn't cost that mu(r)ch to choose some words then type in your best long tail Google search So no results, then this technique can often be your saviour Reduce the problem to the simplest showing bad behaviour The next question will demonstrate that you are really keen. Ask them to reproduce the bug on a-not-her machine
The Stupid Question Asker
So still no luck, it's time to call the Stupid Question Man Who usually says, "Explain again the problem if you can" I know you think I'm stupid because I'm not a geek but does the code work on any other day of the week? And regarding the data, you'll think that I'm a chump "but does it work on Windows running last Wednesday's dump"? I know I've suffered this myself I don't think it's a sin "I often find I can't do things until I am logged in"
The Expert
And still you have no answer. Are you feeling strong... to hear the Expert tell you "You're doing it all wrong"? Or "Why then should I help you? It's really not your place, to say you've got a problem but not provide a trace!" Another of their answers offered without delay "I upgraded to version x the problem went away" It only works on Windows, not Linux nor Unix? So take a break, it's time to take time for a bar of Twix. (should be KitKat - but don't argue with the Expert! )
The Project Manager
I'm going to skip the questions the PM may well raise, like "When'll you have a fix for it, are we talking hours or days?" Or, "If this problem had occurred not in test but in live, then how long would our e-business be able to survive?"
Conclusion
Problem solving is a skill, you learn more every day. The bugs are in there somewhere. They don't just go away.
Post Scriptum
Use these questions in your work; when hacking in your den. But never try to number them in order: 1 to 10.
(C) Copyright Herb Miller, 2014
For the original script from which this poem was taken
see: bobbingwide.com/phphants/2013/11/01/top-10-questions-to-ask-when-something-doesnt-work
For the true original see:
solongandthanksforalltheghoti.blogspot.co.uk/2009/09/top-10-list-of-questions-to-ask-when.html
For the Lightning talk at WordCamp Bournemouth see:
Problem Solving – A Lightning Talk