Using a mainline project

If you anticipate that your team will develop and release numerous versions of your system, create a mainline project. A mainline project serves as a single point of integration for related projects over a period of time. It is not specific to any single release.

For example, assume the Webotrans team plans to develop and release new versions of their product every six months. For each new version, the project manager could create a project whose foundation baselines are the final recommended baselines in the prior project’s integration stream. For example, the foundation baselines of Webotrans 2.0 are the final recommended baselines in the Webotrans 1.0 integration stream; the foundation baselines for Webotrans 3.0 are the final recommended baselines in the Webotrans 2.0 integration stream, and so on. This approach is referred to as a cascading projects design. The disadvantage to this approach is that you must look at all integration streams to see the entire history of the Webotrans projects.

In the mainline project approach, the Webotrans project manager creates a mainline project with an initial set of baselines, and then creates Webotrans 1.0 based on those initial baselines. When developers finish working on Webotrans 1.0, the project manager delivers the final recommended baselines to the mainline project’s integration stream. These baselines in the mainline project’s integration stream serve as the foundation baselines for the Webotrans 2.0 project. When the Webotrans 2.0 team finishes its work, the project manager delivers the final recommended baselines to the mainline project integration stream, and so on. The advantage to this approach is that each project final recommended baselines are available in the mainline project integration stream.