Parallel development is the simultaneous development of more than one version of an object. By default, Rational Synergy allows you to develop any object type (for example, csrc, library, and so on.) in parallel. It is important to understand that parallel object versions must have some characteristic (i.e., property) that distinguishes one from the other, so that Rational Synergy can select the correct version in a project. Such characteristics determine how the object version is evaluated during an update. The properties that distinguish parallel object versions from each other are called parallel development properties.
Rational Synergy supports the following types of parallel development:
- Parallel concurrent development occurs when multiple developers check out their own working versions from the same object. Each developer most likely works on different sections of code. Once they complete their work, the two versions of code must be merged.
- Parallel variant development (also known as parallel platform development) occurs when multiple developers are working on different versions of the same object for different hardware platforms (often called variants). The different versions of the objects (such as one version for Windows and another for UNIX) are typically not merged.
- Parallel release development occurs when an organization needs to produce multiple releases of its software product simultaneously. An example of this situation would be different developers working on the next release, a patch to the current release, and a maintenance release, all baselined on the current release. Parallel releases are typically merged after one of the releases is finished. For example, when a patch for the current release is finished, it is merged into the maintenance release and when the maintenance release is finished, it is merged into the next release.
The following paragraphs describe how Rational Synergy manages these types of parallel development.