Dimensions CM supports Agile development by using streams to manage and control updates between local work areas and a repository. You can work with streams in the desktop and web clients, the Windows Explorer, Visual Studio and Eclipse integrations, and the dmcli and DM developer command-line utilities.
A stream is a container in a Dimensions CM repository for a set of item revisions. Streams are used to isolate the development of features from the main code base. Typically each development team uses a child stream that has been branched from a parent mainline stream. The child stream is merged back into the mainline as required.
Streams enable an iterative process where developers:
Use the Update operation to copy item revisions to a local work area from a repository.
Modify the item revisions locally, build, and test.
Use the Merge operation to resolve any conflicts with the mainline; build and test the merged item revisions.
Use the Deliver operation to commit the merged item revisions to the repository.
A stream cannot contain parallel versions of the same item and you cannot use functions that operate on individual files, such as check out and check in.
You should use streams if your team is going to:
Adopt, or is already practicing, Agile software development practices.
Work in parallel on the same code for the same release.
Manage multiple parallel streams of development with a protected mainline.
Allow developers to easily branch and merge projects.
Enforce a single line of descent to prevent conflicts.
Make developers responsible for the impact of their changes on the rest of the application.
NOTE Your system administrator can configure your database to use:
Streams only
Projects only
Streams and projects