In business and engineering, new product development (NPD) covers the complete process of bringing a new product to market. A central aspect of NPD is product design, along with various business considerations. New product development is described broadly as the transformation of a market opportunity into a product available for sale. The product can be tangible (something physical which one can touch) or intangible (like a service, experience, or belief), though sometimes services and other processes are distinguished from “products.” NPD requires an understanding of customer needs and wants, the competitive environment, and the nature of the market. Cost, time and quality are the main variables that drive customer needs. Aiming at these three variables, companies develop continuous practices and strategies to better satisfy customer requirements and to increase their own market share by a regular development of new products.[citation needed] There are many uncertainties and challenges which companies must face throughout the process. The use of best practices and the elimination of barriers to communication are the main concerns for the management of the NPD .