Sunday, June 8, 2014

Are we Having Fun Yet?

Lately, I’ve been reading Reality is Broken by Jane McGonigal. This book is an exploration of the role games play in our lives, how they make us better, and how games might help us improve the world. She has a powerful thesis, and some of the things she says resonates deeply.
 

In the opening chapters of her book, she illustrates how games can provide more meaningful work, and then follows it up with a chapter called “Fun Failure and Better Odds of Success”.

In that chapter, McGonigal lays out the position that games offer us overwhelming opportunities to fail repeatedly, but in a fun way. Whether it is avoiding barrels tossed by a gorilla, shooting at alien spaceships, or killing orcs and goblins, we typically only succeed after failing multiple times. It is obviously fun to fail at these games, because most of us don’t walk away from the game after we have failed once or twice. Instead, we start the level over and try again. It is this fun failure that gives us an “urgent optimism” that we are almost ready to conquer the level.

Be honest: how many late nights have you put in on Halo, Call of Duty, WoW, Tetris, or Candy Crush Saga saying, “Just one more level!”?
 

Fun failure, indeed.
 

But while the concept of “fun failure” is fine in a game, it certainly doesn’t reflect reality for those of us in the Support trenches. Except for the failure part, because sometimes it seems like we’ve got failure down pat. This is especially true when we have an intractable issue that defies logic, or when an issue keeps cropping up in the field and we can’t duplicate it in our debugging environments.
 

That’s because real life is difficult, reality is tough.
 

Right now, I’m working on an issue that is a dark shade of ugly. It is like one of those old maps that shows the known world and seas, and then near the edge of the map is a coastline followed by the legend, “Here there be dragons.”
 

This code that I’m trying to fix is miles inland from that warning. I’m so far into the dragon-scape that I can’t even tell you in which direction the coastline lies.
 

It is a whole lot of failure and even less fun. I’ve tried to refactor this code at least twice, and failed to make headway. Here there be dragons, and the dragons be winning. I have to admit that being unable to slay this dragon made me pretty demoralized.
 

But then I read this nugget from McGonigal:
Learning to stay urgently optimistic in the face of failure is an important emotional strength that we can learn in games and apply in our real lives. When we’re energized by failure, we develop emotional stamina. And emotional stamina makes it possible for us to hang in longer, to do much harder work, and to tackle more complex challenges. We need this kind of optimism in order to thrive as human beings.1
Getting energized by failure is a difficult concept to grasp, and as I reflected on how I might get energized by my current dragon-battle, I wondered what would happen if I adopted McGonigal at face value. That is, if games are fun and teach us how to have fun while failing, then what would happen if I turned my support efforts into a game? Instead of being demoralized by a seemingly invincible dragon, what if I was just facing a super-difficult Boss Level?
 

Just the simple change in my attitude has already given me hope. I know I can beat this level; it’s just a matter of time. I’ve taken a fresh look at the battlefield, reconnoitering the dragon’s landscape with a more critical eye. I’ve started mapping the dungeon, listing all the intertwined business rules that are driving the complexity of the code I have to fix.
 

Rather than driving me back and beating me down, my previous attempts — and failures — have become an integral weapon in my arsenal. I know what doesn’t work, and more importantly, I know where the dragon is likely to be lurking.
 

McGonigal is certainly right when she says that urgent optimism in the face of failure can be energizing.
 

A week ago, I was responsible for supporting 60 or so content editors in a content management system containing tens of thousands of content items, fixing bugs and adding features to a burgeoning legacy system with business rules that get more complex with every passing day.
 

But this past week? This past week I was playing an MMORPG with 60 or so other players. Within the game’s landscape there are tens of thousands creatures, mostly benign, but each of those creatures has the ability to become a problem overnight. Every passing day, new challenges arise as the game’s owners — my client —toss new business rules into the mix.
 

Last Friday was a pretty good day in my new game and I was able to complete two major quests. The first was “The Case of the Untranslated Zombie Documents”, and the second quest was “Why Does this Functionality Break in Internet Explorer 10?”.
 

The root cause in the second quest turned out to be caused by the change to the User Agent string reported by Internet Explorer. It turns out that the CMS we use is looking for “MSIE” in the navigator.userAgent string. However, with IE 10 and later, the User Agent string no longer contains “MSIE”; instead, it reports “Trident” (among other strings).
 

In that particular quest, I found the reason why the functionality broke, but I don’t have a fix for it yet. But, now that I know the root cause, fixing it is just a matter of time before I finish the quest and can move on to new challenges. No matter what happens, I can’t wait to get back to my game tomorrow.
 

I’m having fun at my job once again. Are you?
 

What support battles are you facing? Can you change your thinking and make it a game?

Support and Maintenance can seem like an epic battle, but it is a battle we can win.
 

Let’s start Winning Support!

_____________
1 Jane McGonigal, Reality is Broken (New York: The Penguin Press, 2011), 69.