Software Configuration Management (SCM) is the task of tracking and controlling changes in the software. Configuration Management practices include revision control and the establishment of baselines.

SCM often concerns itself with the question "What was done, how can it be reproduced?" Traditional Software Configuration Management focuses on controlled creation of Software Changes. Implementers of SCM face the challenge of dealing with bringing change under control, in the context of the complicated systems.

Processes need to be implemented, such as Agile, to handle SCM requirements while not becoming obstructing or hindering or obstacles to Software projects.