I use this filter to decide whether a product or feature is worth pursuing. I call it the randomness idea filter. How badly is this product or feature affected by randomness?
Works vs somewhat works
Take the lamp for example. It has one switch. Flick it, and it fills the room with light. It works. It works well and it works all the time. Observe, it has one input(that is the switch) and one expected output.
Now, let’s take the other extreme: Siri.
My one year old: dah blu bum
Siri: Calling Uncle Tom now.
Not to say that Siri does not work. It works, some of the time. It works if you speak clearly, with a clear intention like call someone plus a multitude of other conditions. Under limited kinds of inputs, Siri will work well. Like the lamp.
The more variety the input has, the harder it is to get the outcome right.
Is it random or not
Even if there are lots of different input, as long as you can predict those input, you can be reasonably sure you can get the result right. The tricky part is, is your input predictable?
For example, your product does database migration from MySQL to PostgresSQL. That is a hard problem to solve. There are lots of cases to cater for. But they are predictable. There are only that many data types and that many ways it can change to. With effort, it is possible to cater for more than 95% of the cases.
Siri can’t. Even for a universal language like English, people speak it in so many tongues. Worse, spoken languages keep evolving. The inputs are random. How much effort is needed to cover all the bases? Such products are not going to be expected to work very well.
Unless, your users don’t expect a straight result. Like a Google search. It is OK to give a somewhat good result. But for Siri, it is not OK to call the wrong person.
When there is randomness in the input and the expected result is a straight yes no result, throw away the idea. There are many other better things you can work on. When thinking if I should pursue an idea, I always do this check. I hope it helps you too.