How do you evaluate and decide whether to adopt a new technology or framework for an existing software product?