47
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

Six Thinking Hats for Software Testers

  • Upload
    vsp0014

  • View
    129

  • Download
    5

Embed Size (px)

Citation preview

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

4

Hmmm… What problem am I trying to solve?

5

What data do I have? What data do I need?

Wisdom

6

Feelings: passions , intuitions and fears

7

Why am I doing this? What do I want to achieve?

8

Risks, flaws and problems in the Quest?

9

How do I achieve and solve stuff?

10

Decision Time? What next?

?

11

12

13

14

15

16

17

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

31

Sample mind map of testing questions

32

Example order of the Thinking Hats

Focus

Data

Feelings

Benefits

Problems

Ideas Actions

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

34

Reviewing Test Automation using six Thinking Hats

35

Tools

Pen & paper

WebNote software

Mind-mapping

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!

41

How will you use the six thinking hats this week?

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.