I tell my team to just get started and then iterate. Don’t let perfection be the enemy of good.
I have two ways of addressing such issues: (1.) Give all options equal amount of time and resources, execute on them both (either on parallel with multiple resources, or one after the other with the same resources), then after they all have their share of time and resources, evaluate which one got your furthest. (2.) Let’s say given two options A and B, wherein both of them have pros and cons. Instead of just executing just A or just B, i first determine which one could be validated/invalidated first, and then fallback to the other one B. For example, in tech window shopping, framework A seems like it’s perfect for the job but it’s relatively new and because of that, there’s a lot of unknowns. On the other hand, framework B is not perfect, but could be bent to your will and is a tried and tested solution. Given those two, I would go for framework A (with a definite time period of assessment), then once the assessment period comes in and it’s not as we hoped it would be, we cut our losses and fallback to framework B.