Source Control can be thought of as containing at least four basic components:
*A tracking system that forms the authorization for codeset edits.
*A Source Control system that enables several developers to work on a single codeset.
*A multi-layered testing environment that a codeset must traverse before being introduced into production.
*A process for building and conducting codeset releases.
Figure 1 shows these components assembled in a system:
Test

![]()
Development
Production
Figure 1