3.3 Choosing a Stream Strategy

The basic UCM process uses the integration stream as the project's sole shared work area. Developers join the project by using the integration stream's recommended baselines to populate their development streams; deliver completed work to the integration stream where the integrator incorporates the work into new baselines; and rebase their development streams to the new recommended baselines. Depending on the size of your project and the number of developers working on it, this process may be a good choice for your team.

Alternatively, you can use UCM's development stream hierarchy feature to create multiple shared work areas within a project. This approach supports a project organization that consists of small teams of developers where each team develops a specific feature.

For example, in Figure 12, the project manager created a development stream called Permissions_dev for two developers who are working on a permissions feature. The developers, Pat and Pedro, joined the project at the Permissions_dev level rather than at the integration stream level. They deliver completed work to the Permissions_dev stream. Periodically, the integrator or lead developer responsible for managing the Permissions_dev stream incorporates the delivered work into new baselines, and the developers rebase their development streams to those new baselines.

When the two developers finish working on the permissions feature, they deliver their last work to the Permissions_dev stream. The integrator incorporates their delivered work into a final set of baselines and delivers those baselines to the integration stream.

Figure 12 Using a Feature-Specific Development Stream