The page title should give you a good idea of what I mean. I use this term a lot, "Far too often", get used to it cause its true. Far too often flash beginners try to do too much and get ahead of themselves. Try to stick to this road map.

Think, think, and think some more!
When your client and/or boss comes to you with a project and project specs your first reaction should not be what code to write. The absolute first thing you should do is plan it. I cant begin to tell you how many people just jump into the code, blaze through it, and realize none of it will work, because they have to back track and re-work the entire thing. Why does this happen, its simple, you didnt think it through. Moral of the story, think!

When you find yourself with a new project think about it. Plan for everything. Grab yourself a piece of paper and write it out. Draw yourself a make-shift flow chart. It doesnt have to be anything official. To this day, I have never put together an official flow chart, its always just a few scrap papers with shapes, lines, and descriptions. It helps to visualize what you're about to work on. This also allows you to see all the pitfalls that may pop up once you start coding the project. I cant stress this enough, think think think think think think think, and think some more. Once your brain is exhausted and you've cursed at your monitor for an hour, you're ready to move on.


Think Beyond the Scope
After you've thought about your project until you can no longer stand it, consider its scope. By now you have an idea of what functionality you'll need, where you'll need, and how you have to deal with data. Thats great, now sit back and do some more thinking. Every project will have a scope. By this we mean, what it needs to do, etc. Think beyond that, because I can promise you that your project manager, boss, or client will come to you and totally change things on you. If you consider the project functionality and ask yourself, how can I extend that, then you'll be set. The moral of this story is to always leave your functions open for growth, or scalability as the nerds say. If your project is a video player system and they only tell you to make a play and stop button, then plan for a pause button down the road. It happens on every project. You start building it and they come to you with "updates". God I hate the updates. It makes you want to grab your keyboard and bounce it off your bosses head. Now, if you thought beyond the original scope of the project, the urge to pummel your boss might not be so bad, you might not even have it. Also consider the possible functions and requirements that were not initially mentioned. It will save your life, or at least your bosses life.