Use Prototypes
Prototype systems provide a low-cost way of assessing the suitability of a given software product or technology
When possible, try out several competing approaches to solve your problems and then select the most promising for further development