In software development , different versions of a product are referred to as variants . Variants often, but not necessarily, have a common basis from which they emerge and differ through variant-specific properties. Variants that belong together, i.e. variants that are derived from a common core, are usually referred to as a product line .
Variants of a software can arise independently of a temporal consideration. In larger product lines, however, they are usually published at the same time (example: the Microsoft Windows operating system appears in its various variants, such as Home, Professional, etc. at the same time).
Since new properties are usually added to a product even with version transitions between software versions, versions could also be viewed as variants of software. In common parlance, versions are often used instead of variants. This is usually not a problem, since the distinction then does not play a role anyway. However, in cases in which variants are created in a project and their consideration becomes relevant for implementation, the clear conceptual differentiation between variant and version can prevent many confusions.
Variants can be managed in different ways in software development. Often there is a proprietary handling of variants in Excel tables, databases or similar methods. On the other hand, tools for variant management are slowly establishing themselves in the commercial sector , the most common of which is probably pure :: variants . In connection with systems for version management , the entire range of possible variability in software projects is mapped.