A project contains a specific set of member objects and provides an insulated working environment. Different versions of the same project can be used for different purposes. For example:
- Developers each have a working version for developing and testing their ongoing changes.
- A separate version of the project can be used to collect the latest completed tasks for integration testing.
- A version of the project can be used to build a specific set of changes for system testing.
- Another version of the project can be used to save a specific configuration as a release or milestone.
All these projects for different purposes enable a team to work together on the same application. The projects and the way they are set up to select changes define your workflow.
Rational Synergy provides a default workflow consisting of the following stages:
- Developers develop and test their changes in their development projects. When they complete a task, it is available for inclusion in the integration testing projects. When developers update their projects, they keep their own checked-out versions, and they get the latest versions that have passed integration testing.
- The integration testing projects gather all the tasks that have been completed to date. These projects are often used to implement a "daily build and smoke test," a best practice for software development. The goal of integration testing is to find problems as soon as possible after they are introduced. The build manager manages the integration testing projects.
- The build manager creates a baseline when the build passes integration testing.
- The system testing projects are used to build a specific set of changes for in-depth testing. The build manager defines and updates the list of changes to ensure that projects are insulated from ongoing changes by developers. Individual fixes can be added, built, and retested until the project meets the team quality standard. System testing projects are often used to prepare for a release or milestone.
- After the software is released or reaches a milestone, the build manager can baseline or release projects to preserve the configuration. Released projects can be used as baselines for new releases.
The figure shows an example of how projects are used to implement Rational Synergy’s default workflow. The arrows indicate the flow of tasks through the projects.
Rational Synergy is set up so that you can use this methodology right away. However, Rational Synergy’s process model is flexible, enabling you to customize the default methodology to suit your team process.