Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement...

70
Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna Font @quicola

Transcript of Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement...

Page 1: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Affordance-Driven

Process Improvement

Michael Keeling

@michaelkeeling

Designing a Process that Works for Your Team

Ariadna Font

@quicola

Page 2: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Workshop Agenda

• The Theory of Affordances

• Affordance-Driven Process Improvement

• Workshop Time!

2

FYI -- We’ll spend about

the last hour hands-on

Page 3: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Goals for this Workshop

1. Unlock your mind so you can identify

affordances in your team’s process

2. Practice affordance-driven improvement

in a retrospective simulation

3. Map typical team behaviors to common

agile practices

3

Page 4: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Warning

4

Page 5: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

5

THE THEORY OF AFFORDANCES

Page 6: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

You’ve seen these concepts before…

• Software Architects

• Object Designers

• User Experience Experts

• Kanban Experts

• Agile Coaches

• “Systems Thinkers”

6

Page 7: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

7

Goal: Design an object that makes it feel natural and easy

to do the right thing.

Page 8: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

What is an affordance?

8

An affordance is any perceivable element, such as an object or idea,

that directs a person’s thinking toward a specific set of actions.

J. J. Gibson, The Ecological Approach to Visual Perception. Psychology Press, 1986.

Donald Norman, The Design of Everyday Things. Basic Books, 1998

Page 9: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

What is an affordance?

9

An affordance is any perceivable element, such as an object or idea,

that directs a person’s thinking toward a specific set of actions.

J. J. Gibson, The Ecological Approach to Visual Perception. Psychology Press, 1986.

Donald Norman, The Design of Everyday Things. Basic Books, 1998

Page 10: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

10

The Dutch Airport Problem

Page 11: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

11

Page 12: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

12

Page 13: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

The Urinal Fly

“It improves the aim. If a

man sees a fly, he aims at

it. Fly-in-urinal research

found that etchings reduce

spillage by 80%. It gives a

guy something to think

about.

That’s a perfect example of

process control.”

Robert Krulwhich, “There’s a Fly in my Urinal” http://www.npr.org/templates/story/story.php?storyId=121310977 13

Page 14: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Good Affordance..Bad Affordance Push Pull

Good Affordance 14

Page 15: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

15

Bad Affordance

Page 16: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

16

Gary Larson The Far Side

Page 17: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

17

Qualities vs. Functionality

Page 18: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Example: Blend a Drink

• Functions

– Prepare the blender

– Blend

– Clean the blender

• Qualities

– Countertop-ability

– Clean-ability

– Transportability

Galvao and Sato, “Affordances in Product Architecture: Linking Technical

Functions and Users’ Tasks” Proceedings of IDETC/CIE 2005 18

Page 19: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

19

Page 20: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

20

Gas Engine Motorcycle Throttle

Portable… but noisy.

Page 21: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Application to Software Process

• Example Process Functions

– Write software, test software, release software

• Example Process Qualities

– Plan-ability

– Predictability

– Changeability

– Quality

– Performance

– Reliability

– Estimate-ability

– Harmony

21

Page 22: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

22

AFFORDANCE-DRIVEN PROCESS IMPROVEMENT

Page 23: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

23

Goal: Design a process that makes it natural and easy

to do the right thing.

Page 24: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Affordance-Driven Change

25

Observe Behaviors

Evaluate Behaviors

Identify Affordances

Alter Affordances

Page 25: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Affordance-Driven Change

26

Observe Behaviors

Evaluate Behaviors

Identify Affordances

Alter Affordances

What is your team doing?

How do

they act?

Page 26: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Affordance-Driven Change

27

Is this the behavior you want?

Positive Negative Neutral

Observe Behaviors

Evaluate Behaviors

Identify Affordances

Alter Affordances

Page 27: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Affordance-Driven Change

28

What nudged your team to act the way the did?

Observe Behaviors

Evaluate Behaviors

Identify Affordances

Alter Affordances

Page 28: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Affordance-Driven Change

29

Keep the good affordances,

change the bad affordances

Observe Behaviors

Evaluate Behaviors

Identify Affordances

Alter Affordances

Page 30: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Values: Baseline for Evaluating Behavior

31

As a team we valued Predictability Adaptability Respect Open Communication

Page 31: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Evaluate Behaviors

32

Observations: Arguments about tasking Team over-committing Resist giving up tasks

+ – – –

Page 32: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Identify Affordances

33

Reflecting on our practices… “Milestone Owners” Nudge: Attitude of lone responsibility No backlog Nudge: Anxiety over future tasks

Page 33: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Alter Affordances

34

Created a backlog Abolished “Owners” New burndown chart – show progress against commitments

Page 34: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Team Values: Evaluating Behaviors

“Qualities your team values”

• Examples:

– courage

– predictability

– sustainability

– improvability

– measurability

35

– scalability

– responsibility

– feedback

– face-to-face

communication

Page 35: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Examples of Good Affordances

• Iterative planning, light documentation

– Nudge: changeability

• Pair programming

– Nudge: knowledge sharing, performance,

quality

36

Page 36: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Examples of Bad Affordances

• Large planning buffers

– Nudge: procrastination

• Developer Branches

– Nudge: solitary development

37

Page 37: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

38

LET’S PRACTICE!

Page 38: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

What is an affordance?

39

An affordance is any perceivable element, such as an object or idea,

that directs a person’s thinking toward a specific set of actions.

J. J. Gibson, The Ecological Approach to Visual Perception. Psychology Press, 1986.

Donald Norman, The Design of Everyday Things. Basic Books, 1998

Page 39: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Goals for this Workshop

1. Unlock your mind so you can identify

affordances in your team’s process

2. Practice affordance-driven improvement

in a retrospective simulation

3. Map typical team behaviors to common

agile practices

40

Page 40: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Ground Rules

• When your team is ready to move on, have somebody wear the party hat

• Manage your time, watch the clock!

• Raise your hand if you have a question

• Have fun!

41

Page 41: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Workshop Agenda

1. Establish context, agree on team values

2. Evaluate behaviors

3. Identify affordances nudging your team

4. Propose changes to your team’s

practices

5. Finish posters and share findings

6. Wrap-up

42

Page 42: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

43

Qualities your “team” values

Summary of practices nudge your team’s

behavior

Action items – how to change behavior?

Page 43: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Establishing Context – 2 min

• Task: Introduce yourselves to one another – Briefly share some interesting facts about

yourself and your role(s) at work

• Context: – You are now a team, working together to build a

new awesome piece of software.

– You’ve gathered together for a team retrospective….

44

Page 44: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Agree on Team Qualities – 5 min

• Task: Agree on the 3 – 5 core qualities

you value most as a team.

– Annotate worksheet and add to poster

• Goal: You are going to focus on these

through the workshop and use them to

evaluate behaviors and determine what

improvements to pursue first.

46

Page 45: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

47

Page 46: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

48

Qualities your “team” values

Start

Start populating your poster!

Page 47: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Agree on Team Qualities – 5 min

• Task: Agree on the 3 – 5 core qualities

you value most as a team.

– Annotate worksheet and add to poster

• Goal: You are going to focus on these

through the workshop and use them to

evaluate behaviors and determine what

improvements to pursue first.

49

Page 48: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Affordance-Driven Change

50

Observe Behaviors

Evaluate Behaviors

Identify Affordances

Alter Affordances

Page 49: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Evaluate Behaviors – 10 min

• Task: Decide whether your team’s

behaviors (Blue Cards) are positive,

neutral, or negative relative to your

values.

• Goal: Learn to observe and analyze team

behaviors in your work environment.

51

Page 50: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

52

Page 51: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Evaluate Behaviors – 10 min

• Task: Decide whether your team’s

behaviors (Blue Cards) are positive,

neutral, or negative relative to your

values.

• Goal: Learn to observe and analyze team

behaviors in your work environment.

53

Page 52: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Affordance-Driven Change

54

Observe Behaviors

Evaluate Behaviors

Identify Affordances

Alter Affordances

Page 53: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

55

Page 54: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Identify Affordances – 15 min

• Task: Map practices to negative behaviors.

What affordances nudged your team?

– Try the “5 Whys” technique

– If there is no practice in your deck that you think leads to this bad behavior, use one of the wildcards

• Goal: Have a handful of patterns like this on your poster

<Practice> nudges <Behavior> because ____

56

Page 55: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

57

Qualities your “team” values

Start Don’t forget your poster!

57

Summary of practices nudge your team’s

behavior

Page 56: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Identify Affordances – 15 min

• Task: Map practices to negative behaviors.

What affordances nudged your team?

– Try the “5 Whys” technique

– If there is no practice in your deck that you think leads to this bad behavior, use one of the wildcards

• Goal: Have a handful of patterns like this on your poster

<Practice> nudges <Behavior> because ____

58

Page 57: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Affordance-Driven Change

59

Observe Behaviors

Evaluate Behaviors

Identify Affordances

Alter Affordances

Page 58: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Propose Key Changes – 10 min

• Task: Create 2 or 3 action items for your team

and document why you think they will get rid of

the negative behavior

• Goal: Add or remove affordances to your team’s

process. Turn the undesired behaviors into

desired ones.

Practice P(Bad Behavior) Practice P’ (Ø / Good Behavior)

60

Page 59: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Example…

Free dinner nudges developers to stay

late…

Change the Free Dinner affordance

Free breakfast – nudge developers to come

to work early, not waiting for a signal to

mark the end of the day

61

Page 60: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Propose Key Changes – 10 min

• Task: Create 2 or 3 action items for your team

and document why you think they will get rid of

the negative behavior

• Goal: Add or remove affordances to your team’s

process. Turn the undesired behaviors into

desired ones.

Practice P(Bad Behavior) Practice P’ (Ø / Good Behavior)

62

Page 61: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

63

Qualities your “team” values

Summary of practices nudge your team’s

behavior

Action items – how to change behavior?

Page 62: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Share your findings! – 15 min

• Task: Share your poster!

• Goal: Tell a story so that others can learn

from your thinking process

• Reflection

– Any surprises in your practice/behavior map?

– What can you take back to your team?

64

Page 63: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

65

WRAP-UP

Page 64: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Goals for this Workshop

1. Unlock your mind so you can identify

affordances in your team’s process

2. Practice affordance-driven improvement

in a retrospective simulation

3. Map typical team behaviors to common

agile practices

66

Page 65: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Practices vs. Affordances?

We simplified things a little for the

simulation…

The world is not this simple.

Affordances can be subtle, tricky to identify.

67

Page 66: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Tools for Retrospectives

• Identify valued team qualities

• “Like to Like” game

– Create your own behaviors and practices card

decks

• Affordance Awareness

– It’s not your fault!

68

Page 67: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

69

“A bad system will beat a good person every time.”

- W. Edwards Deming

Page 68: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

70

Go forth and design GREAT systems!

Page 69: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

Thank you!

Michael Keeling

@michaelkeeling

http://neverletdown.net

71

Ariadna Font

@quicola

http://ariadna.font.cat/

Page 70: Affordance-Driven Process Improvement - Agile Alliance · Affordance-Driven Process Improvement Michael Keeling @michaelkeeling Designing a Process that Works for Your Team Ariadna

References

• Robert Krulwhich, “There’s a Fly in my Urinal” http://www.npr.org/templates/story/story.php?storyId=121310977

• Donald Norman, The Design of Everyday Things. Basic Books, 1988

• J. J. Gibson, The Ecological Approach to Visual Perception. Psychology Press, 1986.

• Galvao and Sato, “Affordances in Product Architecture: Linking Technical Functions and Users’ Tasks” Proceedings of IDETC/CIE 2005

• Michael Keeling, “Identifying Process Affordances: Nudging Toward Change” http://neverletdown.net/2010/03/identifying-process-affordances-nudging-toward-change/

• Michael Keeling, “Process Affordances: Ignore at your own Peril” http://neverletdown.net/2009/03/process-affordances-ignore-at-your-own-peril/

72