What is Version Management, what tasks does it perform and what concepts exist?
Capturing changes to files
Files can change in the course of developments and projects. Version management deals with managing files of any type, type or size, including archiving them, logging changes, restoring older file versions, and coordinating access. It is mainly used in software development, but since there are regular changes in many areas of the company, version management is also used, for example, in project management, requirements management or the design of websites.
In a version management system, files such as requirement specifications, project manuals, reports, change requests, test cases and source code etc. can be managed. All files are saved with a user ID and timestamp in the central version management for each change, so that it can be traced at any time who changed what in a file and when. As a result, any versions of a file can be compared with each other. Older versions of a file can also be restored. For this to work, files must be “checked in” to the version management system after they have been edited, i.e. transferred for administration and storage. Once a file has been checked in, it must be “checked out” again from the system for further processing, i.e. released for processing.
Tasks in Version Management
Version management fulfills the following tasks:
- Archiving of individual states of files, so that the current version of a file can always be accessed, but if necessary also older versions – so to speak by recovery.
- Logging of changes so that it can be traced who changed what in a file.
- Coordination of access to a file and definition of possible read, write and delete rights. Some systems also offer the option of displaying or not displaying files depending on defined rights.
Concepts in Version Management
There are two basic concepts in version management:
- With pessimistic version management – also known as Lock Modify Write or exclusive check-out – access to a file is blocked if another employee is already working on it. This eliminates the need to merge various changes.
- Optimistic version management – also known as Copy Modify Merge – allows multiple users to edit files simultaneously, but the changes must be merged manually or automatically.
When working with documents, process models such as V-Modell XT or Hermes also use a change index that provides the reader of a document with a tabular version history of the document. This allows the reader to recognise, for example, which versions existed at which times, who the authors were and, if necessary, which differences between individual versions were explicitly documented. However, he may not be able to tell whether he is actually reading the latest, current version of the document.