Pular para conteúdo

Épico Detalhado - Resposta de Feedback

User View

COMO um avaliador EU QUERO responder uma solicitação de feedback de um colaborador PARA QUE contribuir com a evolução de seu trabalho

Business Narrative

A funcionalidade deve permitir que avaliadores convidados respondam formulários de feedback anonimamente, garantindo que colaboradores internos não possam dar feedback.

Screen Flow

LOGIN

  1. O avaliador insere seu e-mail.
  2. O avaliador clica no botão “Login”.
  3. O sistema valida se o usuário é um avaliador convidado.
  4. Se não, exibe uma mensagem de erro.
  5. Se sim, um novo campo é exibido para que o avaliador informe o código de acesso.
  6. O avaliador recebe por e-mail o código de acesso gerado pelo sistema
  7. O avaliador informa o código.
  8. O código é validado pelo sistema.
  9. Se correto, o avaliador é direcionado para o formulário.
  10. Se não correto, exibe uma mensagem de erro.

RESPOSTA DE FEEDBACK

  1. O sistema verifica se o formulário está dentro do prazo a ser respondido.
  2. Se não estiver, exibe uma mensagem informando que o prazo expirou.
  3. O avaliador acessa o formulário contendo todas as perguntas cadastradas pelo colaborador.
  4. O avaliador preenche o formulário.
  5. Se sinalizar que “não sabe avaliar”, o campo de resposta é desabilitado.
  6. O avaliador clica no botão "Salvar rascunho" caso queira terminar o preenchimento mais tarde.
  7. O avaliador clica no botão "Finalizar avaliação".
  8. O sistema exibe uma mensagem de confirmação: "Obrigado pelo seu feedback!"
  9. Se for o último avaliador a responder, o status do formulário é alterado para “finalizado” e o colaborador deve receber uma notificação por e-mail.

Non-Functional Requirements

Acceptance Criteria

  • O sistema deve permitir que apenas clientes externos indicados pelo colaborador forneçam feedback.
  • O sistema deve armazenar o feedback associado ao colaborador que solicitou.
  • O sistema deve exibir uma mensagem de confirmação após o envio do feedback.
  • Antes de ser respondido o questionário o sistema deve validar se o mesmo se encontra dentro do período de validade (3 meses a partir da data de aprovação do PDM.)

Visão das histórias

mmd

1. Validar Avaliador (Login)

  • Desenvolver o endpoint de Login para receber o e-mail do avaliador.
  • Implementar a lógica de validação do e-mail para verificar se é um avaliador convidado.
  • Gerar e enviar um código de acesso único por e-mail para o avaliador.
  • Desenvolver o endpoint para receber o código de acesso e validá-lo.
  • Implementar a lógica para direcionar o avaliador para o formulário se o código for válido, ou exibir mensagem de erro caso contrário.
  • Garantir que e-mails de domínio @ciandt.com.br sejam rejeitados no processo de login, reforçando que apenas avaliadores externos podem responder.

2. Exibir Formulário de Resposta de Feedback

  • Desenvolver o endpoint para buscar o formulário de feedback com base no hash recebido.
  • Implementar a validação de prazo: verificar se o formulário está dentro dos 3 meses a partir da data de aprovação do PDM.
  • Exibir uma mensagem de erro clara se o prazo tiver expirado.
  • Desenvolver a interface de usuário para renderizar as perguntas personalizadas do colaborador.
  • Implementar a funcionalidade para desabilitar o campo de resposta caso o avaliador sinalize “não sabe avaliar”.

3. Salvar Respostas do Feedback

  • Desenvolver o endpoint para salvar as respostas do feedback (como rascunho ou finalizadas).
  • Persistir as respostas do avaliador no banco de dados, associando-as ao formulário e ao colaborador.
  • Implementar a lógica para o botão "Salvar rascunho", permitindo que o avaliador retome o preenchimento mais tarde.
  • Implementar a lógica para o botão "Finalizar avaliação", validando que todas as perguntas obrigatórias foram respondidas ou sinalizadas como "não sabe avaliar".
  • Exibir a mensagem de confirmação "Obrigado pelo seu feedback!" após a finalização.

4. Notificar Colaborador sobre Feedback Respondido

  • Implementar a lógica para verificar se o avaliador que acabou de responder é o último avaliador pendente para aquele formulário.
  • Atualizar o status do formulário para “finalizado” se todas as respostas forem recebidas.
  • Desenvolver e enviar um e-mail de notificação ao colaborador quando o status do formulário for alterado para “finalizado”.