Someone asked this in this Pleb Lab chat and while I don't actually know the answer, I shared what my mind produces when I ask it for a generic answer.
- if you're working on something that appears like it won't meet your expectations fast enough, prioritize changing it to meet your expectations fast enough or pick something else to work on
- e.g. if you need it to be profitable immediately, don't build something that appears like it won't be
- if something is threatening your startup's immediate survival, prioritize it
- this is a generalization of (1)
- until you release, prioritize releasing it
- until you have 1 customer, prioritize getting 1 customer
- until your have 1 extremely satisfied customer, prioritize extremely satisfying 1 customer
- do (4-5) with 10 customers
- do (4-5) with 100 customers
- do (4-5) with 1000 customers
... and so on.
You can start making money at any point in this process. Some products are so rare and compelling customers will pay for them before they exist. More often you can't begin making money until (4) and you won't be profitable until long after, but there are exceptions to that too. You can delay making money as long as it doesn't threaten your startup's survival (2), but asking for money early is usually better if only to verify the customers are satisfied.
What you should prioritize depends on the startup, but there is this generic order to it. The easiest mistake you can make is pouring yourself a cup of water and expecting it to be wine, or pouring water and wine into your cup and expecting it to have both, etc - so prioritize not doing that. Otherwise, it's all about getting customers and satisfying them to the point that they're willing to pay you. For most products that's easier to do with a few customers before moving onto many, so prioritize doing that.