This is an old revision of the document!


States for Work Products

Work Product represents the artifact, outcome or a deliverable created or consumed during the process. In the overall context of a process, a work product progresses through various states due to increased maturity or added content. This change in state can happen within a workflow or through the course of different workflows during the product or program lifecyle. For example, a work product like 'Software Project Plan' would typically go through change in states like 'draft', 'under review', and 'approved' in a software engineering process.

Similar to other modeled process elements, work product states can also be modeled and then reused across processes.

Create a work product state

To add a set of states to a work product, navigate to that work product and click or tap on 'Add' to add the states.

For consistent interpretation across user base, it is recommended to provide a description of what this state means by clicking or tapping on three dots next to newly added state as shown in (2) and selecting edit option which will open the description text.

Use a work product state

Once the work product states have been created for a work product, they can be used and reused for any activity where the work product is an input or an output. For the work product, 'Software Project Plan', three states have been created, hence while selecting it as an output, modeler can view the right arrow indicating further state selection.

On clicking or tapping on right arrow next to this work product, the modeler can then view all available states (draft, under review and approved) for this work product to select one or even assign this work product as an output without any state.

In this example, modeler selects the 'Draft' state for 'Software Project Plan'. The selection of 'Draft' as a reusable state (and not as comment) is indicated by the tag symbol.

'Comment' vs. 'State'

Stages allows modelers to add comment to a work product. To add a comment, modeler has to be click or tap on the three dots of a work product used as an output or an input and select 'Edit Comment'. Note: Once the comment has been entered, hit on return or Enter key of your touch screen/keyboard.

This comment is free text field and is not reusable. Hence, any state updates to a work products should not be added as comment, but modeled using the work product State feature.

Unlike commenting, state feature allows synchronization of a change (like renaming of state name) across Stages just like any other process element (work product, guidance, etc) modeled in Stages.

Reporting API Extensions

The reporting API has been extended to access the work product states via new entities:

  • workProduct.getEntities(“hierarchy::HIERARCHIC,targetrole=dependentElements”) returns the list of states for a work product element
  • state.getEntities(“hierarchy::HIERARCHIC,targetrole=containerElement”) returns a single element list with the work product for a specific state element
  • activitiy.getEntities(“input”) and activity.getEntries(“output”) now return a list of either work products or states
  • getProperty(“Dependent”) can be used to determine if an element is a normal element (= false) or state element (= true)