The history of software configuration management (SCM) in computing can be traced back as early as the 1950s, when CM (for Configuration Management), originally for hardware development and production control, was being applied to software development. Early software had a physical footprint, such as cards , tapes , and other media. The first software configuration management was a manual operation. With the advances in language and complexity, software engineering , involving configuration management and other methods, became a major concern due to issues like schedule, budget, and quality. Practical lessons, over the years, had led to the definition, and establishment, of procedures and tools. Eventually, the tools became systems to manage software changes.  Industry-wide practices were offered as solutions, either in an open or proprietary manner (such as Revision Control System ). With the growing use of computers, systems emerged that handled a broader scope, including requirements management , design alternatives, quality control, and more; later tools followed the guidelines of organizations, such as the Capability Maturity Model of the Software Engineering Institute .