Practicing [[code reuse]] and using [https://www.2basetechnologies.com/services/web-application-development-company [web application frameworksframework]]s can greatly improve both productivity and [[time to market]] (McConnell 1996:537). Reusing externally developed [[Software componentry|components]] can allow an organization to reap the above benefits, while potentially saving money. However, for smaller components, it might be just as easy to develop your own components as it would be to learn new [[Application programming interface|API]]s. Also, if a component is essential to the business, an organization might want to control its development.