how to develop a product from scratch