Detailed Epic - Feedback Response
User View
AS A reviewer I WANT to respond to a feedback request from an employee SO THAT I can contribute to their professional development
Business Narrative
The feature must allow invited reviewers to respond to feedback forms anonymously, ensuring that internal employees cannot provide feedback.
Screen Flow
LOGIN
- The reviewer enters their email.
- The reviewer clicks the "Login" button.
- The system validates if the user is an invited reviewer.
- If not, it displays an error message.
- If so, a new field is displayed for the reviewer to enter the access code.
- The reviewer receives the system-generated access code by email.
- The reviewer enters the code.
- The code is validated by the system.
- If correct, the reviewer is redirected to the form.
- If incorrect, it displays an error message.
FEEDBACK RESPONSE
- The system checks if the form is within the response deadline.
- If not, it displays a message stating that the deadline has expired.
- The reviewer accesses the form containing all the questions registered by the employee.
- The reviewer fills out the form.
- If they check "don't know how to evaluate," the answer field is disabled.
- The reviewer clicks the "Save draft" button if they want to finish filling it out later.
- The reviewer clicks the "Submit evaluation" button.
- The system displays a confirmation message: "Thank you for your feedback!"
- If this is the last reviewer to respond, the form's status is changed to "completed," and the employee should receive an email notification.
Non-Functional Requirements
-
Acceptance Criteria
- The system must only allow external clients indicated by the employee to provide feedback.
- The system must store the feedback associated with the employee who requested it.
- The system must display a confirmation message after the feedback is submitted.
- Before the questionnaire can be answered, the system must validate if it is within the validity period (3 months from the PDM approval date).
Stories View
1. Validate Reviewer (Login)
- Develop the Login endpoint to receive the reviewer's email.
- Implement the email validation logic to check if it's an invited reviewer.
- Generate and send a unique access code to the reviewer via email.
- Develop the endpoint to receive and validate the access code.
- Implement the logic to redirect the reviewer to the form if the code is valid, or display an error message otherwise.
- Ensure that emails from the
@ciandt.com.brdomain are rejected during the login process, reinforcing that only external reviewers can respond.
2. Display Feedback Response Form
- Develop the endpoint to fetch the feedback form based on the received hash.
- Implement deadline validation: check if the form is within 3 months from the PDM approval date.
- Display a clear error message if the deadline has expired.
- Develop the user interface to render the employee's custom questions.
- Implement the functionality to disable the answer field if the reviewer checks "don't know how to evaluate."
3. Save Feedback Responses
- Develop the endpoint to save feedback responses (as a draft or finalized).
- Persist the reviewer's responses in the database, associating them with the form and the employee.
- Implement the logic for the "Save draft" button, allowing the reviewer to resume filling it out later.
- Implement the logic for the "Submit evaluation" button, validating that all mandatory questions have been answered or marked as "don't know how to evaluate."
- Display the confirmation message "Thank you for your feedback!" upon submission.
4. Notify Employee about Responded Feedback
- Implement the logic to check if the reviewer who just responded is the last pending reviewer for that form.
- Update the form's status to "completed" if all responses are received.
- Develop and send an email notification to the employee when the form's status changes to "completed."