…was the definition.
In this article I am going to lay out my definitions for some terminology that will become increasingly important as I develop my CMS model.
The terms I will be discussing are as follows.
- Stream
- Branch
- Configuration Item
- Revision
- Configuration
- Component
- Repository
- Configuration Management Database
- Record
At this point I caution the reader that these definitions are deliberately quite loose and informal. Each will be expanded, refined, rewritten and formalised as I work through articles in this blog. For now, my working definitions are as follows.
Project
A coordinated effort usually conducted by several individuals to deliver a Product. Project describes the totality of planning and activity requires to gather requirements and interpret these into Product.
Product
That which is to be delivered by a Project. Products include, but are not limited to:
- Executable software
- Documents — manuals, design documents, requirements, installation guides, administration and maintenance manuals
- Hardware — computers, network components, any other physical components required as part of the Product
- Training materials — exercise version of data or system components, trainer presenation, training the trainer material, sandbox systems for trainees
- Source code — when developing for a 3rd party. Source code may also be a deliverable in interpreted languages or when delivering web content such as HTML.
- Media — video, graphics, audio
Stream
Projects often consist of more than one piece of development. A common strategy is to manage these pieces of development as a sort of sub-project. Timescales of these Streams are overlapped to allow the project to compress its overall timescale.
Branch
An implementation technique used in development to manage simultaneous changes to common items. In software development Branches are common and used to allow two or more developers to work on the same source code simultaneously.
Configuration Item
A configuration item is an item within the configuration management system that is the focus for change management.
Revision
Each time an item is modified and submitted into version control, a new revision is created. In this way an item’s history can be traced by looking back through the sequence of revisions.
Delta
The difference between two revisions.
Configuration
A specific arrangement of item revisions.
Component
An item that is subject to version control, but is not elevated to the status of a configuration item.
Repository
A safe store for item revisions.
Configuration Management Database
A database containing information about each item revision and their relationships to one another and to records.
Record
A set of data that is subject to a process or workflow but not necessarily version control. Records normally carry information used to account for an item’s current disposition or the current state of a process or workflow.

For me, this book holds a special significance. This is the very first book I ever read that dealt exclusively with software configuration management. For me, this book started a career and lifelong passion for software product integrity and software configuration management in particular.