New product development has always been an important issue for firms who want to achieve competitive advantages. Facing potential competition during the development period of a new product, a firm may need to modify her strategies based on the current environment. We model optimal strategies of new product development (NPD) using a dynamic programming approach. Under this framework, four possible strategies are provided: to quit the project, to maintain the current development (waiting), to release the product now and to further continue the project. We discuss the properties of the model and show implications of the model under two different environments.