Great question, and one I often ask in interviews. Here's my framework for prioritization, which my product managers tend to follow (more or less):
- Prioritize themes, not projects - Create a list of themes for your product or business. Examples might be customer acquisition, activation, retention, avg revenue per user, avg visits per user, etc. Pick ~3 that are the most important for your product given its stage. If your churn rate is extremely low then you don't have much to gain by focusing on retention, so you should probably focus elsewhere. If you get gobs of traffic but few stick then you shouldn't focus on driving more traffic, you should focus on activation.
- Sequence and resource your themes - Of the three themes you're going to focus on (for now), prioritize them and try to come up with an idea of approximately how many of your resources you're going to allocate to each.
- Generate project ideas - Focus your energy on coming up with great project ideas related to your 3 themes. Start with what you have already, but work to come up with more, bigger ideas. Try to break larger projects into chunks, and focus on the first 20% of the project that's likely to generate 80% of the project's impact (cherry-pick).
- Estimate each project's potential impact - Assess how much leverage each project has on the relevant theme. An extra click upstream (e.g. on a search result) is worth 10-100 clicks downstream. Based on this, do a quick forecast of the impact of the project. Simply try to get within an order of magnitude.
- Estimate each project's cost - Get the right people in the room to roll each project idea around and SWAG a cost in resources, $, and other scarce resources.
- Prioritize projects within each theme - Look for the projects with the greatest projected impact with the least cost, and do these ones first, quickly. Then move on to the next projects, or the next phases of the early projects that had a greater than expected impact.
This framework has a couple benefits:
- It forces you to really think through the most important themes for your product or business. It helps you create a plan, rather than just a list of good ideas.
- It forces you to allocate resources to themes explicitly, not haphazardly, and prevents you from spending time on "the thick of thin things".
- It eliminates the need to prioritize very different projects against each other. You no longer have to make a call whether reducing 500ms of latency is more important than gaining 5K new users.
- It forces you to model/forecast impact of projects. Doing this, measuring actual impact, and then comparing the two is the only way to really improve your forecasting ability and internalize the learnings (often called product management instincts or "spidey sense")