Configuration Management and Source Code Control
Configuration management is the process of dealing with software change. When software changes, a lot of things can go wrong, and it's up to the configuration manager to make sure that they don't go wrong in practice.
I divide the job of configuration manager into two main duties:
Source code control
Testing (including regression testing)
Others divide the responsibilities differently, but I see these as two opposite sides of the configuration management coin. Source code control is keeping track of changes as they're made, and regression testing ensures that these changes fix the bugs they're required to fixwithout introducing any new ones.
This month I want to talk about source code control. Source code control coordinates different programmers working on the same files and keeps track of all their work, including old versions of the software.