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
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.
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
Implementation Constraints
- The workflow should not impact the usability of present system.
- This means that there should be no complex configuration screens, no additional popup's. everything should look identical to a user who does not wish to use this feature.
- The state changes should be enforced through values assigned to attributes.