Search
Recommended Sites
Related Links






   

Informative Articles

Appointment Calendar Software: 4 Critical Features - Part 1
Effective appointment calendar software should have the ability to create multiple categories, display a monthly view, create reminders and provide recurrence capability. In this article series I will go in-depth into the above features and show...

Autoresponder Email Service vs Software
A followup autoresponder is essential for any web based business. The question is should you sign up for an autoresponder email service or buy a software or script with a one time investment? To answer this simply: It really depends on your...

Comparing Free Blogging Software
With the increased interest in Blogging (web Logging), many web hosting providers now provide an assortment of free usage, open source blogging software packages. Among the most popular of these blogging tools are B2evolution, WordPress and...

Don't get trapped by Rogue Anti-Spyware software!
Recent computer problems raised my suspicions that a hijacker or other malware program had infiltrated its protective software. Too many crashes and program hang-ups were taking place to be normal. Yes, there really shouldn't be any problems in a...

The Function of Recruiting Database Software
Businesses must be fully staffed in order to live up to their potential. All job openings must be filled as quickly as possible with the best candidate for the job. With all of the quick decisions needed when hiring, it is important that recruiters...

 
Software Development - Overcoming Procrastination


Many independent developers have the problem of procrastinating on getting started on their own software projects because they don't know where to start or which idea to work on. A flurry of indecision and uncertainty or desire for instant gratification tangles up their brain and they can't seem to get started.
At least for myself, I've noticed several things. The first is in relation to whether I'm procrastinating because there's something I'd prefer to do (e.g. play a game) or simply because the work is boring with no immediate result in sight.
If it's the former, then you simply have to try and remove the distraction from being something that is actually able to distract you. Uninstall that game. Put the TV in the basement. Whatever it takes. For me, after about two years of repeated failures due to constantly following the path of instant gratification, my brain eventually began to associate playing games with lack of financial success and lack of a social life. As a result, I barely play games at all now, and when I do, it's not for very long because I feel unfulfilled by doing so.
Now if you're in the latter category, where the work is combination of being too boring or too big, then you can probably solve this by creating a snowball effect for yourself. The trick here is to get all of your masses of ideas, list them all down and prioritise them according to how much you've already done, how much they're likely to make and how quickly you can get them finished so they can make some money for you. In this case it's very important to take into account 37 Signals' mantra of building a simple product with only a small set of features. Start the software small and have it do the core job well. You can always improve it later.
Now that you have a big list, you're going to find that you've released some of the indecision in your head about what to work because of the fact that you've stored your idea in a safe place for when you're ready to tackle it, and no longer have any fear that if you don't do it now you'll forget about it. Pick the idea that will generate you enough revenue to live on, or at least work part time, and is the quickest to implement, and move it to the top of the list. EVERYTHING else goes on the backburner. Most importantly, make sure you've chosen something that can be completed within a short space of time (1 to 3 months) so that you can see it taking shape quickly. This will keep you motivated.
If you're a visual person, start mocking up the user interface. This will get your creative juices flowing without having to strain your brain trying to figure out where to begin coding. Also, by having a mockup in front of you, it'll force you to think about design issues and how you're going to tackle certain things that the user has to do. Once you have fleshed out your user interface, you'll also have a good idea of what you should start on, plus you'll be motivated because you'll feel like you've gotten a start on your product.
If you're NOT a visual person, start out by writing a list of features you'd like to have. Write out your goal for what you'd like your software to do and get a basic scratchy design happening. I think if you're the sole developer and your product isn't too complex, you can get away with something simple. You don't really need complex design specs. Just make sure you have a good understanding of what it is you're trying to do. One thing I've found when doing this, is that the fact of starting to write down in point form what it is that I want to do means that I start automatically coming up with extra ideas, or refinements to the idea I came with originally. Once you have a good list of points down and have cut out all the things you don't need in your first release, you'll have a good idea of what you need to start coding.
The moral of the story is:
1) Eliminate distractions which help you procrastinate
2) Stash all your ideas in a safe place so you can clear them out of your head, and concentrate on one idea.
3) Get creative and do a little written or visual design work to help you flesh out your product more thoroughly
4) Use the results of #3 to get you started on your coding.

About The Author

Nathan Ridley is in the process of building a set of online businesses with his business partner, Nicholas Edwards. They do all software development, marketing, research and design work themselves. Their website, with lots of original articles on personal development and building online businesses, can be found at http://www.ersysgroup.com.

Sign up for PayPal and start accepting credit card payments instantly.