Incremental Improvements: Every day, every way

I’m big on continuous improvement in software development. Every week, every day, I hope to find something I can do marginally better. If that change makes my one-person show only a fraction of a fraction better, it beats a fraction of a fraction worse.

Some marginal things I have done to make things better for users and to make more profit for me include:

  • Using Typinator to store oft-typed e-mail phrases. This gives me the ability to respond to e-mails quicker, with less proof-reading. The second time I find myself typing a certain paragraph, I stop writing, enter the text into Typinator, then use the new shortcut.
  • Using Get Satisfaction. This reduces my e-mail load and increases the openness of my development, while keeping a healthy level of communication with my best customers. (My best customers are the ones who tell me what they like, what they don’t like, and what they want to see next).
  • Automating the license key generation system. At first this was a semi-automated process, but still needed me to “flick the switch” to send out a new license key. To do this I needed to be awake and at the computer. This meant that the first thing I did on waking in the morning was groggily sitting in front of the computer to find if anyone had ordered while I was sleeping and was awaiting a license key. Not ideal. But now new customers receive a license key within minutes of ordering. New users are happier and I can sleep restfully.
  • Always looking for ways to tweak Poker Copilot for more speed or for easier use. For example, did you notice the newly-added red section in some of the graphs in version 1.3? Suggested by a user, by the way. Or did those of you with tens of thousands of hand histories notice the screen updates are snappier?
  • Implementing an “empty in-box” policy, systematically handling e-mails to save me time. I check my inbox twice a day, deciding instantly for each piece of e-mail to delete it, to respond immediately, or to move to the “handle later” folder if I can’t address it yet.
  • Every time someone reports a bug, I add a unit test that will fail until I fix that bug. From then on, the unit test ensures the bug stays fixed.

There’s still plenty of improvements to make, to the processes, my systems, and of course, to my software. Continuous improvement is never a completed task. I can’t make everything perfect at once. But I can make things a little bit better tomorrow than they were yesterday.

Every week, every day, I aim to do something marginally better.