I've had a love/hate relationship with index cards ever since Ward Cunningham and Kent Beck introduced me to them more than ten years ago. Let me tell you a few stories.
Organizing a Talk
For the hour or so before starting this article, I was preparing for a "Webinar" that I'll be doing for Microsoft. Basically, I need sixty to ninety minutes of slides, and ideas and words to back them up.
The talk is about test-driven development (TDD), so naturally I grabbed a card and wrote "TDD Talk" on the top of it. I wrote a second card that said "Test—Red," "Test—Green," and "10-Minute Cycle" on it. I drew a sketch of a test/refactoring cycle, hated the sketch, tore up the card. Drew it again, liked it better, tore it up again. Drew it a third time, pretty good. I kept it.
I took a mental step back and wrote two or three cards with headings I might want to talk about: "What is it?" "Benefits?" and "How do you do it?" I started on one card, then made a few more on that topic. If I got a distracting thought, I scribbled a note on a separate card, set that aside, and went back to work on the current card. Or, if I wanted to explore the distraction, I set the original card aside and wrote a few on the new idea.
In an hour, I had about thirty cards, each one with a picture, a few bullets, or a topic I knew I could expand on as I built the real slides. I pushed the cards around, arranging them into piles representing the flow of the talk. Then, bored and a bit drained, I stacked them up to start this article.
A few days later, I picked up the stack of cards, laid them back out on the table, wrote a few more, and created some high-level cards representing stages in the talk. After a half-hour, I was ready to create the slides, which I did when I got back home. From zero to an organized talk in ninety minutes. I love that.
Or a Book
When Ann Anderson, Chet Hendrickson, and I were writing Extreme Programming Installed, we had finished many chapters when we decided that we had the wrong organization. We took some cards and wrote a chapter name and a sentence giving the point of the chapter on each one. We arranged the cards on my kitchen table, considering all the different ways we could organize them. We wrote new cards that represented missing ideas for new chapters. We identified chapters that needed to be split, and so on. In a morning, we were able to visualize the whole book, figure out what needed to be done, and divide up the work. (They made me do most of it.)
This example points to an almost magical power of the cards—they help us to collaborate. If Ann, Chet, and I had been working with a notebook (or three), we couldn't have had the same shared picture. With a whiteboard or a screen, someone always has to hold the chalk or control the keyboard. With cards, we're all peers. We each can grab a card at any time, write on it, and lay it on the table. We each can move cards around, point at them, and touch them.
Ward Cunningham first pointed out a fascinating card effect to me. Often, when a group is arranging cards on the table, people will start pointing to and tapping an empty space on the table. They call it "something in here," or "this thing," or "this guy." They don’t know yet what it is or what to call it, but they all know that there's an idea there, trying to take shape. Finally, someone names it, makes a card, and everyone feels the tension release—“something” has been discovered, given a name, and a place to be.
That happened to us as we arranged the book chapters. We'd have a section for customer things, a section for programmer things, and so on. But there would be a gap on the table, and finally we would figure out what needed to go there. From a disorganized book to a good organization and some new chapter ideas in half a day. I love that.
Releasing a Product
I'm working with a client team that has begun to use cards for story planning. Team members bring the cards into the planning room, talk about them, post them on the walls, mark them as done, and so on. You can observe some very nice team dynamics. One of the groups has the cards posted in the hallway, and this has become a gathering place for the team to chat and check on how things are going. The cards often have an interesting social effect like this, and it's good to see it happen.
But on a recent visit to this same client site, something far more wonderful happened. They use business analysts to write the stories and guide the project. The BAs are there to provide the details—the overall strategy and product definition is up to marketing. On this occasion, the BA had written lots of good stories for the product, far more, we all feared, than could be done by the deadline. It was time to get together with marketing and figure out a release.
The BA laid all his cards on the table. (I love saying that.) The marketing people swept into the room and looked at the situation briefly. Then, the product owner said that he thought we should have a beta test with such and such a client on such and such a date. The BA blanched—he knew there was no way to do all that by the deadline.
But the product owner went over to the table and, speaking to his crony, started moving cards around. "The client doesn't use this," he said, moving those cards down to the bottom edge of the table. "But they care about this," he said, moving those cards up. Right across the table he went, pushing important cards to the top of the table, pulling unimportant ones down to the bottom. In a matter of minutes, explaining his decisions as he went, the product owner separated the release into Must Have and Don’t Need.
Defining a product release in an hour. I love that.
Did You Say "Love/Hate"?
Yes, I did. Now, don’t get me wrong, the cards are magic. Far beyond any effect you'd think they could have, they help people organize and communicate. Still, there is something I hate about them. For instance, I have some cards in my pocket right now. They have my name and logo and email on them, so they are even pretty cool. I use them in all kinds of ways, like those above, to help people communicate ideas in a group and to jot down and organize the things I’m thinking about.
What's wrong with that? Well, when the cards turn into a product like my slides, I throw them away. Or, when they turn into a book, I toss them out. But there are all those other cards, written as part of an idea for a program or a book not yet written. I can’t throw those away.
I've got a million of ’em. I hate that.