2008-07-29

Small steps

Working on an open source project is difficult, even for a professional programmer. My natural inclination is to immerse myself in a project and not to check in my code until large pieces of functionality are in place. But unlike my real job, I rarely find that I can spend more than an hour or two at a time to working on my open source projects. Consequently, I used to leave partially changed files around waiting for some free time when I could get around to finishing them. Sometimes when I am especially busy, I cannot resume my work for several weeks and then may have some difficulty remembering where I was.

Lately I have begun to work in smaller increments. I have been making smaller changes that can be made quickly and checked in without breaking any of my existing functionality or unit tests. Sometimes these steps are in the right direction, sometimes not, but at least I am no longer leaving my project in an inconsistent state. It also allows me to make progress I can measure even if I know I can only spend time in small increments.