SlideShare a Scribd company logo
1 of 33
Download to read offline
Problem SolvingProblem Solving
10 Questions to Ask10 Questions to Ask
When SomethingWhen Something
Doesn't WorkDoesn't Work
A Lightning TalkA Lightning Talk
by Herb Millerby Herb Miller
[oik] plugins[oik] plugins
The CastThe Cast
The first thing that you have to doThe first thing that you have to do
when something has gone wrongwhen something has gone wrong
Is make a list of who to askIs make a list of who to ask
It shouldn't take too longIt shouldn't take too long
Asker / AskeeAsker / Askee
Number one is called the Asker,Number one is called the Asker,
and that is often you.and that is often you.
Then there is the AskeeThen there is the Askee
he/she is number two.he/she is number two.
Stupid Question AskerStupid Question Asker
In case you have a problemIn case you have a problem
which may require threewhich may require three
The stupid question askerThe stupid question asker
fits that role nic-e-lyfits that role nic-e-ly
The domain expertThe domain expert
In many situationsIn many situations
it really doesn't hurtit really doesn't hurt
to ask the person we believeto ask the person we believe
is THE domain expertis THE domain expert
Project ManagerProject Manager
There is one other personThere is one other person
to avoid more oft'n than not.to avoid more oft'n than not.
And that's the Project ManagerAnd that's the Project Manager
He'll help you. Not a lot!He'll help you. Not a lot!
The ProcessThe Process
The question list you followThe question list you follow
depends upon your role.depends upon your role.
The questions that you askThe questions that you ask
come deep down from your soul.come deep down from your soul.
PersistPersist
In no particular orderIn no particular order
is the way the questions go.is the way the questions go.
You keep on digging deeperYou keep on digging deeper
'til the answer you do know.'til the answer you do know.
Ask questionsAsk questions
The general process to performThe general process to perform
involves these five, you'll seeinvolves these five, you'll see
first go through the Asker's Q'sfirst go through the Asker's Q's
then bother the Askeethen bother the Askee
Expect theExpect the
unexpectedunexpected
The Stupid Question Asker'sThe Stupid Question Asker's
come in at number threecome in at number three
you'll often find involving themyou'll often find involving them
resolves it quick-er-lyresolves it quick-er-ly
Need to knowNeed to know
Next you try the expertNext you try the expert
who may actually be thee.who may actually be thee.
But please avoid the PM;But please avoid the PM;
to maintain your sanity.to maintain your sanity.
New code?New code?
So here is your first question.So here is your first question.
Don't tell me I'm a jerk.Don't tell me I'm a jerk.
"But have you seen this function"But have you seen this function
ever act-u-ally work?".ever act-u-ally work?".
Has it happened before?Has it happened before?
Question 2 is good and trueQuestion 2 is good and true
and doesn't cost a dimeand doesn't cost a dime
"Do you really think it worked"Do you really think it worked
when you ran it last time?"when you ran it last time?"
What's changedWhat's changed
Question 3.Question 3.
A bit of fun.A bit of fun.
Ask yourselfAsk yourself
"What have I done?""What have I done?"
TheThe
rightright
change?change?
We know you're really busy,We know you're really busy,
you have a full work loadyou have a full work load
but please try to remember...but please try to remember...
"Are you sure you changed the code?""Are you sure you changed the code?"
The correct version?The correct version?
Now think again more carefully.Now think again more carefully.
Try not to get annoyedTry not to get annoyed
"The code that you are running,"The code that you are running,
is that what you deployed?"is that what you deployed?"
RequirementsRequirements
vs specsvs specs
Dig deep into the source filesDig deep into the source files
and you may get a frightand you may get a fright
"The code and comments do not match."The code and comments do not match.
So which of them is right?"So which of them is right?"
Askee'sAskee's
questionsquestions
There are a few more questions.There are a few more questions.
Well, slightly more than three.Well, slightly more than three.
but let's now shift and look at thosebut let's now shift and look at those
we get from the Askee"we get from the Askee"
ResearchResearch
The Askee knows that nowadaysThe Askee knows that nowadays
it doesn't cost that mu(r)chit doesn't cost that mu(r)ch
to choose some words then type into choose some words then type in
your best long tail Google searchyour best long tail Google search
SimplifySimplify
So no results, then this techniqueSo no results, then this technique
can often be your saviourcan often be your saviour
Reduce the problem to the simplestReduce the problem to the simplest
showing bad behaviourshowing bad behaviour
ReproduceReproduce
The next question will demonstrateThe next question will demonstrate
that you are really keen.that you are really keen.
Ask them to reproduce the bugAsk them to reproduce the bug
on a-not-her machineon a-not-her machine
SQA:SQA:
RestateRestate
problemproblem
So still no luck, it's time to call theSo still no luck, it's time to call the
Stupid Question ManStupid Question Man
Who usually says, "Explain againWho usually says, "Explain again
the problem if you can"the problem if you can"
Timing?Timing?
I know you think I'm stupidI know you think I'm stupid
because I'm not a geekbecause I'm not a geek
but does the code work on anybut does the code work on any
other day of the week?other day of the week?
Environment?Environment?
And regarding the data,And regarding the data,
you'll think that I'm a chumpyou'll think that I'm a chump
"but does it work on Windows"but does it work on Windows
running last Wednesday's dump"?running last Wednesday's dump"?
AuthorityAuthority
II knowknow I've suffered this myselfI've suffered this myself
I don't think it's a sinI don't think it's a sin
"I often find I can't do things"I often find I can't do things
until I am logged in"until I am logged in"
Expert opinionExpert opinion
And still you have no answer.And still you have no answer.
Are you feeling strong...Are you feeling strong...
to hear the Expert tell you thatto hear the Expert tell you that
"You're doing it all wrong"?"You're doing it all wrong"?
EvidenceEvidence
Or "Why then should I help you?Or "Why then should I help you?
It's really not your place,It's really not your place,
to say you've got a problemto say you've got a problem
but not provide a trace!"but not provide a trace!"
ExperienceExperience
Another of their answersAnother of their answers
offered without delayoffered without delay
"I upgraded to version x"I upgraded to version x
the problem went away"the problem went away"
Stop and ThinkStop and Think
It only works on Windows,It only works on Windows,
not Linux nor Unix?not Linux nor Unix?
So take a break, relax and makeSo take a break, relax and make
time for a bar of Twix.time for a bar of Twix.
(should be Kit Kat -(should be Kit Kat -
but don't argue with the Expert! )but don't argue with the Expert! )
Problem sizeProblem size
I'm going to skip the questionsI'm going to skip the questions
the PM may well raise, likethe PM may well raise, like
"When'll you have a fix for it,"When'll you have a fix for it,
are we talking hours or days?"are we talking hours or days?"
Severity & PrioritySeverity & Priority
Or, "If this problem had occurredOr, "If this problem had occurred
not in test but in live,not in test but in live,
then how long would our e-businessthen how long would our e-business
be able to survive?"be able to survive?"
And finallyAnd finally
Problem solving is a skill,Problem solving is a skill,
you learn more every day.you learn more every day.
The bugs are in there somewhere.The bugs are in there somewhere.
They don't just go away.They don't just go away.
Post ScriptumPost Scriptum
Use these questions in your work;Use these questions in your work;
when hacking in your den.when hacking in your den.
But never try to number themBut never try to number them
in order: 1 to 10.in order: 1 to 10.
© Copyright Herb Miller 2014© Copyright Herb Miller 2014

More Related Content

More from Herb Miller

More from Herb Miller (18)

Site Health Check for WordPress
Site Health Check for WordPressSite Health Check for WordPress
Site Health Check for WordPress
 
WordPress Portsmouth Meetup 20 February 2019 v0.0.1
WordPress Portsmouth Meetup 20 February 2019 v0.0.1WordPress Portsmouth Meetup 20 February 2019 v0.0.1
WordPress Portsmouth Meetup 20 February 2019 v0.0.1
 
WordPress Portsmouth Meetup 20 March 2019 v0.0.1
WordPress Portsmouth Meetup 20 March 2019 v0.0.1WordPress Portsmouth Meetup 20 March 2019 v0.0.1
WordPress Portsmouth Meetup 20 March 2019 v0.0.1
 
Yoast SEO Workshop - WordPress Portsmouth Meetup 16 Jan 2019
Yoast SEO Workshop - WordPress Portsmouth Meetup 16 Jan 2019 Yoast SEO Workshop - WordPress Portsmouth Meetup 16 Jan 2019
Yoast SEO Workshop - WordPress Portsmouth Meetup 16 Jan 2019
 
WordPress Portsmouth meetup 20 dec 2018 v0.0.2
WordPress Portsmouth meetup 20 dec 2018 v0.0.2WordPress Portsmouth meetup 20 dec 2018 v0.0.2
WordPress Portsmouth meetup 20 dec 2018 v0.0.2
 
WordPress Portsmouth Meetup - 15 Nov 2018
WordPress Portsmouth Meetup - 15 Nov 2018WordPress Portsmouth Meetup - 15 Nov 2018
WordPress Portsmouth Meetup - 15 Nov 2018
 
Switching from Canvas to Storefront
Switching from Canvas to StorefrontSwitching from Canvas to Storefront
Switching from Canvas to Storefront
 
WordUp Pompey - September 2018
WordUp Pompey - September 2018WordUp Pompey - September 2018
WordUp Pompey - September 2018
 
WordUp Pompey - July 2018
WordUp Pompey - July 2018 WordUp Pompey - July 2018
WordUp Pompey - July 2018
 
WordUp Pompey - June 2018
WordUp Pompey - June 2018WordUp Pompey - June 2018
WordUp Pompey - June 2018
 
WordUp Pompey - May 2018
WordUp Pompey - May 2018WordUp Pompey - May 2018
WordUp Pompey - May 2018
 
WordUp Pompey - April 2018
WordUp Pompey -  April 2018WordUp Pompey -  April 2018
WordUp Pompey - April 2018
 
WordUp Pompey- March 2018
WordUp Pompey- March 2018WordUp Pompey- March 2018
WordUp Pompey- March 2018
 
WordUp Pompey - 22nd Feb 2018 - Gutenberg
WordUp Pompey - 22nd Feb 2018 - GutenbergWordUp Pompey - 22nd Feb 2018 - Gutenberg
WordUp Pompey - 22nd Feb 2018 - Gutenberg
 
WordUp Pompey reboot! - 18th Jan 2018
WordUp Pompey reboot! - 18th Jan 2018WordUp Pompey reboot! - 18th Jan 2018
WordUp Pompey reboot! - 18th Jan 2018
 
oik-plugins: WordUp Pompey! Nov 2011
oik-plugins: WordUp Pompey! Nov 2011oik-plugins: WordUp Pompey! Nov 2011
oik-plugins: WordUp Pompey! Nov 2011
 
Artisteer: WordUp Pompey! 24 Nov 2011
Artisteer: WordUp Pompey! 24 Nov 2011Artisteer: WordUp Pompey! 24 Nov 2011
Artisteer: WordUp Pompey! 24 Nov 2011
 
WordUp Pompey! 24-nov-2011
WordUp Pompey! 24-nov-2011WordUp Pompey! 24-nov-2011
WordUp Pompey! 24-nov-2011
 

Recently uploaded

Recently uploaded (20)

OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024
 
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit MilanWorkshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
Workshop: Enabling GenAI Breakthroughs with Knowledge Graphs - GraphSummit Milan
 
Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024Modern binary build systems - PyCon 2024
Modern binary build systems - PyCon 2024
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 
Lessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdfLessons Learned from Building a Serverless Notifications System.pdf
Lessons Learned from Building a Serverless Notifications System.pdf
 
AI Hackathon.pptx
AI                        Hackathon.pptxAI                        Hackathon.pptx
AI Hackathon.pptx
 
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
Anypoint Code Builder - Munich MuleSoft Meetup - 16th May 2024
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 
Malaysia E-Invoice digital signature docpptx
Malaysia E-Invoice digital signature docpptxMalaysia E-Invoice digital signature docpptx
Malaysia E-Invoice digital signature docpptx
 
architecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdfarchitecting-ai-in-the-enterprise-apis-and-applications.pdf
architecting-ai-in-the-enterprise-apis-and-applications.pdf
 
5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand
 
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
Optimizing Operations by Aligning Resources with Strategic Objectives Using O...
 
Community is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea GouletCommunity is Just as Important as Code by Andrea Goulet
Community is Just as Important as Code by Andrea Goulet
 
The Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test AutomationThe Strategic Impact of Buying vs Building in Test Automation
The Strategic Impact of Buying vs Building in Test Automation
 
Microsoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdfMicrosoft365_Dev_Security_2024_05_16.pdf
Microsoft365_Dev_Security_2024_05_16.pdf
 
What is an API Development- Definition, Types, Specifications, Documentation.pdf
What is an API Development- Definition, Types, Specifications, Documentation.pdfWhat is an API Development- Definition, Types, Specifications, Documentation.pdf
What is an API Development- Definition, Types, Specifications, Documentation.pdf
 
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
Salesforce Introduced Zero Copy Partner Network to Simplify the Process of In...
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
Tree in the Forest - Managing Details in BDD Scenarios (live2test 2024)
 
Workforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdfWorkforce Efficiency with Employee Time Tracking Software.pdf
Workforce Efficiency with Employee Time Tracking Software.pdf
 

Problem solving lightning talk word camp bournemouth 2014

  • 1. Problem SolvingProblem Solving 10 Questions to Ask10 Questions to Ask When SomethingWhen Something Doesn't WorkDoesn't Work A Lightning TalkA Lightning Talk by Herb Millerby Herb Miller [oik] plugins[oik] plugins
  • 2. The CastThe Cast The first thing that you have to doThe first thing that you have to do when something has gone wrongwhen something has gone wrong Is make a list of who to askIs make a list of who to ask It shouldn't take too longIt shouldn't take too long
  • 3. Asker / AskeeAsker / Askee Number one is called the Asker,Number one is called the Asker, and that is often you.and that is often you. Then there is the AskeeThen there is the Askee he/she is number two.he/she is number two.
  • 4. Stupid Question AskerStupid Question Asker In case you have a problemIn case you have a problem which may require threewhich may require three The stupid question askerThe stupid question asker fits that role nic-e-lyfits that role nic-e-ly
  • 5. The domain expertThe domain expert In many situationsIn many situations it really doesn't hurtit really doesn't hurt to ask the person we believeto ask the person we believe is THE domain expertis THE domain expert
  • 6. Project ManagerProject Manager There is one other personThere is one other person to avoid more oft'n than not.to avoid more oft'n than not. And that's the Project ManagerAnd that's the Project Manager He'll help you. Not a lot!He'll help you. Not a lot!
  • 7. The ProcessThe Process The question list you followThe question list you follow depends upon your role.depends upon your role. The questions that you askThe questions that you ask come deep down from your soul.come deep down from your soul.
  • 8. PersistPersist In no particular orderIn no particular order is the way the questions go.is the way the questions go. You keep on digging deeperYou keep on digging deeper 'til the answer you do know.'til the answer you do know.
  • 9. Ask questionsAsk questions The general process to performThe general process to perform involves these five, you'll seeinvolves these five, you'll see first go through the Asker's Q'sfirst go through the Asker's Q's then bother the Askeethen bother the Askee
  • 10. Expect theExpect the unexpectedunexpected The Stupid Question Asker'sThe Stupid Question Asker's come in at number threecome in at number three you'll often find involving themyou'll often find involving them resolves it quick-er-lyresolves it quick-er-ly
  • 11. Need to knowNeed to know Next you try the expertNext you try the expert who may actually be thee.who may actually be thee. But please avoid the PM;But please avoid the PM; to maintain your sanity.to maintain your sanity.
  • 12. New code?New code? So here is your first question.So here is your first question. Don't tell me I'm a jerk.Don't tell me I'm a jerk. "But have you seen this function"But have you seen this function ever act-u-ally work?".ever act-u-ally work?".
  • 13. Has it happened before?Has it happened before? Question 2 is good and trueQuestion 2 is good and true and doesn't cost a dimeand doesn't cost a dime "Do you really think it worked"Do you really think it worked when you ran it last time?"when you ran it last time?"
  • 14. What's changedWhat's changed Question 3.Question 3. A bit of fun.A bit of fun. Ask yourselfAsk yourself "What have I done?""What have I done?"
  • 15. TheThe rightright change?change? We know you're really busy,We know you're really busy, you have a full work loadyou have a full work load but please try to remember...but please try to remember... "Are you sure you changed the code?""Are you sure you changed the code?"
  • 16. The correct version?The correct version? Now think again more carefully.Now think again more carefully. Try not to get annoyedTry not to get annoyed "The code that you are running,"The code that you are running, is that what you deployed?"is that what you deployed?"
  • 17. RequirementsRequirements vs specsvs specs Dig deep into the source filesDig deep into the source files and you may get a frightand you may get a fright "The code and comments do not match."The code and comments do not match. So which of them is right?"So which of them is right?"
  • 18. Askee'sAskee's questionsquestions There are a few more questions.There are a few more questions. Well, slightly more than three.Well, slightly more than three. but let's now shift and look at thosebut let's now shift and look at those we get from the Askee"we get from the Askee"
  • 19. ResearchResearch The Askee knows that nowadaysThe Askee knows that nowadays it doesn't cost that mu(r)chit doesn't cost that mu(r)ch to choose some words then type into choose some words then type in your best long tail Google searchyour best long tail Google search
  • 20. SimplifySimplify So no results, then this techniqueSo no results, then this technique can often be your saviourcan often be your saviour Reduce the problem to the simplestReduce the problem to the simplest showing bad behaviourshowing bad behaviour
  • 21. ReproduceReproduce The next question will demonstrateThe next question will demonstrate that you are really keen.that you are really keen. Ask them to reproduce the bugAsk them to reproduce the bug on a-not-her machineon a-not-her machine
  • 22. SQA:SQA: RestateRestate problemproblem So still no luck, it's time to call theSo still no luck, it's time to call the Stupid Question ManStupid Question Man Who usually says, "Explain againWho usually says, "Explain again the problem if you can"the problem if you can"
  • 23. Timing?Timing? I know you think I'm stupidI know you think I'm stupid because I'm not a geekbecause I'm not a geek but does the code work on anybut does the code work on any other day of the week?other day of the week?
  • 24. Environment?Environment? And regarding the data,And regarding the data, you'll think that I'm a chumpyou'll think that I'm a chump "but does it work on Windows"but does it work on Windows running last Wednesday's dump"?running last Wednesday's dump"?
  • 25. AuthorityAuthority II knowknow I've suffered this myselfI've suffered this myself I don't think it's a sinI don't think it's a sin "I often find I can't do things"I often find I can't do things until I am logged in"until I am logged in"
  • 26. Expert opinionExpert opinion And still you have no answer.And still you have no answer. Are you feeling strong...Are you feeling strong... to hear the Expert tell you thatto hear the Expert tell you that "You're doing it all wrong"?"You're doing it all wrong"?
  • 27. EvidenceEvidence Or "Why then should I help you?Or "Why then should I help you? It's really not your place,It's really not your place, to say you've got a problemto say you've got a problem but not provide a trace!"but not provide a trace!"
  • 28. ExperienceExperience Another of their answersAnother of their answers offered without delayoffered without delay "I upgraded to version x"I upgraded to version x the problem went away"the problem went away"
  • 29. Stop and ThinkStop and Think It only works on Windows,It only works on Windows, not Linux nor Unix?not Linux nor Unix? So take a break, relax and makeSo take a break, relax and make time for a bar of Twix.time for a bar of Twix. (should be Kit Kat -(should be Kit Kat - but don't argue with the Expert! )but don't argue with the Expert! )
  • 30. Problem sizeProblem size I'm going to skip the questionsI'm going to skip the questions the PM may well raise, likethe PM may well raise, like "When'll you have a fix for it,"When'll you have a fix for it, are we talking hours or days?"are we talking hours or days?"
  • 31. Severity & PrioritySeverity & Priority Or, "If this problem had occurredOr, "If this problem had occurred not in test but in live,not in test but in live, then how long would our e-businessthen how long would our e-business be able to survive?"be able to survive?"
  • 32. And finallyAnd finally Problem solving is a skill,Problem solving is a skill, you learn more every day.you learn more every day. The bugs are in there somewhere.The bugs are in there somewhere. They don't just go away.They don't just go away.
  • 33. Post ScriptumPost Scriptum Use these questions in your work;Use these questions in your work; when hacking in your den.when hacking in your den. But never try to number themBut never try to number them in order: 1 to 10.in order: 1 to 10. © Copyright Herb Miller 2014© Copyright Herb Miller 2014