Requirements Approval Workflow

Requirements Approval Workflow

RMsis implements a simple workflow for approving requirements, which does not compromise with the system usability, while providing the required functionality. Essentially there are 3 major stages for a requirement:

  1. Informal, where a requirement is analyzed for it's value.

  2. Assigned, where it is allocated an owner (Analyst / Manager) and is analyzed and developed further.

  3. Approved, where it is reviewed and approved by the Manager / Requirements Owner.

In the context of RMsis, it is also important to state the difference between Approval and Baseline; which is done through the following description:

  • Definitions

    • Approval: approval is typically at the Project Level, with the Manager taking the final call to say that the requirement is adequately specified.

    • Baseline: On the other hand, Baseline is an agreement between all stakeholders, that they agree to a specific version of one or more Requirements.

  • Sequence of Operations

    1. Requirement is elaborated.

    2. It is reviewed and updated.

    3. The approved version is committed.

    4. It is released for review by all the stakeholders.

    5. The agreed upon version is committed.

    6. Chosen set of committed requirements are baselined.

States of a Requirement

When the Requirements Approval Workflow is enabled, a Requirement can have the following states, as shown in the Status column:

  1. Unplanned Table

    1. New 

      • A new requirement filed by a user in UnPlanned Table is assigned this default status.

    2. Valid 

      • Analyst / Manager with appropriate rights can mark the status as valid.

      • It implies that this requirement should be considered for movement into Planned Requirement set.

    3. Invalid 

      • Analyst / Manager with appropriate rights can mark the status as invalid.

      • All invalid requirements are subsequently ignored and hence can be filtered out during the analysis phase.

    4. Deferred

      • Analyst / Manager with appropriate rights can mark the status as deferred.

      • This status is considered in-deterministic and is deferred for another round of analysis.

  2. Planned Table

    1. Open 

      • This is the default state, when a requirement is moved to the Planned Requirements Table.

    2. Assigned / Under Development 

      • The state is changed to Assigned, when a User (typically a Business Analyst or Manager) is assigned to a Requirement.

      • In this phase, the owner also analyzes (also assigns values to attributes) and develops the requirement.

    3. Review 

      • The owner changes the status to Review, when he / she considers it complete and fit for review.

    4. Request Approval

      • When all review comments have been incorporated, the owner changes the state to Request Approval.

    5. Approved

      • State is set to Approved by the Project Lead / Project Manager.

    6. Completed 

      • When the requirements is completely implemented and ready for release, Project Lead / Project Manager can set the status to Completed,

    7. Closed

      • The status is set to Closed by Project Lead / Project Manager, when the requirement is completed and released in the product and no further work needs to be done on the same.

State Transition Diagram

Transitions

For Unplanned Table transitions

 

From Status

Target Status

Permissions

New

Valid, Invalid, Deferred

Edit All Unplanned Requirements

Valid

Invalid, Deferred

Edit All Unplanned Requirements

Invalid

Valid, Deferred

Edit All Unplanned Requirements

Deferred

Valid, Invalid

Edit All Unplanned Requirements

For Unplanned Table to Planned Table Transition

From Status

Target Status

Permissions

New, Valid, Invalid, Deferred

Open

Create Planned Requirement

For Planned Table Transitions

From Status

Target Status

Permissions

Open

Assigned / Under Development

Edit All Planned Requirements

Manage and Approve Planned Requirements

Open

Completed, Closed

Edit All Planned Requirements

Open

Approved

Edit All Planned Requirements

Assigned / Under Development

Review

Edit Allocated Planned Requirements

Assigned / Under Development

Request Approval

Edit Allocated Planned Requirements

Review

Request Approval

Edit Allocated Planned Requirements

Review

Assigned / Under Development

Edit All Planned Requirements

Manage and Approve Planned Requirements

Request Approval

Assigned / Under Development

Edit All Planned Requirements

Manage and Approve Planned Requirements

Request Approval

Approved

Manage and Approve Planned Requirements

Approved

Completed

Edit All Planned Requirements

Manage and Approve Planned Requirements

Completed

Closed

Edit All Planned Requirements

Manage and Approve Planned Requirements

Notes on State Changes

  1. Review State is just indicated by the attribute value and can be used by any viewer to filter out the requirements in Review State.

  2. When an Owner is assigned to a requirement, the state automatically changes to Assigned.

    1. If the user tries to change the state to Assigned, he/she should be given an error asking to assign a user in order to change state.

Notes on Review State

  • In the initial release of this workflow, there are no explicit operations involved with the "Review State".

  • The Owner / Manager is expected to informally manage the review process.

Ownership

The ownership will fall into three categories

  • Creator, who owns the requirement in the Unplanned Table.

  • Assignee, who is allocated the requirement by the project Manager.

  • Product Owner,  who has rights over the entire set of requirements in the project.

Permissions

The following set of permissions will be significant for the Requirement Approval Process:

  • Edit Unplanned Requirements.

  • Edit All Planned Requirements.

  • Edit Allocated Planned Requirements.

  • Manage and Approve Planned Requirements.

Default Rights

By default, only users having following roles will have rights to modify the states of UnPlanned & Planned Requirements

  • Project Lead / Project Manager

  • Business Analyst

Additionally, (by default) only the Project Lead / Project Manager can change status to the following states:

  • Open

  • Approved

  • Completed

  • Closed