Are you occasionally stuck on a really hard programming task where you’re not sure how to proceed and you end up being unproductive (procrastinating)? This article (softwarecreation.org) describes in detail an effective method of breaking down difficult tasks to make them easier to approach and conquer. Below is a quick outline of the process described in the article:
Initial 25 minute burst - Just sit down and at least get started writing code, this initial step will help you get started in a productive state.
Pick the Low Hanging Fruit First - Try to complete the (easier?) tasks that you know how to implement first -- the things that are clearer to you.
Copy and Paste - This is usually really bad practice and I personally do not condone it, but it came help you get off to a good start. You can usually find code similar to what you are trying to accomplish and you can usually learn a lot from it.
Offensive Reconnaissance - Avoid potential roadblocks as early as possible. This will help you more clearly estimate the time for development and roadmap for the project.
Are you ready? - Break down the task early and ask for help as early as possible! Don't put yourself into an overly stressful situation where you get stuck.
Stuck on a Big Hard Programming Task? Read This! (via softwarecreation.org)