Time is not unlimited. If given time, we could spend 40 hours a week for eternity improving our projects whether they are code, applications, or services. The key to development is to prioritize and iterate.
Development can be a huge time waster if you don’t have goals. Just like spending time on Facebook, gaming, or other online tasks, the information and what you can do is limitless and if you allow yourself to get distracted and sucked in, before you know it, it is 4a.m. Not only do you now realize that you have to get up in two hours, but you didn’t accomplish what you originally set out to do. And you are so, so tired.
Define priorities and set limits so that you don’t get sucked into a development time hole. As a web or application developer, it is so easy to get in the zone and start adding functionality. Hey, for some of us coding is fun, yet it is addictive, and as an addictive habit limits must be set or it can become unhealthy. This doesn’t just go for coding, but it also goes for all sorts of projects where the only cost is time. Remember, time is not free.
Time spent developing an app or service leads to time spent improving, marketing, supporting, and troubleshooting. Time IS money. It is a cost and a valuable resource.
Create a firm foundation to steady yourself and prevent getting sucked into thinking that there are unlimited, free services at your fingertips and that you must use or apply all the them now, right this instant, before your customers come to you tomorrow morning.
Define your priorities and goals. List all of the improvements you (and your team if you have one) have brainstormed. These improvements may be critical (the appliance always blows up when the blue button is pressed) or minor (wouldn’t it be nice if the red button not only toasted toast, but also made the entire sandwich for the user?).
Keep this list and update it constantly removing things that have been accomplished or no longer necessary (no one uses kerosene in their automobile anymore, lets cut that option) and add new items that you, your group, or users come up with. The list is not only a good task manager, but it also reveals all the great ideas you have. If it is short and manageable, all is well. If it is long, overwhelming, and reads like a novel, you might need to hire on help or redefine your strategic directions. It can also be used as a way to remind yourself and others that new ideas may just be a drop in the bucket. It shouldn’t be used to discourage new ideas and innovation, but it should serve as a reminder that there are limits to the amount of work you can do, and there is a lot of work to be done.
Next, discover priorities. If you have a group, vote on issues you can tackle within a pre-defined time-frame. understanding that the more you add, the increased workload you will receive by developing and supporting these goals. Use user feedback to find out what your users want. There is direct feedback (one thousand users suggested adding a “level of toastiness setting”) and there is indirect feedback (after using the yellow button, five hundred users purchased mops, even though they didn’t complain to us. Let’s have the yellow button buy them a mop automatically and not spend time fixing what ever mess it creates).
Tackle your priorities giving yourself a time frame that makes sure other projects are not staved of time. After the time frame has passed, and you have accomplished your goals, make another set your priority for the next time frame. Iterate and improve as quickly as you reasonably can if you have a long list. What ever you do, do not get sucked in as your business will grind to a halt if you are taking on too much.