Using time wisely
• Chris Liscio
• Chris Liscio
Picture this scene: You get home from work, eat dinner, and sit down at your machine. At best, you have an hour to spend working on your part-time software endeavor. </p> <p> What do you do? </p> <p> Here's my answer: I fix bugs. More specifically, I fix the bugs that I know will only take me 10-20 minutes to correct.1 These bugs range from actual defects in the software (easily reproducible crashes, malformed data, etc) to behavioral deficiencies ("remove the calibration button from the main window", or "the save file dialog should be a sheet, and not a seperate window"). </p> <p> If I sit down at the keyboard with zarro boogs in the bugzilla database, then the job changes. I replace the task of fixing bugs with finding bugs. It doesn't take very long before banging on your software will produce some entries in your bug database. Dedicating a half an hour to an hour of solid QA work on a regular basis will pay itself off with a wide variety of issues you should look into. Once you get to the point where an hour doesn't yield any bugs (or feature additions), it's probably time to release. ;) </p> <p> What I've noticed so far, is that when I plan to spend an hour fixing one (or if I'm ambitious, two) bugs during that session, I often end up fixing those bugs much more quickly than if I dedicated a half a day to the same bugs. My mind appears to understand the constraint that these tasks must be completed in a limited time, and it seems to go into warp speed as a result. This is not hurried development, either. I actually perform more productively than when I give myself more time to work on the project.2 </p> <p> Furthermore, working on these notoriously menial tasks is far more productive than doing nothing. I can remember a time when I would sit down at my machine and get frustrated with the fact that I couldn't add a new feature in the limited time I had to work on the project. That would result in deviating from working on the project entirely and doing something else. That is probably one of the many reasons why most of my past projects have not gone very far, and you have likely never heard of them. Taking these small steps towards a greater goal will eventually add up to achieving the goal. </p> <p> I'm sure there are probably other factors that could contribute to this accelerated productivity I am experiencing in the limited chunks of time that I have. Some people procrastinate for similar reasons, claiming they "work well under pressure". I think I sometimes fall into that train of thought, but I am trying to cultivate that behavior for this project and make it work for me. Hopefully I can keep it up long enough to get a good portfolio of (solid, maybe defect-free) software out in the wild. </p> <p> 1These types of bugs are often called LowHangingFruit.
2See Steve Pavlina's well-written article for a similar anecdote, and a more in-depth discussion of increasing productivity. </p>