There are a number of different interpretations.
It is about tracking and
control of software development and its activities. That is, the
mangement of software development projects with
respect to issues such as multiple developers working on the
same code at the same time, targetting multiple
platforms, supporting multiple versions, and controlling the
status of code (for example beta test versus real release).
Even within that scope there are different schools of thought:
Traditional Configuration Management - checkin/checkout control
of sources (and sometimes binaries) and the
ability to perform builds (or compiles) of the entities. Other
functions may be included as well.
Process Management - control of the software development
activities. For example, it might check to ensure
that a change request existed and had been approved for fixing
and that the associated design, documentation,
and review activities have been completed before allowing the
code to be "checked in" again.
While process management and control are necessary for a
repeatable, optimized development process, a solid
configuration management foundation for that process is essential.
Visit the following links:
FAQ on Configuration Management tools
http://www.iac.honeywell.com/Pub/Tech/CM/CMFAQ.html