Regardless of how you partition your projects, you may find that certain life-cycle activities span multiple projects. Some examples of these scenarios and how they can be addressed are provided below:
Build procedures that require files from multiple projects can use the StarTeam SDK, which can open multiple projects at the same time. Alternatively, iterative calls to the StarTeam command line tool (stcmd) can be used to check out files from each of the required projects.
When a new defect is discovered, it is often entered as a change request before the module that must be repaired is known. This means that, if change requests are normally managed in the project containing the files that will be modified, a paradox exists in determining where to create the change request in the first place. A project leader or other person usually “triages” the change request by assigning it to whoever he or she thinks should handle it. As the change request is analyzed and addressed, the module that is ultimately modified to address it may not be known for awhile. A simple solution for this scenario is to place all change requests in a well known place (perhaps a “new defects” project) and “move” (not copy) them to the appropriate project as needed.
Currently, StarTeam does not provide built-in, cross-project reports. Consequently, if you want to generate reports such as “all open change requests across all projects” or “cross-server file metrics”, your best option is to use Datamart to harvest and report on change requests from multiple projects and even multiple configurations. Another option is to use the StarTeam SDK to write custom reporting applications.