Detailed Epic - Feedback Request
Feedback Request
User View
AS A collaborator I WANT to create a feedback request SO THAT I can receive feedback from external evaluators (clients)
Business Narrative
Collaborators need a way to request feedback from external evaluators (clients), ensuring the process is approved by the PDM to maintain the quality and relevance of the evaluations.
Screen Flow
REQUEST LIST (collaborator)
- The collaborator accesses the feedback request list screen, which, in addition to the list, contains a button to create a new form.
- The list contains all the requests the collaborator has created with the creation date, status, and buttons for editing, deleting, and viewing.
- If the status is "in creation," the form can be edited or deleted.
- If the status is "pending approval," the form can be viewed *** or deleted.
- If the status is "awaiting responses," the form can be viewed. ***
- If the status is "finished," the form can be viewed. ***
Note: the view function is covered in the "Feedback Visualization" epic.
CREATE NEW FORM (collaborator)
- The collaborator clicks the "Create" button. The collaborator can only start a new form 6 months after the last one was finished.
- The system displays a form to create the feedback request.
- The collaborator adds a minimum of three custom questions.
- The collaborator adds a minimum of two and a maximum of nine evaluators, entering their first/last name and email in a list.
- If the evaluator's email is from CI&T, the system should not allow it to be added, as only external evaluators can be invited.
- The collaborator clicks the "Send for approval" button if they have finished filling out the request and wish to send it for PDM approval.
- The collaborator is directed to the "PDM approval" step, where they can view the questions and the invited evaluators.
- The collaborator clicks the "Save draft" button if they want to finish filling out the request later.
- The system sends a notification email to the PDM.
- The form's status is updated to "pending approval."
REQUEST LIST (PDM)
- The PDM accesses the system and views the list of feedbacks to be approved.
- The list contains all requests from the PDM's collaborators with their login, role, creation date, status, and buttons to analyze the form and view it.
- If the status is "not evaluated," the form can be analyzed.
- If the status is "awaiting response," no actions can be performed.
- If the status is "finished," the form can be viewed. ***
- The list is divided into 2 parts:
- Pending: requests awaiting responses from invitees and requests awaiting PDM analysis.
- Closed: closed requests.
Note: the view function is covered in the "Feedback Visualization" epic.
FORM APPROVAL (PDM)
- The PDM clicks the "Analyze form" button.
- The PDM approves or rejects the request by selecting the desired option.
- If the selected option is "No," the comment field is displayed, and the PDM fills this field explaining the reason for rejection.
- The PDM clicks the "Finalize analysis" button.
- If approved, the request cannot be edited, and an email is sent to the evaluators.
- From the approval date, evaluators have 3 months to respond to the feedback.
- If rejected, the form returns to the previous status ("in creation"), and the collaborator can edit the questions and invitees to resubmit for approval.
- If rejected, the collaborator receives an email notification.
- If rejected, the PDM no longer sees the form until it is sent for approval again.
- The PDM is redirected to the request list.
FORM EDITING (collaborator)
- By clicking the "edit" button, the collaborator is directed to the form configuration step.
FORM DELETION (collaborator)
- By clicking the "delete" button, a confirmation message is displayed.
- Upon confirming the deletion, an email notification is sent to the PDM.
- The form list is updated.
Non-Functional Requirements
- When saving the form, the form ID must be a hash.
- When sending the form link to the evaluator, it must contain the hash.
- The request list must have pagination behavior.
Acceptance Criteria
- The system must allow the creation of a feedback request with a minimum of three custom questions.
- The system must allow the dynamic addition of evaluators' names and emails.
- The system must send a notification email to the PDM when the request is saved.
- The system must allow the PDM to approve or reject feedback requests.
- The system must send an email to evaluators when a request is approved.
- The system must allow the collaborator to edit the request if it is rejected by the PDM.
- The system must allow the collaborator to delete the request if it is in the creation or approval stages.
Stories View
Feedback Request
-
Feedback Request Listing
- Develop the endpoint to list a collaborator's feedback requests.
- Implement the user interface to display the list with creation date, status, and action buttons (edit, delete, view).
- Apply conditional logic to enable/disable buttons based on the form status ("in creation," "pending approval," "awaiting responses," "finished").
- Implement pagination functionality for the request list.
-
Layout of the request creation screen, including status bar
- Design and implement the layout for the feedback request form creation screen.
- Include fields for custom questions and evaluators.
- Develop a visual status bar to indicate the request's progress.
-
Add Custom Questions
- Implement the functionality to dynamically add a minimum of three custom questions to the form.
- Develop the UI component for text input of the questions.
- Ensure validation for the minimum number of questions.
-
Add Evaluators Dynamically
- Implement the functionality to dynamically add a minimum of two and a maximum of nine evaluators (name, surname, email).
- Develop the UI component for evaluator data entry.
- Add validation for the email domain (@ciandt.com.br not allowed).
- Ensure validation for the minimum and maximum number of evaluators.
-
Save and Notify PDM
- Implement the "Send for approval" button functionality to persist the request in the database.
- Develop the endpoint to create/update the feedback request.
- Update the form status to "pending approval."
- Develop a notification email for the PDM informing them of the new request.
- Implement the "Save draft" button functionality to persist the request with the "in creation" status.
- Ensure the form ID is a hash when saved.
- Implement validation for the creation interval of new forms (6 months after the last one is finished).
Feedback Request Approval
-
Listing of requests to approve
- Develop the endpoint to list feedback requests pending approval for a PDM.
- Implement the user interface to display the list with login, role, creation date, status, and action buttons (analyze form, view).
- Separate the list into "Pending" (awaiting response or PDM analysis) and "Closed" sections.
- Apply conditional logic to enable/disable actions based on the form status ("not evaluated," "awaiting response," "finished").
-
Approve or Reject Request
- Develop the interface for the PDM to approve or reject the request.
- Implement a conditional comment field for rejection.
- Develop the endpoint to process the approval/rejection of the request.
- Update the request status according to the PDM's decision (approved: "awaiting responses," rejected: "in creation").
- Implement logic to hide the rejected form from the PDM's view until it is resubmitted.
- Develop a notification email for the collaborator in case of rejection.
-
Edit Rejected Request
- Implement navigation to the editing screen when the form status is "in creation" after a rejection.
- Load the data from the rejected form for editing.
- Allow the collaborator to modify questions and evaluators.
-
Send Email to Evaluators
- Implement the email sending service for evaluators when the request is approved.
- Ensure the form link in the email contains the form's hash.
- Set a 3-month deadline for evaluators to respond to the feedback from the approval date.