Home > Articles > Programming

  • Print
  • + Share This
This chapter is from the book

1.6 False Friends: Version Control and Baselines

The expression "false friends" is used in the world of languages. When learning a new language, you may falsely think you know the meaning of a specific word, because you know the meaning of a similar word in your own or a third language. For example, the expression faire exprs in French means "to do something on purpose," and not, as you might expect, "to do something fast." There are numerous examples of "false friends"—some may cause embarrassment, but most "just" cause confusion.

This section discusses the concepts of "version control" and "baseline." These terms are frequently used when talking about configuration management, but there is no common and universal agreement on their meaning. They may, therefore, easily become "false friends" if people in a company use them with different meanings. The danger is even greater between a company and a subcontractor or customer, where the possibility of cultural differences is greater than within a single company. It is hoped that this section will help reduce misunderstandings.

Version Control

"Version control" can have any of the following meanings:

  • Configuration management as such

  • Configuration management of individual items, as opposed to configuration management of deliveries

  • Control of versions of an item (identification and storage of items) without the associated change control (which is a part of configuration management)

  • Storage of intermediate results (backup of work carried out over a period of time for the sole benefit of the producer)

It's common but inadvisable to use the terms "configuration management" and "version control" indiscriminately. A company must make up its mind as to which meaning it will attach to "version control" and define the term relative to the meaning of configuration management. The term "version control" is not used in this book unless its meaning is clear from the context. Nor does the concept exist in IEEE standards referred to in this book, which use "version" in the sense of "edition."


"Baseline" can have any of the following meanings:

  • An item approved and placed in storage in a controlled library

  • A delivery (a collection of items released for usage)

  • A configuration item, usually a delivery, connected to a specific milestone in a project

"Configuration item" as used in this book is similar to the first meaning of "baseline" in the previous list. "Delivery" is used in this book in the sense of a collection of configuration items (in itself a configuration item), whether or not such a delivery is associated with a milestone or some other specific event—similar to either the second or third meaning in the list, depending on circumstances.

The term "baseline" is not used in this book at all, since misconceptions could result from the many senses in which it's used. Of course, nothing prevents a company from using the term "baseline," as long as the sense is clear to everyone involved.

  • + Share This
  • 🔖 Save To Your Account