I know how to code and get things done but almost all the time it takes me too much time to create a first working version of the algorithm/application.I start from one part and then jump to another and then realize I need something else and jump to another part.I think I lack on the planing part and dividing the goal into small goals\parts.How do you tackle a new software project?  What advice can you give me about planning and dividing the problem? Or maybe this is not the problem and you have something else to suggest me in order to solve this thing?If you have good reference material to link to as well so I can continue reading/learning about it.
Where can I find the/What are the correct steps/strategy to plan before coding?
programming practices;planning;project planning