This wiki is locked. Future workgroup activity and specification development must take place at our new wiki. For more information, see this blog post about the new governance model and this post about changes to the website.

Requirements Change Management (Implementation Approach)

This is detailed look at the CmOfRequirements scenario for purposes of elaborating on implementation approaches.

Steps

Precondition

  • RM provider is configured to a CM provider

(Step 1) Requirement Engineer: Govern requirements changes using a Change Request

  1. Open an existing Requirement.
  2. Search and link to an existing or new Change Request that will manage the requirement change workflow.
Implementation proposals:

Option A: Build up a query using CmQuerySyntaxV2? and selecting needed properties, either known from CmChangeRequestV2? or acquired schema. Display the results of query in RM tools interfaces, allowing user to select change request. [2.0] What properties are needed?

Option B: Open a delegated UI picker and create a new change request, browse existing change requests, or run a query to find any change requests assigned to the user. Link the selected change request to the requirement. Link the requirement to the change request.

Option C: Open a delegated UI query and run a pre-configured query, or construct a query, to find all change requests assigned to the user. Link to the change request selected in the query result to the requirement. Link the requirement to the change request.
[2.0]
Would need to add concept of delegated query selection
Either Option: [2.0] For Change Request, need a property to hold the link to the Requirement managesRequirements. For Requirement, need a property to hold the Change Request link managedBy .

Postcondition

  • Change Request may have been created
  • RM tool has a Change Request to track changes with

(Step 2) Requirements Engineer: Perform impact analysis using requirements traceability

  1. Identify additional Requirements that are impacted by change using requirements traceability.

Postcondition

  • Requirements engineer is aware of all affected requirements

(Step 3) Requirement Engineer: Make proposed changes to the Requirement(s)

  1. Open the Requirement(s) and make proposed changes.
  2. Save the proposed Requirement(s) changes but not applied. Changes to the Requirements are managed by the requirement management repository.
  3. Proposed Requirement changes are automatically linked to current Change Request
Implementation proposal:

Option A: The RM repository is responsible for managing and viewing changes to requirements. A user can use the RM link in the change request to browse to the requirement, to view the changes proposed to the requirement.
*[2.0]* Semantics for requesting change set view from requirements link in CM tool (same as option B?)
Option B: The RM repository is responsible for managing and viewing changes to requirements. A user can use the RM link in the change request to open a compact rendering of the requirement
[2.0] Would need to add concept of
compact rendering

Postcondition

  • Requirement changes have been made but not applied
  • Change Request is updated to link to proposed changes

(Step 4) Requirement Engineer: Send the proposed changes to review

  1. Transition the Change Request to the review state in the workflow.
  2. Add reviewers and send out review request notifications
Implementation proposal:

Option A: Reviewers are assigned in the CM tools when the Change Request is assigned. State transition can either be done in CM tools or if available, remotely from RM tool [2.0] State transitions by actions

Option B: Open the requirement and browse the link to the change request. Set the change request state to review. Create a review and add reviewers. Send out review notifications. All from within CM repository [1.0]

Option C: From the RM repository, transition the state of the linked change request using the Common Properties of a Change Request. Use a
a delegated UI query to select the reviewers and set the rewiewers using the Common Properties of a Change Request.
[2.0] Need concept of delegated UI query. Need pre-defined fields (what are they?) reviewers . Need concept of *state transitions*
Option D: Use the review capabilities in the RM tool and provide a link for reviewers to browse the change request. [1.0]

Postcondition

  • Change Request has been placed in a review state
  • Reviewers have been indicated and notified

(Step 5) Reviewer: Review and approve the changes

  1. Browse the link in review request notification to the Change Request, or open and view the list or Change Request ready to be reviewed.
  2. Open the change request and browse to the Requirement(s)
  3. Review the changes to the Requirement(s)
  4. Approve the requirement changes
  5. Transition the state of the Change Request to completed
  6. Send notification to the Change Request owner
Implementation proposal:
For Sub-Step 1 " open and view the list or Change Request ready to be reviewed"

Option A: Build up a query using CmQuerySyntaxV1 and selecting needed properties, known from CmChangeRequestV2? or acquired schema.
Note: would this query be on Change Requests or some Review Requests records?
[2.0] Need fields to query on: status (review), reviewer=<current user> and select: title,name. This could be built either programmatically by RM provider or as a configuration step by end user of RM. Remainder of steps are carried out within either RM or CM tool

Option B: Use a delegated query to find and browse requirement change request ready to be reviewed.
[2.0] This could be a pre-defined query "Requirement changes ready for review".
Note: what would be this query need to look like?

Option C: Use a delegated query picker to select a predefined query in the CM provider to run
[2.0] Need concept of delegated query picker. Could be selected during configuration of integration or by end-user (or both)


For Sub-Steps 2-6
Option A: From the RM repository, review the requirement changes. Provide an approval and transition the state of the linked change request.
[2.0] Need Change Request state transition initiated from RM consumer

Option B: Use the link(s) in the change request to open and review the requirement changes in the RM repository. Use the link on the changed requirement to return to the change request. Provide an approval on the change request and set the state to complete. The CM repository sends notifications to change request owners and subscribers. [1.0]

Option C: On the change request, use the compact rendering of the requirement to provide overview, or links, to the requirement changes. Browse links or hover for details. Approve and complete the change request.
[2.0] Need compact rendering


Postcondition

  • Review feedback has been captured
  • Change Request has been placed in a completed state

(Step 6) Requirement Engineer: Apply the changes

  1. Browse the link on the Change Request notification, or open and view the list or Change Request ready to be applied
  2. For each linked requirement, open the Requirement
  3. Apply the changes to the Requirement
  4. Save the Requirement
  5. Indicate in the Change Request that it has been applied, transitioning to close
Implementation proposal:
For Sub-Step 1:
See above
For Sub-Steps 2-5
A: From the RM repository, build up a query using CmQuerySyntaxV1 and selecting needed properties, known from CmChangeRequestV2? or acquired schema
. This query would look for CRs in the completed state

B: From the CM repository, run a query to find and browse
requirement change request ready to be applied.

Postcondition

  • Requirement changes have been applied

Alternate flows

  1. Review rejected, handling of incorporating feedback from review process
  2. Attempting to apply changes to Requirement without having appropriate reviews

Resources

  • Requirement
    • The requirement management tool is the consumer of the CM 2.0 specification. The CM 2.0 spec do not declare a requirements resource type, but depend on the RM specification for such resource definitions.
    • This scenario uses the requirement as the resource that demands a change request to delegate/manage/govern a change management workflow.
  • Change Request
    • The change request, specified in CM 1.0 spec, is the resource used by the requirement to delegate/manage/govern its change management workflow.
    • The change management tool is the provider of the CM 2.0 specification.
    • The change request will persist a URI to the requirement, to enable the delegated UI to browse and display requirements and requirements changes.

Queries

Proposal : this may NOT be needed using the delegated approach

This scenario is using the OSLC Common Query Specification to embed the capability to query, and display change requests query result sets from within the RM tool. If a query is not defined an alternate default behavior should be implemented.

Examples of such queries are

  • Assigned - all open change requests assigned to the current user, [optionally] filtered for request types applicable to requirements change management.
  • Reviewed - all open change requests assigned to the current user for review.
  • Completed - all completed change requests ready to be applied.

Notes and Todos

  • Note: Scenario flow simplified and updated. Technical details demoted to implementation proposal sections.
  • Note: Use of requirement change set demoted to an optional responsibility of the RM tool.

Misc Notes

Current integrations similar to this require this information:

Known Properties:

  • state
  • summary
  • problem number
  • description

States:

  • assigned
  • review
  • approved
  • applied
  • completed
  • rejected

Additionally which form to use for CR creation.

Comments

Step 3 seems to commit too much to how the change set is managed. This level of detail would need to have the corresponding statement that the RCR needs to have an association with the change set that the requirements engineer created.

SteveSpeicher : There isn't a explicit change set resource. We simply link a CR to a Requirement resource, and leave that definition of what gets lined to RM.

-- IanGreen - 10 Mar 2010

Step 3 Implementation Notes: the link to the requirement from the RCR could give the CM user a view of the requirement(s) under change. A separate association would be needed to the change sets in order to view the change sets. I don't see this link being mentioned in the scenarios (c.f. my comment above).

SteveSpeicher : The RCR links to a Requirement resource which represents a the proposed changes. The RM tool can either treat this a Requirement with a link to a change set or something more general, that being a Requirement under development (or a proposed Requirement with changes). We are leaving the definition and presentation up to the RM tool.

-- IanGreen - 10 Mar 2010

Step 5 Implementation Notes, sub-steps 2-6, option B. Is this suggesting that the change sets have a compact rendering?

SteveSpeicher : Yes, a way to get view from CM tool via hover, etc.

-- IanGreen - 10 Mar 2010

 
Topic attachments
I Attachment Action Size Date Who Comment
pngpng propose-reqs.png manage 8.0 K 05 Mar 2010 - 18:28 SteveSpeicher Propose Changes to Requirements
Topic revision: r10 - 22 Apr 2010 - 14:48:09 - SteveSpeicher
 
This site is powered by the TWiki collaboration platform Copyright � by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Contributions are governed by our Terms of Use
Ideas, requests, problems regarding this site? Send feedback