Skip to content

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)

  1. The collaborator accesses the feedback request list screen, which, in addition to the list, contains a button to create a new form.
  2. The list contains all the requests the collaborator has created with the creation date, status, and buttons for editing, deleting, and viewing.
  3. If the status is "in creation," the form can be edited or deleted.
  4. If the status is "pending approval," the form can be viewed *** or deleted.
  5. If the status is "awaiting responses," the form can be viewed. ***
  6. 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)

  1. The collaborator clicks the "Create" button. The collaborator can only start a new form 6 months after the last one was finished.
  2. The system displays a form to create the feedback request.
  3. The collaborator adds a minimum of three custom questions.
  4. The collaborator adds a minimum of two and a maximum of nine evaluators, entering their first/last name and email in a list.
  5. 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.
  6. The collaborator clicks the "Send for approval" button if they have finished filling out the request and wish to send it for PDM approval.
  7. The collaborator is directed to the "PDM approval" step, where they can view the questions and the invited evaluators.
  8. The collaborator clicks the "Save draft" button if they want to finish filling out the request later.
  9. The system sends a notification email to the PDM.
  10. The form's status is updated to "pending approval."

REQUEST LIST (PDM)

  1. The PDM accesses the system and views the list of feedbacks to be approved.
  2. 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.
  3. If the status is "not evaluated," the form can be analyzed.
  4. If the status is "awaiting response," no actions can be performed.
  5. If the status is "finished," the form can be viewed. ***
  6. The list is divided into 2 parts:
  7. Pending: requests awaiting responses from invitees and requests awaiting PDM analysis.
  8. Closed: closed requests.

Note: the view function is covered in the "Feedback Visualization" epic.

FORM APPROVAL (PDM)

  1. The PDM clicks the "Analyze form" button.
  2. The PDM approves or rejects the request by selecting the desired option.
  3. If the selected option is "No," the comment field is displayed, and the PDM fills this field explaining the reason for rejection.
  4. The PDM clicks the "Finalize analysis" button.
  5. If approved, the request cannot be edited, and an email is sent to the evaluators.
  6. From the approval date, evaluators have 3 months to respond to the feedback.
  7. If rejected, the form returns to the previous status ("in creation"), and the collaborator can edit the questions and invitees to resubmit for approval.
  8. If rejected, the collaborator receives an email notification.
  9. If rejected, the PDM no longer sees the form until it is sent for approval again.
  10. The PDM is redirected to the request list.

FORM EDITING (collaborator)

  1. By clicking the "edit" button, the collaborator is directed to the form configuration step.

FORM DELETION (collaborator)

  1. By clicking the "delete" button, a confirmation message is displayed.
  2. Upon confirming the deletion, an email notification is sent to the PDM.
  3. 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

mmd

Feedback Request

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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

  1. 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").
  2. 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.
  3. 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.
  4. 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.