Software Developers Guide to Fun in the Workplace: Euphoria Despite the Despair

A presentation at J-Spring in May 2017 in Amsterdam, Netherlands by Holly Cummins

Slide 1

Slide 1

A Software Developer’s Guide to FUN in the workplace How to achieve Euphoria despite the Despair Holly Cummins, IBM | @holly_cummins Martijn Verburg, JClarity | @karianna May 2017 #jspring

Slide 2

Slide 2

I’m from IBM’s Bluemix Garage.

Slide 3

Slide 3

Slide 4

Slide 4

Is this a fun talk?

Slide 5

Slide 5

Is this a fun talk? No. It’s a talk about fun.

Slide 6

Slide 6

Is this a fun talk? No. It’s a talk about fun. That’s different.

Slide 7

Slide 7

Is this a fun talk? No. It’s a talk about fun. That’s different. Obviously.

Slide 8

Slide 8

20 step plan to achieve FUN. 1. Quantify and Qualify your FUN metrics 2. Create a Chief FUN Officer (CFO) role 3. Gamify your daily tasks to make them more FUN 4. Enthusiastically high five everyone each morning for FUN 5. Install a FUN ball pit 6. Inject a FUN word of the day into conversations 7. Wear FUN clothing, something with flair 8. Create FUN certificates with gold star systems - relive the fun of kindergarten! 9. Nominate FUN assessors for each team 10.Laugh Out Loud (LOL) once a day in the office, others will enjoy your FUN @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 9

Slide 9

Let’s talk about your career.

Slide 10

Slide 10

“Dear Boss, you need to send me to J-Spring so I can go to the session on…. FUN.” @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 11

Slide 11

“Dear Boss, you need to send me to J-Spring so I can go to the session on…. FUN.” @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 12

Slide 12

, Having fun at work @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 13

Slide 13

Are you brave enough? , Having fun at work @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 14

Slide 14

Are you brave enough? I’m not :) @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 15

Slide 15

Slide 16

Slide 16

Wait. Where’s “fun-loving”?

Slide 17

Slide 17

Wait. Where’s “fun-loving”? We keep fun a secret.

Slide 18

Slide 18

What is Fun?

Slide 19

Slide 19

A Fun Guy. (Remember, fun means jokes.)

Slide 20

Slide 20

“Fun is a point on the intersection of engagement levels and social interaction for a given activity.” Fun: An Exploration in its Relevance to Interaction Design - Elise Woolley, 2010

Slide 21

Slide 21

Aside: When is fun notfun?

Slide 22

Slide 22

Aside: When is fun notfun?

Slide 23

Slide 23

Aside: When is fun notfun? When it’s your job.

Slide 24

Slide 24

Things that are Fun

Slide 25

Slide 25

Things that are Fun Something novel

Slide 26

Slide 26

Things that are Fun Something novel Doing something you’re good at

Slide 27

Slide 27

Things that are Fun Something novel Completing a task Doing something you’re good at

Slide 28

Slide 28

Things that are Fun Completing a task Something novel Getting fast feedback Doing something you’re good at

Slide 29

Slide 29

Things that are Fun Completing a task Something novel Getting fast feedback Creating something new Doing something you’re good at

Slide 30

Slide 30

Things that are Fun Completing a task Something novel Getting fast feedback Fixing something old Creating something new Doing something you’re good at

Slide 31

Slide 31

Slide 32

Slide 32

Fun

Slide 33

Slide 33

Fun

Slide 34

Slide 34

The Psychology of Fun The brain has pleasure centres which are triggered when you do something fun.

Slide 35

Slide 35

How do you measure fun? Excerpted from Elise M. Woolley, B.S., Fun: An Exploration in its Relevance to Interaction Design

Slide 36

Slide 36

That was called the Funtinuum.

Slide 37

Slide 37

That was called the Funtinuum. If you remember just one thing from this talk …

Slide 38

Slide 38

Programming is fun.

Slide 39

Slide 39

Programming gives pleasure to both types of thinkers: • Creative • Logical

Slide 40

Slide 40

We get to control stuff when we program.

Slide 41

Slide 41

Which programming language is the most fun?

Slide 42

Slide 42

• Which programming language is the most fun? Clojure?

Slide 43

Slide 43

Which programming language is the most fun? • Clojure? • Java?

Slide 44

Slide 44

Which programming language is the most fun? • Clojure? • Java? • Groovy?

Slide 45

Slide 45

Which programming language is the most fun? • Clojure? • Java? • Groovy? • Javascript?

Slide 46

Slide 46

Which programming language is the most fun? • Clojure? • Java? • Groovy? • Javascript? • Python?

Slide 47

Slide 47

Which programming language is the most fun? • Clojure? • Java? • Groovy? • Javascript? • Python? • Ruby?

Slide 48

Slide 48

Which programming language is the most fun? • Clojure? • Java? • Groovy? • Javascript? • Python? • Ruby? • Scala?

Slide 49

Slide 49

Which programming language is the most fun? • Clojure? • Java? • Groovy? • Javascript? • Python? • Ruby? • Scala? • Visual Basic?

Slide 50

Slide 50

Which programming language is the most fun? • Clojure? • Java? • Groovy? • Javascript? • Python? • Ruby? • Scala? • Visual Basic? • Swift?

Slide 51

Slide 51

Say … Making noise is kind of fun, isn’t it? @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 52

Slide 52

Why are most of our workplaces Not Fun?

Slide 53

Slide 53

The 1980/90’s Management Model Very hierarchical Control favoured over autonomy Technology seen as a cost centre

Slide 54

Slide 54

http://www.defenceimagery.mod.uk

Slide 55

Slide 55

Puritan confronts ale drinkers Howard Pyle

Slide 56

Slide 56

The value of Fun in the workplace

Slide 57

Slide 57

IBM Watson IoT Centre, Munich @holly_cummins

Slide 58

Slide 58

IBM IoT Lab, Munich

Slide 59

Slide 59

@holly_cummins

Slide 60

Slide 60

Research shows: Fun is good for business.

Slide 61

Slide 61

Research shows: Fun is good for business.

Slide 62

Slide 62

Research shows: Fun is good for business.

Slide 63

Slide 63

Research shows: Fun is good for business.

Slide 64

Slide 64

Studies have shown… Employee fun

Slide 65

Slide 65

Studies have shown… Employee fun

Slide 66

Slide 66

Studies have shown… Less sick leave Employee fun

Slide 67

Slide 67

Studies have shown… Less sick leave Employee fun Harder working

Slide 68

Slide 68

Studies have shown… Less sick leave Employee fun Harder working More productivity

Slide 69

Slide 69

https://hbr.org/2012/01/positive-intelligence

Slide 70

Slide 70

“Your brain at positive is 31% more productive than your brain at negative, neutral or stressed. ” https://hbr.org/2012/01/positive-intelligence

Slide 71

Slide 71

Slide 72

Slide 72

https://www2.warwick.ac.uk/fac/soc/economics/staff/eproto/workingpapers/happinessproductivity.pdf

Slide 73

Slide 73

“Individuals [who just watched a comedy video] have approximately 12% greater productivity.” https://www2.warwick.ac.uk/fac/soc/economics/staff/eproto/workingpapers/happinessproductivity.pdf

Slide 74

Slide 74

Your brain needs breaks. @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 75

Slide 75

Practical example: Everyone loves lego trains.

Slide 76

Slide 76

Info Support funded their employees’ lego trains.

Slide 77

Slide 77

Why? Good business. Thanks, @johanjanssen42!

Slide 78

Slide 78

How much fun can you expect to have? https://www.flickr.com/photos/paulesson/3065570366

Slide 79

Slide 79

How much fun can you expect to have? (Yes, this is a picture of lots of fungi. You’re welcome.) https://www.flickr.com/photos/paulesson/3065570366

Slide 80

Slide 80

Limits to Fun • No one likes working on things that aren’t valuable or useful. • So if you take that to its extreme, and only do activities if they’re fun and enjoyable, will that work? • Self-discipline is still needed.

Slide 81

Slide 81

Just because it’s fun, doesn’t mean it’s good.

Slide 82

Slide 82

Just because it’s fun, doesn’t mean it’s good.

Slide 83

Slide 83

“I love the smell of napalm in the morning …. smells like victory.” Bill Kilgore, Apocalypse Now

Slide 84

Slide 84

“I love the smell of napalm in the morning …. smells like victory.” Bill Kilgore, Apocalypse Now Is everyone having fun?

Slide 85

Slide 85

Slide 86

Slide 86

Fun. What could possibly go wrong?

Slide 87

Slide 87

Fun. What could possibly go wrong?

Slide 88

Slide 88

Fun. What could possibly go wrong? 2008: A developer had a lot of fun with Groovy.

Slide 89

Slide 89

Fun. What could possibly go wrong? 2008: A developer had a lot of fun with Groovy.

Slide 90

Slide 90

Fun. What could possibly go wrong? 2008: A developer had a lot of fun with Groovy. 2009: The others who had to maintain the code had less fun.

Slide 91

Slide 91

Enjoy fun. Responsibly.

Slide 92

Slide 92

_ How to achieve fun Warning: This is our context and our experience of Fun. Your workplace culture may be different.

Slide 93

Slide 93

A process being unfun is a red flag that it’s not adding value.

Slide 94

Slide 94

Step 1. Find un-fun things. Get rid of them. … because they’re probably waste.

Slide 95

Slide 95

Slide 96

Slide 96

Fun Not-Fun Programming Meetings Puzzles Mysteries Collaboration Criticism Just doing it Process/Ceremony Learning Repeating Designing Sizing Doing Status reporting Prototyping Hardening Interactions Interruptions Making a difference Being a cog

Slide 97

Slide 97

We can fix these. Fun Not-Fun Programming Meetings Puzzles Mysteries Collaboration Criticism Just doing it Process/Ceremony Learning Repeating Designing Sizing Doing Status reporting Prototyping Hardening Interactions Interruptions Making a difference Being a cog

Slide 98

Slide 98

We can fix these. Fun Not-Fun Programming Meetings Puzzles Mysteries Collaboration Criticism Just doing it Process/Ceremony Learning Repeating Designing Sizing Doing Status reporting Prototyping Hardening Interactions Interruptions Making a difference Being a cog Pair programming

Slide 99

Slide 99

We can fix these. Fun Not-Fun Programming Meetings Puzzles Mysteries Collaboration Criticism Just doing it Process/Ceremony Learning Repeating Designing Sizing Doing Status reporting Prototyping Hardening Interactions Interruptions Making a difference Being a cog Pair programming #noestimates

Slide 100

Slide 100

We can fix these. Streamlined process Fun Not-Fun Programming Meetings Puzzles Mysteries Collaboration Criticism Just doing it Process/Ceremony Learning Repeating Designing Sizing Doing Status reporting Prototyping Hardening Interactions Interruptions Making a difference Being a cog Pair programming #noestimates

Slide 101

Slide 101

We can fix these. Streamlined process Self-generating status Fun Not-Fun Programming Meetings Puzzles Mysteries Collaboration Criticism Just doing it Process/Ceremony Learning Repeating Designing Sizing Doing Status reporting Prototyping Hardening Interactions Interruptions Making a difference Being a cog Pair programming #noestimates

Slide 102

Slide 102

We can fix these. Streamlined process Self-generating status Fun Not-Fun Programming Meetings Puzzles Mysteries Collaboration Criticism Just doing it Process/Ceremony Learning Repeating Designing Sizing Doing Status reporting Prototyping Hardening Interactions Interruptions Making a difference Being a cog Pair programming #noestimates Protect peace

Slide 103

Slide 103

We can fix these. Findable documentation Streamlined process Self-generating status Fun Not-Fun Programming Meetings Puzzles Mysteries Collaboration Criticism Just doing it Process/Ceremony Learning Repeating Designing Sizing Doing Status reporting Prototyping Hardening Interactions Interruptions Making a difference Being a cog Pair programming #noestimates Protect peace

Slide 104

Slide 104

We can fix these. Findable documentation Streamlined process Self-generating status MVP Fun Not-Fun Programming Meetings Puzzles Mysteries Collaboration Criticism Just doing it Process/Ceremony Learning Repeating Designing Sizing Doing Status reporting Prototyping Hardening Interactions Interruptions Making a difference Being a cog Pair programming #noestimates Protect peace

Slide 105

Slide 105

We can fix these. Findable documentation Streamlined process Self-generating status MVP Fun Not-Fun Programming Meetings Puzzles Mysteries Collaboration Criticism Just doing it Process/Ceremony Learning Repeating Designing Sizing Doing Status reporting Prototyping Hardening Interactions Interruptions Making a difference Being a cog Pair programming #noestimates Protect peace Self-directed teams

Slide 106

Slide 106

We can fix these. Findable documentation Streamlined process Self-generating status MVP Fun Not-Fun Programming Meetings Puzzles Mysteries Collaboration Criticism Just doing it Process/Ceremony Learning Repeating Designing Sizing Doing Status reporting Prototyping Hardening Interactions Interruptions Making a difference Being a cog Pair programming #noestimates Automation Protect peace Self-directed teams

Slide 107

Slide 107

Make it easy for people to find the information they need to do their job. Find a good, indexable, solution. Use it.

Slide 108

Slide 108

@holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 109

Slide 109

@holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 110

Slide 110

Get rid of the stuff that stops us doing what we enjoy. @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 111

Slide 111

Get rid of the stuff that stops us doing what we enjoy. “We’re short staffed. You’re going to need to cancel all my meetings for a month so I can do programming.” @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 112

Slide 112

Get rid of the stuff that stops us doing what we enjoy. This worked! “We’re short staffed. You’re going to need to cancel all my meetings for a month so I can do programming.” @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 113

Slide 113

Interactions are fun. Interruptions are not.

Slide 114

Slide 114

Interactions are fun. Interruptions are not. Martijn promises me this is a hilarious in-joke if you’re British. Apparently.

Slide 115

Slide 115

Protect your coding time from meetings. “I’m sorry, since I’m pairprogramming, I can’t make that meeting.”

Slide 116

Slide 116

Pair programming

Slide 117

Slide 117

#noestimates Estimates are rarely accurate. Why bother?? @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 118

Slide 118

Prototyping versus hardening Can adding logging ever be fun? @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 119

Slide 119

Prototyping versus hardening Can adding logging ever be fun? Making a difference is fun. @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 120

Slide 120

Prototyping versus hardening Can adding logging ever be fun? Making a difference is fun. Having a prototype become real is fun. @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 121

Slide 121

Prototyping versus hardening Can adding logging ever be fun? Making a difference is fun. Having a prototype become real is fun. Add the logging when you know it actually matters. @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 122

Slide 122

“We don’t want to be the prototyping department.” — Head of Innovation, A-Client @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 123

Slide 123

Testing should not be part of the hardening phase. TDD is fun. @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 124

Slide 124

TDD

Slide 125

Slide 125

TDD

Slide 126

Slide 126

Automation Computers don’t expect to have fun (yet). Let them do the tedious tasks. Bonus: Automating stuff is fun (yay!).

Slide 127

Slide 127

Status for all to see. @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 128

Slide 128

Status for all to see. Keep stories small, so status is self-reporting. Daily stand-up. Keep it short. @holly_cummins http://ibm.biz/bluemixgaragelondon @holly_cummins @karianna

Slide 129

Slide 129

We all hate being told what to do. Usually, because we know it’s wrong. Let people make their own decisions.

Slide 130

Slide 130

Step 2: Add fun

Slide 131

Slide 131

Can I have a volunteer? … or two?

Slide 132

Slide 132

The exercise: Write down your partner’s father’s name.

Slide 133

Slide 133

The exercise: Write down your partner’s father’s name.

Slide 134

Slide 134

Slide 135

Slide 135

Slide 136

Slide 136

Wait, where’s the rigour?

Slide 137

Slide 137

Wait, where’s the rigour?

Slide 138

Slide 138

Wait, where’s the rigour? Write down your partner’s father’s name.

Slide 139

Slide 139

Wait, where’s the rigour? Write down your partner’s father’s name. We need QA on these letters. Show a draft of each letter to me, first.

Slide 140

Slide 140

Wait, where’s the rigour? Write down your partner’s father’s name. We need QA on these letters. Show a draft of each letter to me, first. Show each letter to the room, so we know what your progress is like.

Slide 141

Slide 141

Wait, where’s the rigour? Write down your partner’s father’s name. We need QA on these letters. Show a draft of each letter to me, first. Show each letter to the room, so we know what your progress is like.

Slide 142

Slide 142

What have we learned? • Status reporting and code reviews slow things down. • That was on an earlier slide, but we learned that better through a game :)

Slide 143

Slide 143

Children learn through play. Adults do too.

Slide 144

Slide 144

Slide 145

Slide 145

Play Exploration Work Games

Slide 146

Slide 146

Play: for its own sake Play Exploration investigation Exploration: Work a goal Work: Games a goal and rules Games:

Slide 147

Slide 147

Slide 148

Slide 148

Slide 149

Slide 149

Slide 150

Slide 150

TDD

Slide 151

Slide 151

Slide 152

Slide 152

Build gamification

Slide 153

Slide 153

Build gamification (Strictly speaking, productization of build gamification)

Slide 154

Slide 154

Build gamification can be pretty serious.

Slide 155

Slide 155

Slide 156

Slide 156

Play

Slide 157

Slide 157

Quirkiness

Slide 158

Slide 158

Slide 159

Slide 159

Slide 160

Slide 160

Slide 161

Slide 161

Slide 162

Slide 162

Images: shawcomputing.net, computerhistory.org

Slide 163

Slide 163

Images: shawcomputing.net, computerhistory.org

Slide 164

Slide 164

“Is ‘Gullible’ in the Dictionary?” Images: shawcomputing.net, computerhistory.org

Slide 165

Slide 165

Quirkiness How do a production-train slack-integration right:

Slide 166

Slide 166

_ Failing at Fun

Slide 167

Slide 167

What if you got paid to do something other people would pay to do?

Slide 168

Slide 168

Slide 169

Slide 169

No, not the best job in the world.

Slide 170

Slide 170

Slide 171

Slide 171

Slide 172

Slide 172

A layer of fun

Slide 173

Slide 173

A layer of fun … on top of a terrible workspace …

Slide 174

Slide 174

A layer of fun … on top of a terrible workspace … is still terrible.

Slide 175

Slide 175

31% of us dislike teambuilding activities. http://www.successfulmeetings.com/Strategy/Meeting-Strategies/When-Teambuilding-Fails/

Slide 176

Slide 176

31% of Americans dislike team-building activities. http://www.successfulmeetings.com/Strategy/Meeting-Strategies/When-Teambuilding-Fails/

Slide 177

Slide 177

How to ruin an office party? Take attendance.

Slide 178

Slide 178

_

Slide 179

Slide 179

_ Fun is important. Recap on achieving fun: 1. Get rid of un-fun things 2. Add fun things Doing 2. without 1. is going to fail.

Slide 180

Slide 180

Thank you! @holly_cummins Please rate this session in the J-Spring app #jspring