To play a bit of a devil’s advocate to my own argument, I think the relationship between an appetite and an estimate is more dynamic than I presented. Sometimes you will have to change your appetite based on the solutions available to you. It might be that some problems are inherently more complex while others have more optionality. It also might be that I’m not a good enough shaper and there’s a 2-week solution to every problem, but I can’t say that’s my personal experience.
In terms of a framework for evaluating problems, let me know if this is useful:
I think I saw this in one of Ryan’s presentations or whatnot, but one framework I really like is the following:
No of users + Issue severity
Here’s an image of me trying to capture this (example within the image is irrelevant)
So the 4 quadrants are like this:
Problems that are minor but affect a lot of users
Problems that are deal-breakers/blockers for the main use case and affect a lot of users
Problems that affect only a minor set of users (or 1) but are still a deal-breaker or blocker for the main use case
Problems that are minor and affect only a small set of users (or 1)
How to define a deal-breaker
Sometimes, the user helps you define this by saying it outright "this is a deal-breaker and we cannot launch/adopt/integrate your product without this.
Other times, users might not be so direct, but it would be such a big problem to them that as soon as they find an alternative, they will abandon your product. In this case, it’s useful to define what are the main actions/jobs (choose your lingo) your product is serving
For example, in my case, my product is a marketing platform so I might define it the following way
An issue is a deal-breaker if
It prevents my user from scheduling social media posts regularly
It prevents them from performing a quality review over the content
It prevents them from connecting a social account to my product
An issue is NOT a deal-breaker if
It has to do with an extension of an existing feature (for example, they want the ability to share videos and not only images in a social post)
It’s a request for something that is not part of the main use case. For example, they want to be able to translate a post to multiple languages within the platform
You can be really diligent and convert/dig into a request to find the problem or need underneath it, and then that would be what you can try to prioritize (so you stay relatively solution agnostic). For example, A request might be “I want to be able to translate the content of my social post to various languages or language x” — and a more demand-side statement would be “When I have clients from multiple locales, and I don’t want to spend time creating many instances for the same content”.