A presentation at Devoxx Belgium in in Antwerp, Belgium by Holly Cummins
A Software Developer’s Guide to FUN in the workplace Holly Cummins @holly_cummins Martijn Verburg @karianna
I’m from IBM’s Cloud Garage.
I’m from IBM’s Cloud Garage. (we are hiring, by the way …)
Is this a fun talk?
Is this a fun talk? No. It’s a talk about fun.
Is this a fun talk? No. It’s a talk about fun. That’s different.
Is this a fun talk? No. It’s a talk about fun. That’s different. Obviously.
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 /* Discover. Collaborate. Deploy. */ @karianna
Let’s talk about your career.
“Dear Boss, you need to send me to Devoxx so I can go to the session on…. FUN.” @holly_cummins http://ibm.biz/bluemixgaragelondon /* Discover. Collaborate. Deploy. */ @karianna
“Dear Boss, you need to send me to Devoxx so I can go to the session on…. FUN.” @holly_cummins http://ibm.biz/bluemixgaragelondon /* Discover. Collaborate. Deploy. */ @karianna
Are you brave enough? , Having fun at work @holly_cummins http://ibm.biz/bluemixgaragelondon /* Discover. Collaborate. Deploy. */ @karianna
Are you brave enough? I’m not :) @holly_cummins http://ibm.biz/bluemixgaragelondon /* Discover. Collaborate. Deploy. */ @karianna
Wait. Where’s “fun-loving”?
Wait. Where’s “fun-loving”? We keep fun a secret.
What is Fun?
A Fun Guy. (Remember, fun means jokes.)
“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
Aside: When is fun notfun?
Aside: When is fun notfun?
Aside: When is fun notfun? When it’s your job.
Things that are Fun
Things that are Fun Something novel
Things that are Fun Something novel Doing something you’re good at
Things that are Fun Something novel Completing a task Doing something you’re good at
Things that are Fun Something novel Completing a task Getting fast feedback Doing something you’re good at
Things that are Fun Something novel Completing a task Getting fast feedback Creating something new Doing something you’re good at
Things that are Fun Something novel Fixing something old Completing a task Getting fast feedback Creating something new Doing something you’re good at
Fun
Fun
The Psychology of Fun The brain has pleasure centres which are triggered when you do something fun.
How do you measure fun? Excerpted from Elise M. Woolley, B.S., Fun: An Exploration in its Relevance to Interaction Design
That was called the Funtinuum.
That was called the Funtinuum. If you remember just one thing from this talk …
Programming is fun.
Programming gives pleasure to both types of thinkers: • Creative • Logical
We get to control stuff when we program.
Which programming language is the most fun?
• Which programming language is the most fun? Go?
Which programming language is the most fun? • Go? • Java?
Which programming language is the most fun? • Go? • Java? • Kotlin?
Which programming language is the most fun? • Go? • Java? • Kotlin? • Javascript?
Which programming language is the most fun? • Go? • Java? • Kotlin? • Javascript? • Python?
Which programming language is the most fun? • Go? • Java? • Kotlin? • Javascript? • Python? • Visual Basic?
Which programming language is the most fun? • Go? • Java? • Kotlin? • Javascript? • Python? • Visual Basic? • Swift?
Say … Making noise is kind of fun, isn’t it? @holly_cummins http://ibm.biz/bluemixgaragelondon /* Discover. Collaborate. Deploy. */ @karianna
Why are most of our workplaces Not Fun?
The 1980/90’s Management Model Very hierarchical Control favoured over autonomy Technology seen as a cost centre
http://www.defenceimagery.mod.uk
Puritan confronts ale drinkers Howard Pyle
The value of Fun in the workplace
IBM Watson IoT Centre, Munich @holly_cummins
IBM IoT Lab, Munich
@holly_cummins
Research shows: Fun is good for business.
Research shows: Fun is good for business.
Research shows: Fun is good for business.
Research shows: Fun is good for business.
Studies have shown… Employee fun
Studies have shown… Employee fun
Studies have shown… Less sick leave Employee fun
Studies have shown… Less sick leave Employee fun Harder working
Studies have shown… Less sick leave Employee fun Harder working More productivity
https://hbr.org/2012/01/positive-intelligence
“Your brain at positive is 31% more productive than your brain at negative, neutral or stressed. ” https://hbr.org/2012/01/positive-intelligence
https://www2.warwick.ac.uk/fac/soc/economics/staff/eproto/workingpapers/happinessproductivity.pdf
“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
Your brain needs breaks. @holly_cummins http://ibm.biz/bluemixgaragelondon /* Discover. Collaborate. Deploy. */ @karianna
Practical example: Everyone loves lego trains.
Info Support funded their employees’ lego trains.
Why? Good business. Thanks, @johanjanssen42!
How much fun can you expect to have? https://www.flickr.com/photos/paulesson/3065570366
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
• 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? • Limits to Fun Self-discipline is still needed.
Just because it’s fun, doesn’t mean it’s good.
Just because it’s fun, doesn’t mean it’s good.
“I love the smell of napalm in the morning …. smells like victory.” Bill Kilgore, Apocalypse Now
“I love the smell of napalm in the morning …. smells like victory.” Bill Kilgore, Apocalypse Now Is everyone having fun?
Fun. What could possibly go wrong?
Fun. What could possibly go wrong?
Fun. What could possibly go wrong? 2008: A developer had a lot of fun with Groovy.
Fun. What could possibly go wrong? 2008: A developer had a lot of fun with Groovy.
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.
Enjoy fun. Responsibly.
_ How to achieve fun Warning: This is our context and our experience of Fun. Your workplace culture may be different.
Step 1. Find un-fun things. Get rid of them.
Step 0. Stop prohibiting fun. Obviously.
“Please stop sending emails telling people you are sharing cake.”
“If you’re in the office after 5:30, you need to be doing work.”
A process being unfun is a red flag that it’s not adding value.
Step 1. Find un-fun things. Get rid of them. … because they’re probably waste.
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
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
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
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
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
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
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
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
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
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
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
Make it easy for people to find the information they need to do their job. Find a good, indexable, solution. Use it.
@holly_cummins http://ibm.biz/bluemixgaragelondon /* Discover. Collaborate. Deploy. */ @karianna
@holly_cummins http://ibm.biz/bluemixgaragelondon /* Discover. Collaborate. Deploy. */ @karianna
Get rid of the stuff that stops us doing what we enjoy. @holly_cummins http://ibm.biz/bluemixgaragelondon /* Discover. Collaborate. Deploy. */ @karianna
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 /* Discover. Collaborate. Deploy. */ @karianna
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 /* Discover. Collaborate. Deploy. */ @karianna
Interactions are fun. Interruptions are not.
Protect your coding time from meetings. “I’m sorry, since I’m pairprogramming, I can’t make that meeting.”
Pair programming
#noestimates Estimates are rarely accurate. Why bother?? @holly_cummins http://ibm.biz/bluemixgaragelondon /* Discover. Collaborate. Deploy. */ @karianna
Prototyping versus hardening Can adding logging ever be fun? @holly_cummins http://ibm.biz/bluemixgaragelondon /* Discover. Collaborate. Deploy. */ @karianna
Prototyping versus hardening Can adding logging ever be fun? Making a difference is fun. @holly_cummins http://ibm.biz/bluemixgaragelondon /* Discover. Collaborate. Deploy. */ @karianna
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 /* Discover. Collaborate. Deploy. */ @karianna
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 /* Discover. Collaborate. Deploy. */ @karianna
” W e d o n’ t w a n t t o b e t h e prototyping department.” — Head of Innovation, A-Client @holly_cummins http://ibm.biz/bluemixgaragelondon /* Discover. Collaborate. Deploy. */ @karianna
Testing should not be part of the hardening phase. TDD is fun. @holly_cummins http://ibm.biz/bluemixgaragelondon /* Discover. Collaborate. Deploy. */ @karianna
TDD
TDD
Automation Computers don’t expect to have fun (yet). Let them do the tedious tasks. Bonus: Automating stuff is fun (yay!).
Status for all to see. @holly_cummins http://ibm.biz/bluemixgaragelondon /* Discover. Collaborate. Deploy. */ @karianna
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 /* Discover. Collaborate. Deploy. */ @karianna
We all hate being told what to do. Usually, because we know it’s wrong. Let people make their own decisions.
Step 2: Add fun
Children learn through play. Adults do too.
Play Exploration Work Games
Play: for its own sake Play Exploration investigation Exploration: Work a goal Work: Games a goal and rules Games:
TDD
Build gamification
Build gamification (Strictly speaking, productization of build gamification)
Build gamification can be pretty serious.
Play
Quirkiness
Images: shawcomputing.net, computerhistory.org
Images: shawcomputing.net, computerhistory.org
Images: shawcomputing.net, computerhistory.org
“Is ‘Gullible’ in the Dictionary?” Images: shawcomputing.net, computerhistory.org
Quirkiness How do a production-train slack-integration right:
_ Failing at Fun
31% of us dislike teambuilding activities. http://www.successfulmeetings.com/Strategy/Meeting-Strategies/When-Teambuilding-Fails/
Making people do something they didn’t even want to do … great fun. http://www.successfulmeetings.com/Strategy/Meeting-Strategies/When-Teambuilding-Fails/
How do you know you’re having fun if you’re not measuring it? http://www.successfulmeetings.com/Strategy/Meeting-Strategies/When-Teambuilding-Fails/
How to ruin an office party? Take attendance.
Failing at Fun Forgetting to fix the other stuff.
A layer of fun
A layer of fun … on top of a terrible workspace …
A layer of fun … on top of a terrible workspace … is still terrible.
What if you got paid to do something other people would pay to do?
No, not the best job in the world.
Failing at Fun The gap between theory and reality
_
_ 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.
Any questions?
An in-depth look at what makes software development a roller coaster where the highs of 0 compiler warnings are quickly cancelled out by the pain of long hours, bad requirements, endless configuration, clueless managers and a plethora of other issues which make death by a thousand cuts seem like a good idea…. They will answer questions such as: “Why is programming often called an art despite having its underpinnings in formal logic?” “How can I rediscover the delight I felt when I first started coding?” “What’s that rush I feel when my test passes? Am I addicted to TDD?” Combining Psychology, Philosophy and Computer Science, Dr Holly Cummins and Martijn Verburg will present a series of practical tips to help you rediscover the euphoria that you felt the very first time a metal box in front of you came to life and cried out “Hello World”.
Here’s what was said about this presentation on social media.
Thanks #Devoxx-goers for voting my talks #5 and #28 (it was a busy conference for me :) ). So glad this wonderful community enjoyed them 💜 https://t.co/hxDXWBu6sm
— Holly Cummins (@holly_cummins) November 19, 2018
Session on FUN by @holly_cummins fully packed. Nice to see so many people interested @Devoxx pic.twitter.com/Y6Vpyc5L6v
— Stijn Van den Enden (@stieno) November 16, 2018
"Telling people what to do, then calling it fun is just...not."
— Dan Allen (@mojavelinux) November 16, 2018
— @holly_cummins #Devoxx
"oh, and btw, don't take attendance at an office party"
Next up @holly_cummins talking about fun in the workplace! #devoxx #room9 still some seats available!! pic.twitter.com/RQt9RwECxA
— Markus Eisele (@myfear) November 16, 2018
New carreer objective: become Chief Fun Officer. @holly_cummins at #devoxx pic.twitter.com/Wpn2PYBtxA
— Jaap Coomans (@JaapCoomans) November 16, 2018
Just had a lot of fun with @holly_cummins at #Devoxx. Good thing @Lifeatordinabe is already doing things right.
— TimDG (@TimDG) November 16, 2018
Fun fun fun #Devoxx #repeatafterme #highfive #bananasuit #contexttobeadded @holly_cummins pic.twitter.com/W6xjnhIT9i
— Johan Van Roste 💼 & 🎮 (@JohanVanRoste) November 16, 2018
Great talk at @Devoxx about 'the importance of fun in the workplace' by @holly_cummins. Happy to work for @AE_NV as they certainly know what fun at work is
— Glenn Dejaeger (@glenndejaeger) November 16, 2018
#fun is a serious matter this morning @devoxx with @holly_cummins. Room 9 is already packed of funny people. #devoxx #lunatechlabs #matrics #bananacostume pic.twitter.com/LtP185chmE
— Antoine Laffez (@LaffezAntoine) November 16, 2018
Ready for some fun! @holly_cummins on the importance of fun in the workplace #Devoxx pic.twitter.com/hk9u0woljc
— Jonas Koperdraat (@JonasKoperdraat) November 16, 2018
Fun at work #devoxx with @holly_cummins !!! The way I always work!!! pic.twitter.com/vquOt79Igu
— jby43 (@jby43) November 16, 2018
@holly_cummins Thanks for the entertaining morning talk at devoxx. Fun is serious business indeed.
— Stijn Dejongh (@iamDoji) November 16, 2018
How to have #Fun (Part 1) by @holly_cummins 😉 #Devoxx pic.twitter.com/NpcDvHBYSu
— Alasdair Collinson (@blalasaadri) November 16, 2018
Why should you invest in FUN? Stepping back helps; your brain needs breaks. @holly_cummins #Devoxx pic.twitter.com/ywb76jCgMf
— Stijn Van den Enden (@stieno) November 16, 2018
If a process is un-fun, it's probably not adding value - @holly_cummins at #Devoxx
— Ian Robertson (@nainostrebor) November 16, 2018
Thnx for the 'not fun' #fun talk @holly_cummins #Devoxx
— Thijs (@thyzzv) November 16, 2018
@holly_cummins is a professional fun haver #Devoxx
— Koen Vastmans (@Koen_V) November 16, 2018