As some of you may know, I spend a large portion of my time contracting with a specific client. The rest of my time, I spend doing operations things, and trying to develop and promote my products, Overseer Network Monitor and Employee Scheduling Pro. The time demands of my primary contract, along with personal time demands, sometimes leaves me very little time to develop and/or promote my products. It can be quite frustrating at times. In the past 6 months or so, I’ve been doing my best to force myself to do a little bit every week. I created a whiteboard that tracks how many days it has been since my last release, blog post, sale, etc. for each of the products. As I see this number go up, I get more motivated to do something with the product so I can make a release, and therefore a blog entry, and hopefully all this will spur sales(or potentially do some marketing to make the sales # move)…
While this has been helpful to keep me from being totally idle on my products, I’ve found it’s caused a different problem. I’ll notice late in the week that a number is high, and be motivated to make a release to bring that number down to 0. So, I’ll search my feature database for something I can bang out in a couple hours or maybe a day– tops… If I have a bit more time, I’ll do a couple to make it a more substantial release… The problem with this, is I’m always pressed for time in a week– so only small enhancements get done… The exception to this rule, is when I have a customer specifically asking for features– then I focus all my development efforts on getting the list of features implemented that the specific [potential] customer requests. I feel I get a lot done in this manner, but it often spans multiple periods of my non-contract time. This is good, because I stay focused.
After noticing this pattern and doing some research online, I’ve come to the realization that I can’t continue without a little more structure. I need to start planning software releases– to create a simple schedule. I need to take some time, sit down, and choose a certain few features(big and small) to be included in a release. I then have to schedule out how long that’ll take, and get it done– accepting upfront that this will take numerous sessions– I can’t bang out a substantial release in an afternoon as I’ve been doing…