Many professional development projects address the needs of different kinds of users: developers, testers, beta sites, and end users. Each of these groups uses the product at different points (sometimes overlapping) during the life of the project. As an example, let’s consider the Hexer program being developed by the Radices Unlimited Corporation. Hexer depends on a HexTool DLL component that provides much of the core functionality. HexTool is also used by several other Radices Unlimited products, including Octalizer and Decimator. Hexer also uses a HexIt control, which is used by various internal programs and which will be sold to developers. All the project files are kept under source control (although the issues would be the same even if the files were shared using a less formal system). Several developers work on different parts of the project.