I’ve been working on the latest piece of software for JaveLLin Solutions, and recently hit that frustrated/burned out point on it. This piece is called Proximity, and the basics have already been designed for the transactions. However, we are doing a major overhaul, adding some additional functionality and adding a configuration screen to give the user flexibility. Now, I’ve been working on the redesign for the past few weeks. Yesterday, I thought I had it wrapped up except for minor tweaks. I handed it off to my partner (he’s done the specifications for this one), and he came back with a rather extensive list of things to add/update. While is great, we are getting a better product, more robust solution, and just an overall system that should be easy to sell… so how could this possibly be a problem???
The problem comes in purely from the amount of time I’ve spent, and of course, the disappoint of not being complete with something I thought was finally completed. So, how do you avoid this letdown? Let’s start with a few simple things you can do to get refreshed…
1. Take some time away from this project. While normally I recommend single tasking everything, sometimes when you’ve been working on the same initiative for weeks, you need to recharge the batteries. Take me for example. After I got the news, I almost picked up the keyboard again and angrily started hacking out the updates. While this could work, my head isn’t in the game. This would lead to not doing my best work. So I’m taking the day off and doing some marketing stuff. In fact, that’s why I’m blogging right now 🙂
2. Try not to get too invested in your work. For me, this is nearly impossible, but I’m trying really hard. After spending weeks doing some great work and fun new enhancements, so suddenly get broadsided with a big new list of things to work on, can hit you personally. Go back to number point 1… and then review the changes. Remember that this isn’t personal, it’s all about making the best product possible.
3. Review the changes and determine what needs to happen right now, compared to what can wait. Often things are nice to have, compared to required. it’s important as a small shop to properly prioritize what needs to happen. This means looking at what is currently being used by a customer (something you’ve already sold), what has “legitimate” leads for purchase (actual customer interest in the product, have looked at the product so far and decided they will purchase given some additional cleanup/functionality), then what is just something you “believe” customers will want. Now I am very guilty of doing everything in that third bucket. While this belief that customers will want it is important to brainstorm new ideas, the important thing is what customers REALLY want. Of course, this becomes more challenging if you don’t have any actual customers yet. Regardless, prioritize… development time is a vital resource, be sure to use it wisely…
4. Finally, find a way to re-energize yourself about the project. Get excited about you’ve done, and how these little tweaks will make it even better. Convince yourself, in any way that it takes, that this is the best use of your time =)
5. Make the changes, and finish the project =)
I’m certainly open to additional methods you have any. I’d love to hear from you.