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 s
- Informal, where a requirement is analyzed for it's value.
- Assigned, where it is allocated an owner (Analyst / Manager) and is analyzed and developed further.
- 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
- Requirement is elaborated.
- It is reviewed and updated.
- The approved version is committed.
- It is released for review by all the stakeholders.
- The agreed upon version is committed.
- Chosen set of committed requirements are baselined.
States of a Requirement
A Requirement can have the following states, as shown in the Status column:
- Unplanned Table
- New
- A new requirement filed by a user in UnPlanned Table is assigned this default status.
- 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.
- 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.
- 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.
- New
- Planned Table
- Open
- This is the default state, when a requirement is moved to the Planned Requirements Table.
- 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.
- Review
- The owner changes the status to Review, when he / she considers it complete and fit for review.
- Request Approval
- When all review comments have been incorporated, the owner changes the state to Request Approval.
- Approved
- State is set to Approved by the Project Lead / Project Manager.
- Completed
- When the requirements is completely implemented and ready for release, Project Lead / Project Manager can set the status to Completed,
- 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.
- Open
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 |
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
- Review State is just indicated by the attribute value and can be used by any viewer to filter out the requirements in Review State.
- When an Owner is assigned to a requirement, the state automatically changes to Assigned.
- 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