Artifact: Version Control Repository
Description
Main Description

All work products produced and consumed by the software development process will be version-controlled and stored in this repository. The various tasks within this process will interact with this repository to retrieve and store their work products, whether or not this is explicitly called for in the individual task descriptions. In other words, the use of this repository may be implicit.

The Version Control Repository plays a key role in organizing the project's artifacts in a way that supports planning, searching, and so on (a form or "discoverability"). The contents of a version control repository are organized into trees of folders, and this tree structure can, and should, be used to provide a logical organization of the project's artifacts. Other than various temporary and usually paper-based organizational notes, only the version control repository is capable of maintaining a visible, project-wide conceptual organization.

Each project establishes its own specification of an appropriate "logical organization" to be represented in the structure of the version control repository, and this specificaton (which is realized as a directory structure within the version control repository) may be built up iteratively as the project progresses.

In many SOA projects, it will make sense to base the hierarchical structure represented in the version control repository on defined business processes, and logical (analytical) groupings of those processes. There will also be artifacts that are independent of such a business-oriented view, and this must also be accounted for in the specification of the repository's structure.