Baselines and Versioning
Baselines and Versioning is an important technique with any model but is particularly important with Enterprise Architecture. A model is used as a representation of reality and attempts to describe the things of the enterprise in a simple, coherent, clear and correct way. The ideas and notions described in the model are likely to change as the enterprise changes and it is important at times to keep a history or memory of these changes. This is particularly important when an idea is explored but subsequently found not to be worth pursuing. With a baseline or version the changes can be rolled back and the model reverted to its previous state.
Enterprise Architect has a number of tools that can assist with Baselines and Versioning, including the Baseline tool, which can take any number of snapshots of Packages at a point in time, and the Version Control facility that allows any number of Packages to be versioned and keeps a complete atomic change history. There is also a built-in feature to allow any Package (including child Packages) to be exported to an XML file and re-imported at a later time.
This section lists the main tools available in Enterprise Architect that can be used to perform Baselines and Versioning. There is also a wide range of additional tools that a modeler might find suitable when applying the technique in a particular context. The complete list of tools is available from the topics: Meet the Enterprise Architecture Tools and Additional Enterprise Architecture Tools.
The Auditing feature can keep track of the changes to architecture content including what was changed, when it was changed and by whom. Auditing is by default disabled and must be enabled before the changes to architecture elements will be recorded. Once enabled it is a passive tool that silently records the changes to elements. It does not replace Version Control or baselines and in contradistinction to these tools it can not be used to return to a previous state of the model. Change management, Architecture Governance and quality control are all aided by the use of Auditing.
Learn More: Auditing
The Baseline Tool is used as a type of backup and recovery tool and can capture a snapshot of any Package containing architectural content at a point in time. At a later time the repository can be compared to this (or another baseline) for the purpose of determining what has changed. It is possible to roll the current model back to a state captured in the baseline at the level of a granular change. This is a powerful mechanism that can be built into the Architectural Process and conducted at milestones during the creation and management of architectures.
Learn More: Baseline Tool
The Version Control facility allows a history of changes to be captured and, if required, rolled back to. The tool requires an external Version Control server to be set up, and Enterprise Architect communicates with this service to allow check-out and check-in of content. The unit of Version Control is the Package, and any number of Packages can be versioned, also using multiple different configurations and Version Control servers. The tool does not use optimistic locking; once a Package is checked-out by one user it is locked for update by other users until it is checked back in. Version Control is a powerful tool but requires discipline and good practice in model management.
Learn More: Version Control