Thursday, May 25, 2006

I Skipped 3x5 Cards and Went Straight To PostIt Notes

Previously, I wrote "After all, isn't the fundamental reason for software the automation of manual processes? Why in the world should software developers ever have to resort to keeping track of things with 3x5 cards or spreadsheets".

In response, in a comment, someone anonymously responded: "Software is used to replace repedative(sic) manual processes. In practice the use use(sic) of cards works well. To be blunt if you havn't(sic) tried XP with cards you are not qualified to comment on thier(sic) suitability."

Anonymous, your first sentence seems to be a restatement/validation of my first sentence. If you are trying to make a different point, I missed it. As for the use of cards working well, they work well in comparison to what? I will of course agree that using cards is better than nothing. I tried that prior to using issue tracking. I will also agree that using cards is better than trying to keep it all straight in my head. I also tried that. Ok, you've got me on the actual use of actual 3x5 cards.

I have to admit that I have never used 3x5 cards to keep track of stories related to software development. Though I did use them to keep track of role-playing characters at one point. Hmm. But the whole time I was wishing that they were on my computer. And I did actually try that, but storing the info on tape cassette and trying to find the exact place on tape was just too much of a manual process. These days, role-playing games are on-line, in 3D, and globally distributed. Things change fast.

But I digress. So, I admit I never used 3x5 cards in software development. I skipped that technology and went right to post-it notes. I had actually been hoping to gloss over that period in my career, but now you've forced it out of me. And though I'm smiling as I write this, it is in fact true that I used post-it notes.

That was actually a very short-lived adventure when I was working on an early prototype of what later became AccuRev. Within weeks we had moved on to storing everything in a text file. Here's a snippet:

O --- M -- - special case of merging a defuncted element 4h
C 502 E D3 - be forgiving when principal is included in ws name

I don't remember the format any more, but the terse description was the "story" and there was usually an estimate, such as "4h" for 4 hours. Many of them even had bug numbers. It was primitive, but it was a big relief getting off of the post-it notes. At least with the text file we could send it around, make changes, do diff/merge, search, create scripts to do reports, etc. We even had a script that created a web page for remote viewing.

Of course it wasn't long after that we realized that we were writing yet another issue tracking system, so we installed a free one in a couple of hours, breathed another sigh of relief, and went back to working on our real goals.

In short, I suppose I can't comment on my experience using 3x5 cards. However, based on the application of logical thought to my above experience, I think I'll take a pass. Call me crazy for liking the ability to use powerful tools to edit, search, categorize, re-organize, report, track, manage, distribute, share, and do backups. Say that I'm too demanding to want to be able to do these things from my office, from an office on the other side of the building, from home, or from a remote site. That's fine with me. Just don't expect me to go back to post-it notes (or 3x5 cards) any time soon.

Here's another way to think about it. What sort of reaction would you get if you suggested to a user of whatever software that you produce that one of the new features they wanted would be implemented using 3x5 cards? What if you also suggested that they pay for that feature?

I'm not saying you should toss the 3x5 cards and shell out dough (though if you feel like it let me know :-) ). But for goodness sake at least use a text file, or Excel (or Open Office), or Bugzilla.


John J. Wall said...

I'll have to dig around, I know I have a macro somewhere that lets you print excel on cardstock so you can still generate the index cards you need. Great for RPGs too...

Anonymous said...

3X5 cards. Hmmmm. I dunno, I think you need to pick the right tool for the particular job at hand. 3X5 cards are a precursor to post-it notes. The upside of post-it notes is that you can encircle your display with them. The downside is that they're smaller (generally speaking) than 3X5 cards. In any case, both are only good for tactical issues like "remember to free that gob of memory I allocated and never used" or "fix the bug that makes the hard disk catch on fire." Anything that involves documenting something procedural at least needs a legal pad or a roll of paper towels so that you can actual see something of the logic and hierarchy being created - one needs lots-o-room for that. Come to think of it, maybe a software solution would be better. If only some company had the moxie to put a good one together . . .

Anonymous said...

I suppose one purpose of using cards might have been to break the mind set at the time, ie. use a big powerful tool to do it all.

Anonymous said...

Well, like most arrogant people you miss the sizable forest while bitching about the odd tree in your way. First of all, I challenge you to use your high tech gear when the power goes off, when a thought strikes you while taking a dump, when you wake up a 3 am with an idea, or when you simply want a fast way to take notes. Secondly, 3x5 cards allow you to organize information visually. So idea #2 can be placed to the left or right or idea #1 . . . or above or below . . . or underneath or on top. Sure, you can try doing that with software but it's not the same. The ability to actually see your thinking adds to your creativity.

Damon Poole said...

Anonymous, you've given me all sorts of ideas for a reply with your vivid imagery, including moving 3x5 cards by candle light during a power outage in the middle of the night while... ahem. But I shall resist the temptation.

Instead, let me just say that I have no problem with the use of 3x5 cards in general. Your example of moving cards around to spur thinking is a good one. I'm just saying that using them exclusively when there is a better solution available is sort of like saying to the consumers of whatever software that you personally produce that they would probably be better off acting as though we were in the stone ages keeping track of things using trinkets by firelight.

Note that I said "when there is a better solution available." Most of my point is that we need better solutions to be available so that people don't feel the need to resort to primitive tools. Part of that point was lost because it was actually in a previous post that included a mention of Rally, an Agile planning tool.

Since the time that I originally posted this, much has changed. The tools have gotten more numerous and better. Mingle has just been announced, etc. That said, I've also heard of folks moving off of Agile planning tools back to 3x5 cards. So, there's obviously still room for improvement.

Ethan Moore said...

Nice Article!!The cost of changes is very high in such circumstances as problems surface in later stages of the project. Scrum framework prevents the issues related to technical debt by ensuring that Done deliverables with Acceptance Criteria are defined as part of the Sprint Backlog and key tasks including development, testing, and documentation are done as part of the same Sprint and by the same Scrum Team.