I am busy implementing a change management process because we have a complex environment, and there is too much oral tradition here.
As a starting point, I want to create a list of configuration items. As I understand it, a (software) configuration item is something that upon a change will trigger regeneration of the software. As an example, in our case, if a remote desktop server or an application server is moved, and its DNS name changes, we need to update our software configuration. Thus, server hardware is part of the configuration item list.
What my issue was (and I am now looking more for confirmation) how to represent aggregated CI's. But I suppose that one starts with base CI's, gives them a unique designation, and then builds aggregated CI's by referring to these unique designations.
When would you add versioning to CI's? E.g. it is probably possible to describe a certain subprogram as being composed (VS environment here) or described by a solution file, a project file, and the underlying configuration files and C# files (and possibly other files). But adding versions (or commits, using git) would probably be too detailed here. On the other hand, used parts (like the C# version, or the SQL Server version) would probably be specified as versions here, since they do not change often, and if they change, then the system enters probably a new state.
And then there are tools: are these added to the CI's just for completeness or not? We use JIRA, Bitbucket, Bamboo, and Confluence, but when upgrading it I can't see this triggering software changes, but of course, it could change the CM process. Or are tools added to the CI's AND to the tools listing? Hm, would it matter to just add a tool, give it a CI designation and then to just list it as a tool used, even if it is not part of any aggregate CI?
I suppose that the actual SCM plan should also be interpreted as an aggregate configuration item and that an environmental change of a tool (even an unnoticeable upgrade) would trigger a new version of this document, just to make sure that such a change is accounted for.
If this looks a little bit confusing, it is because it is that way. I am trying to make head and tails of this, and I am thinking while I write down the question, and there are some documents about the CM process, but not real hands-on examples.