nine_k: A stream of colors expanding from brain (Default)
[personal profile] nine_k
Some games are notoriously addictive. Can software development be, too?

An observation
Humans like their time structured. Addictiveness of games seems to stem from a system of tiered goals. A good game sports a full spectrum from split-second through medium-term to the extent of the entire game.

Examples
UFO and Diablo II are the two most addictive games I ever encountered.

In UFO, you have:
* Immediate aims: literally, where to aim and what to shoot.
* Short-term goals: eliminating alien guards, capturing top officers, etc.
* Medium-term goals: building your bases, advancing research, training your units.
* Long-term goals: building spacecraft, preparing your team for the final showdown.

In Diablo II, you similarly have:
* Immediate aims: fending off and attacking monsters in sight.
* Short-term goals: finding portals, handling shrines, sorting and crafting loot.
* Medium-term goals: advancing your level and shaping the skill tree.
* Long-term goals: defeating the chapter-end bosses.

The mechanism
You're aware of all kinds of goals. Every short-term action can bring you closer to a long-term goal. If a particular shorter-term goal isn't very enjoyable you're still driven by the bigger goals, you know why you need to get past it.

To the contrary, Tetris has mostly immediate goals, few short-term goals, and no strategic goals except getting to the high scores table. It's easy to abandon a game if it's getting boring, unless your score is really high.

Comparison to software development
At grunt level, a developer has a bugtracker full of immediate goals, maybe a bit of short-term goals like having things ready to the time of the next release, and usually no long-term goals. Longer-term goals are handled by managers and maybe some of team leads. Bigger goals exist, but are invisible to mere developers.

You can make a longer-term goal from a bug-quashing competition or a race for a feature, but I rarely saw such things set up, and setting up and further handling by a clueful person is required.

The catch
The lack of longer-term goals makes it easier to distract and procrastinate. There's no important medium-term thing to care about. The short-term things are of limited importance, unless it's a rare critical bug. You can't constantly pedal the longest-term issues, too: e.g. an employee which is afraid to be fired any day won't do much good, and is prone to fleeing.

Mitigation strategies
* The cherished 'startup spirit' is very much about goal transparency: everyone sees the entire product evolve and cares about a next release or another feature.
* XP's journey from a complete mockup to a completely live system also helps see what's next, and probably even why.
* More?

August 2011

S M T W T F S
 123456
78910111213
14151617 181920
21222324252627
28293031   

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags