Why ask Why?

Asking questions of yourself and your development process is a very effective and integral part of making good software. I just spent the early morning eating my ritual breakfast of Panera coffee and pastries and I usually bring my (paper)notebook with me to brainstorm and plan my development for the day. I should buy stock in panera.    These mornings are to my project what sleep is to Humans. It helps us index the events of the previous day and helps us prepare for the day to come.

Today, I had a plan to implement many of my doctests into unittests with the Python unittest framework, but got sidetracked… to my delight.  Re-reading some of my notes, I got the urge to ask ‘Why?’   The new year’s weekend had given me sufficient pause to make my notes unfamiliar so I took advantage.  At the end my inquisition I was able to get rid of at least 3 features that were either redundant or not relevant to the project.

“Why do I need this menu?”

“Why is this button here?”

“Why the HELL did I think THAT was a good idea??!@!one”

I think this is the beauty of having a paper journal or notebook for a programming project. You can easily flip through and see early drawings and notes in the margins (or took up the whole page). Even in undergrad I got into the habit of carrying one of those marbled-cover bound paper notebooks (you know, the ones you see hipsters with in Starbucks).  I admit that I am contributing to this image,  but paper notebooks offer portability that no electronic device could.  You don’t have to charge them and can whip them out and draw pictures at any time (I was actually designing software in the lobby of my old employer while I was awaiting the resignation formalities).

Even if you don’t have a formal bug tracking system (Sheesh, I need to do that) and even if you work on a large, multi-engineer project,  I strongly advise having a paper notebook you can carry around. It will at least give you an excuse to monopolize a comfy chair at S-bucks.

Tags: , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s


%d bloggers like this: