WK3 Concurrent Session Wednesday 10/01/2008 4:30 PM – 5:30 PM
Six Thinking Hats for Software Testers
Presented by:
Julian Harty Google
Presented at: STARWEST 2008
September 29 – October 3, 2008, Anaheim, CA, USA
330 Corporate Way, Suite 300, Orange Park, FL 32043 888-268-8770 904-278-0524 [email protected] www.sqe.com
Julian Harty Julian Harty is a senior test engineer at Google. Julian finds ways to test lots of fun products, including the mobile wireless software used by millions of users worldwide. He’s been involved in software and online systems for more than twenty years and enjoys working with others to find ways to solve testing challenges productively. A presenter at both STAREAST and STARWEST, Julian has been involved in international conferences and workshops on software testing.
1
Six Thinking Hats: keynote for STARWEST 2008
WHAT? A thinking tool
WHY? Better decisions & results
WHO? Individuals, groups
WHEN? Looking for a fresh perspective
HOW? Understand concepts, use hats, make notes
WHERE? Wherever
HOW LONG? Less time than this talk ☺
RESULTS: Judge for yourself
2
The status quo ?
Limiting ideas
Poor communication
Preset roles and responsibilities
Insanity: doing the same thing over and over again and expecting different results
Albert Einstein (attributed)
?
3
Directional thinking
1-Dimensional thinking leads to 1-Dimensional results
6 Thinking Hats provides 6-Dimensional thinking and better results
18
Six Thinking Hats
How do we use them?
• One hat at a time
• Groups use the same color at once
• Start and finish with the blue hat
• By practicing ☺
19
The Blue Hat
Blue sky thinking
• Helps to provide an overview
• Thinking about our thinking
• Controls the use of the other hats
• Gathers the outcome at the end
• Set out the next steps
20
The White Hat
Information, Facts
• Neutral
• Report what we find, as we find it
• Ask questions to establish facts
• What information do we have?
• What information do we need?
• What’s missing?
• Qualify ‘facts’: are they opinions?
21
The Yellow Hat
Sunshine, Optimism
• Seeking the best possible outcome
• Positive ☺
• Looking for benefits
22
The Red Hat
PASSION!!! FEELINGS!!! ���� ☺☺☺☺
• A safe environment to vent feelings
• Negative
• Positive
• Includes: hunches and intuitions
• No need to justify your contributions
23
The Black Hat
Represents DARKNESS
• Helps us to be cautious
• Look for what could go wrong
• Look for what might be wrong
• Taps into our fears
• Not the same as being negative…
• Particularly useful for software testing
24
The Green Hat
Creativity• Seek new ideas, alternatives
• Brainstorming
• Use ‘po ’ - provocative thinking
• Helps escape from ruts
25
I am not a color, I am a free man 1
Hats are not labels or roles
We use them to think in parallel
1 http://en.wikipedia.org/wiki/The_Prisoner
26
Six Thinking Hats – worksheet
Green: creativity
Yellow: best case
Black: concerns
Red: feelings
White: facts
Blue: direction
27
Rough notes (on non-functional testing)
Blue: What I wanted to achieve
Red: My impressions
Black: Hurdles
White: data
Yellow: benefits
Green: ideas
28
What can we use the hats for?
Improving our working relationships• Reduces adversarial relationships and in-fighting
Reviewing artefacts• Documents, designs, code, test plans, test results, etc.
Designing test cases• Helps us to ask questions from 6 distinct viewpoints
29
Using hats for software testing
Some ideas
• In reviews
• To design test cases
• To assess a product
• Code reviews
• At release meetings
• While testing ☺
30
Examples of test case design questions
BlueWhat are we trying to achieve with our tests?
GreenSeek alternatives that might improve the results, timescales, costs, etc. of our testing?
BlackWhat sort of problems could go wrong with the test? What might we get wrong, or misinterpret?
RedWhat would annoy the users or the customers if it didn’t work properly?
YellowWhat advantages do we obtain from designing (or skipping) this test case?
WhiteWhat data do I need to design this test case?
HatQuestions
33
Using Hats in Groups
Where:
• Team meetings
• Release meetings
• Retrospectives
How:
• All use a common color at same time
• Facilitator may keep using the blue hat
• Use blue hat to query process
36
Extensions: ‘Schools of software testing’
‘Schools of software testing’
What can we learn from the concepts of these ‘schools’?
Analytical
Factory
Oblivious
Control
Context-drivenTest-driven design
Bret Pettichord, Cem Kaner, James Bach
37
Extensions: Non-Functional Testing (NFT)
Consider NFT when applying Six Thinking Hats
Performance
Security
Usability
Accessibility
Reliability
Robustness
Oft ignored during mainline testing
38
Common mistakes when using the hats
The facilitator encourages each person to present their ideas
People do not get involved
Encourage and demonstrate good practices
People do not obey the ‘rules’
Use the blue hat to start and end each session
Blue hat not getting sufficient attention
With help people improve over time, encourage people to note ideas under the relevant hat
Confusing one hat with another
Check the facts, as for the degree of confidence
Opinions being presented as facts
Ways to deal with the mistakeMistake
39
Parting advice
Try the six thinking hats
Start simple: paper and a pen
When you have an idea for a ‘dormant’ hat: record it then return to ‘active’ hat
For Groups:
Consider software e.g. WebNotehttp://www.aypwip.org/webnote/
Use sets of baseball caps ($10 per set)
40
What next?
Review the session: by using the six thinking hats ☺
Use the concepts for one of your next tasks e.g.
• A meeting with your testing team
• A meeting with your project team
• Reviewing a document, or a piece of source code
• Creating your next set of test cases
Please let me know how you get on
• Remember we can learn from failures as well as success!
42
Electronic copies of material
Should be available with the conference materials online, with an article to be published in Better Software.
Or email me [email protected]
Julian [email protected]
44
References and links
Six thinking caps; includes a link to the 7th cap: Wisdom
http://www.schoolofthinking.org/about/training/10-dfq/from-caps-to-hats-the-original-sot-thinking-caps/
WebNote http://www.aypwip.org/webnote/
Earlier versions of my work are available athttp://www.associationforsoftwaretesting.org/documents/Julian_Harty_Six_Thinking_Hats.pdf
http://newsweaver.ie/qualtech/e_article000666359.cfm?x=bcVhM0T,b4V6Phvj,w
Six thinking hats by Edward de Bono
Lateral thinking also by Edward de Bono - includes ‘po’ provocative thinking
Predictably Irrational by Dan Airely
The Idea Generator: Tools for Business Growth by Ken Hudson
45
Gradients of Agreement – Group decisions
Endorsement Endorsement with a minor point of contention
Agreement with reservations
Abstain Stand aside Formal disagreement, but willing to go with the majority
Formal disagreement, with request to be absolved of responsibility for implementation
Block
“I like it” “Basically I like it” “I can live with it” “I have no opinion”
“I don’t like this, but I don’t want to hold up the group”
“I want my disagreement noted in writing, but I’ll support the decision”
“I don’t want to stop anyone else, but I don’t want to be involved in implementing it”
“I veto this proposal”
This example is based on an example from Community At Work, a US training company.