March 30, 2011
development

Card Shark

Atom Zombie Smasher was recently released on Steam.  As a result of that, my backlog of feature requests and bug reports has shot up by a bajoolion percent.  I thought I’d take a minute to breathe and talk about how I handled task management.

This picture shows the ancient technique used on Flotilla and Air Forte: index cards and a pink tissue box.

What powers this infernal machine? Here’s how it works:

  • When I think of a new task or notice a bug, I write it on an index card. Example: “Make walk animation.”
  • The card is placed next to its friends on my heater.
  • When I need something to do, I take a look and decide which card to tackle.
  • When I complete the task, I toss it into the tissue box.

 

That’s it. You might be thinking, “Wait a minute! That’s nothing more than a to-do list. I’ve been hoodwinked!”  To which I answer: you’re not that far off.  Though, I did end up ultimately preferring the index cards over a traditional list, for reasons I’ll get into later.

For reference’s sake, here’s the size of the final deck from Flotilla:

For those playing at home: the top card reads, “Only start skirmish if all players have ships.”  At some point, Flotilla had a bug where a player could start a skirmish battle with no ships in his fleet. This resulted in extremely brief battles.

(For Lean and Agile development fans: if you squint really, really, really hard, you’ll find this was all very loosely inspired by the Kanban board technique, which we used to great effect at Pandemic. If you have a medium-to-big team, do investigate it.)

The Age of Notepad.exe

For Atom Zombie Smasher, I decided to go a different direction and used notepad.exe to keep track of all my tasks.  Here’s how that text file ended up: click here to read it

I wrote tasks down, and when I completed them I appended “XXXXXX” in front of them; the equivalent of throwing them into the tissue box.  I assumed it would be a 21st century digital version of my index cards. But I felt it didn’t work out nearly as well.

For one, just take a look at the file.  It looks like someone barfed out letter soup.  There are code snippets, crash logs, half-baked sentences.  I fell prey to using this file as a junk drawer.

On Analog

Something has to be said about analog vs. digital.  I was fortunate to have once edited a film project on a musty old Moviola flatbed machine.  By this time, digital editing was the norm, so getting to use this ancient analog metal beast was a rare treat.

The room smelled like wet dog and sawdust. Absolutely everything was time-consuming.  And I loved it.  I loved splicing the film and threading it through the tiny wheels.  What I loved most was that it forced you to think about every decision.  Are you sure you want to make that cut?  Making a splice takes time.  I think what you really want is to move the cut there instead.

That cut was probably also a wrong decision, but damn did it force you learn the hard way.  You had to make sure something was worth your time.

That thoughtfulness was what my .txt file lacked.  It was too effortless to throw random crap into it.  As a result, its signal to noise ratio was  terrible. When I needed to find a new task, I had to wade through a lot of things that honestly shouldn’t even be there.  Granted, this is probably just my own shortcoming; I’m sure you’ll fare much better!

Distinguishing features I liked about having index cards:

  • It’s a physical object. When the index cards start snaking their way across my living room floor, I immediately know something has gone awry.
  • I find it easier to visualize the relationship between all the cards – dependencies, importance, etc. It encourages you to touch ’em & move ’em around.
  • It’s surprisingly effective at rooting out the stupid. Taking the time to uncap a pen and write on a card requires just enough commitment to block out most half-baked ideas.

 

And really – the ritual of throwing a completed index card into a pink tissue box is way more satisfying than it should be.

7 Comments

  1. AlexAlex  
    March 30th, 2011
    REPLY))

  2. Such a great system!

    Where would be the best place to obtain my own pink tissue box?

    1F

  3. muunleitmuunleit  
    March 30th, 2011
    REPLY))

  4. Maybe a mindmapping-tool would help, too (http://freemind.sourceforge.net/wiki/index.php/Main_Page)

    2F

  5. LucasLucas  
    March 30th, 2011
    REPLY))

  6. I like your argument for using physical cards. That said, your card system seems very similar to that of https://www.pivotaltracker.com/. While not physical, it does seem like a closer analog of your cards than keeping notes in Notepad. Further, its interface subtly encourages brevity and specific uses that, as you’ve noted, Notepad seems to ignore or even work against.

    Aside: Notepad may feel lightweight, but that program really just offloads a lot onto the user. Tools that are not nearly as light (Notepad++, TextMate) can make the actual work we use them for easier, while being larger, more complicated. Of course, there’s a point at which the tool’s complication increases the effort necessary to use and learn the tool, without adding as much back to getting things done (Word, and for many sorts of programming, IDEs like Eclipse and Visual Studio).

    3F

  7. RadiatoryangRadiatoryang  
    March 30th, 2011
    REPLY))

  8. DIE VERGELTUNG!

    4F

  9. StevenSteven  
    March 30th, 2011
    REPLY))

  10. @muunleit : how great all those tools are, most of the time they just consume too mucht time drawing it all, I really love my whiteboard, foor this stuff, you can draw what you want and i’s pretty fast, afterwards just take a picture of it

    Anyways, I love this article, as a programmer myself I love to see the insides of processes like this. On my work we use a giant whiteboard with the whole program structure laid out for a quick visual guide. Apart from that we use a fancy ticketing system tied in together with SVN.
    Now, this is probably to fancy for a one-man powerhouse like you. I love the simplicity of the cards. And that physical aspect can really help a lot, you can rearaange stuff and whatever. Maybe you can work with more boxes, or colors to push it up notch, but I always liked simplicity. That’s why I really like the GitHub Issue tracker, very simple, though I do miss some features. But for my own fun projects, it’s good enough.
    But that textfile approach was just horrible 😀 Used to to this bit my file got too big as well, it just takes too much time to manage in comparison to what you really get out of it.

    And the other thing I can recommend is using a whiteboard for global structure (I work pretty visual so a schematic helps me a lot faster than words) and/or problem solving.

    Good luck with your future projects and hopefully we can see some insights like this 😉

    Steven
    – steven.rkm_AT_gmail.com

    5F

  11. BrendonBrendon  
    March 30th, 2011
    REPLY))

  12. @Lucas – that’s a good find! Definitely looks like it accomplishes what my cards aim to do.

    @Steven – I love whiteboards. A little picture can really describe so much. I used to always carry around a pen & legal pad just for the rare off-chance I had to visit someone who didn’t have a whiteboard.

    @Alex – fyi I once briefly tried a grey-green tissue box and was appalled by its performance.

    6F

  13. LucasLucas  
    March 31st, 2011
    REPLY))

  14. @Steven, I agree with you that GitHub’s Issue Tracker is less than ideal. It ties issues (already a much less flexible term than “story” or “card”) too closely with code. I mean, many stories ultimately take form in file changes, but that’s not necessarily true for all stories. It also cuts out anyone that isn’t working directly with the code: a designer or stakeholder that isn’t pushing C or working in Photoshop.

    I think that having the issues/stories/features on cards (limited space; less cut-and-paste) and outside of a repository (as tied to the code as they need be) are valuable aspects of this system. (Of course, statements like that are only as true as they are in practice.)

    7F