You are not logged in. Click here to log in.

codebeamer Application Lifecycle Management (ALM)

Search In Project

Search inClear

Tags:  not added yet

Working-Set Use Case



Introduction

Working-Sets can be used implement different use cases that are based on the assumption that work on the same specifications is happening in multiple potentially parallel streams. This page is giving an overview which use cases can be implemented with Working-Sets and how that is done.

Phased Development

In classical phased development teams will finish and freeze specifications starting starting from the top-level e.g. Stakeholder Requirements working down to the lower levels (and to the right / validation side of the V-Model) like System Requirements that will be finished based on the frozen content of the higher-level specifications. That process continues down through all specification level.

The goal of this phased approach is:

  • Support parallel working by starting work on the next phase (or version) of a high-level specification while current phase in in lower-level specifications are still being worked on.
  • Preserve a consistent view on high-level specifications while work on lower-level specifications are being wrapped up.
  • Establish a consistent view on a phase even so the phase was completed at different points in time on different specification level.




The following diagram highlights how to implement a phased development approach with Working-Sets.

  • Baselines are created for the stakeholder requirements once a specific state is reached.
  • Working-Sets are created using the defined baselines of the stakeholder requirements.
  • The Working-Set provides a consistent view and workspace to complete the phase.
  • Unlike the approaches provide by other tools for phased development Working-Sets allow working on multiple phases of the same specification level in parallel and then merge the results.


Feature Driven Development

A more advanced approach to develop complex products is feature driven development. One core concept of this approach is to completely develop a feature before promoting it into the product. Working-Sets support that methodology by providing a separate workspace for development of each feature. After completing a Feature all related changes are merged back keeping the main development line in a consistent state at any time.Generally the Working-Sets help to keep your main branch in a consistent state, no matter if you are really following the feature drive development approach or just use Working-Sets to completely develop new functionalities in a separated stream.


When using Feature Working-Sets it can be useful to exclude artifacts that not have to be adjusted separately when developing the Feature as "Shared" to provide a reduced views for the teams working on the features and to make the Working-Set creation more lightweight.

Maintenance Releases

Working-Sets can be used to create maintenance releases of product versions that have been completed in the past. A prerequisite for creating maintenance releases is using baselines to tag the release versions.

The maintenance Working-Set can be used to fix problems consistently in past product versions and optionally merge the fixes into the current development.


Product Line / Variant Management

Working-Sets are the natural representation of a variant when developing a product line in codeBeamer. Those variants can variants developed for customers based on the product-line or just variants with a different feature set. A variant is created by reusing relevant parts of the product line - potentially in a parameterized form - in the variant. Additional adjustments can be implemented in the variant, but it is essential to ensure those adjustments are merged back into the product line.


A Variant in a Working-Set is created as a new Working-Set, that only includes the relevant trackers. This Working-Set can be created based on baselines or other Working-Set to start from a well-defined version of the product-line. Once the Working-Set has been created all Items that are not relevant in the Working-Set are removed and parameters are expanded. It is possible to use codeBeamers built-in filtering and bulk-edit capabilities to implement a basic approach for filtering and parameter replacement, but it is highly recommended to integrate with a dedicated variant management tool for a more sophisticated approach with better usability.