Overcoming Procrastination and Starting Your Software Project
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 www.ersysgroup.com