Thanks for the reply Rajkumar!
I layout the flow in use-case diagrams of various modules. And see if there is any link between modules. Before I code, I make sure I get all right(atleast80%) as this would save lot of time by not creating mess.
Please have a prototype ready, which is nothing but barebone app with no design, nothing. Just HTML/forms which emulate the exact functionality you expect out of it. This might sound boring and time consuming, but trust me, it will get you out of so much trouble.
That's really helpful advice. I think the use-case diagram with an html prototype will be the best place to start. I like the idea of starting from bare bones and adding to it!
Thanks again!