First, decide what you want to achieve and when. Is it more important to get to 100,000 users or $100,000 in revenue? Do you want that in 1 year, 3 years, or 5 years?
Then start planning what you need to do to support those goals. Try to focus on the things that have the best chance of results with the least work, but keep trying different things since you don't know exactly what will work. Do the most important things first because you won't have time to do everything you planned and you don't want them to be overlooked.
Finally, really prioritize. As the saying goes, if you have more than 3 top priorities you have no top priorities (or something like that). You'll get the best results if you're just trying to do one thing. Anything that doesn't make a significant contribution to your top priorities can be done next year. Since you can only do a small number of things well at one time it's best to focus on what you can do, and then once it's done you can do something else.
Based on my experiences, I always give a high prioritize to everything that related to customer directly.
- If I want to sell foods, things that related directly to customer is my food. Then I will first decide what food that I can offer. From that decision, I have to decide where is the best place to sell my foods. After that, there will be more things to do to be done.
- If I want to build online store, the thing that related directly to customer is the website. Then I must think how will be my website looks like. To decide that you have to link with what products that you will sell. After that, more things to do will come to be finished.
The point is focus on aspects that related directly to customer.
I hope my explanation is pretty clear.
Here is how I do plannings for a new software product. Of course, I am flexible on my own rules.
First I set up my goals on a sheet of paper:
Once done, I focus on the short term goal (3 months).
I create a use case diagram with all things I want to have in my first release. Like: "Login", "Add to Basket", "checkout" etc.
In most cases i have so many use case ideas, I draw diagrams for the 6 months goal and the 1 year goal to. Everything else is to far away. Anyway, after i have my usecases the later diagrams must leave my table. I focus on the first goal.
I think about all steps i need to do for these usecases. I create a todo list with very raw points, like: Planning, UI design, Backend implementation, marketing.
If I have the raw points (i call it stories) I create subtasks for each of these stories. I use a tool or excel for that. At the moment I prefer Kanbanery.com. Its pretty easy to use. But of course paper is fine too.
A subtask sheet can include (in case of implementation): create db design, setup db, create login webservice, setup framework, do test deployment, create business case 1 and so on.
Once you have all these subtasks, you should do a quick estimation. If you count the days and come over the 3 months, you need to tune your prios. Maybe you can move one usecase to a later goal? Maybe you don't need an excel export in the first version?
Once done you should have a list of the "most important actions". With every cycle of your product, you need to identify the most important actions and focus on them. Try not do something, because you might need it in one year. It is now or not.
What I have failed with is a simple "Todo" list. I had so many ideas and tasks on this list, even priorizing them into A- B- or C- task led to confusion and pain. It was important to me to differ between goals in a timeline.
Hope that helps!
PS: I have read several books on the topic and NONE of them gave me the answers which worked for me. You probably need to find out your own way. May my model be a valuable inspiration for you