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.
|