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 StatusTarget StatusPermissions
NewValid, Invalid, DeferredEdit All Unplanned Requirements
ValidInvalid, DeferredEdit All Unplanned Requirements
InvalidValid, DeferredEdit All Unplanned Requirements
DeferredValid, InvalidEdit All Unplanned Requirements

For Unplanned Table to Planned Table Transition

From StatusTarget StatusPermissions
New, Valid, Invalid, DeferredOpenCreate Planned Requirement

For Planned Table Transitions

From StatusTarget StatusPermissions
Open

Assigned / Under Development

Edit All Planned Requirements

Manage and Approve Planned Requirements

OpenCompleted, ClosedEdit All Planned Requirements
OpenApprovedEdit All Planned Requirements
Assigned / Under DevelopmentReviewEdit Allocated Planned Requirements
Assigned / Under DevelopmentRequest ApprovalEdit Allocated Planned Requirements
ReviewRequest ApprovalEdit Allocated Planned Requirements
ReviewAssigned / Under Development

Edit All Planned Requirements

Manage and Approve Planned Requirements

Request ApprovalAssigned / Under Development

Edit All Planned Requirements

Manage and Approve Planned Requirements

Request ApprovalApprovedManage and Approve Planned Requirements
ApprovedCompleted

Edit All Planned Requirements

Manage and Approve Planned Requirements

CompletedClosed

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