Skip to content

Instantly share code, notes, and snippets.

@mpelos
Last active May 12, 2023 19:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mpelos/29781bcaabf72209d0bd141fe48ffeb7 to your computer and use it in GitHub Desktop.
Save mpelos/29781bcaabf72209d0bd141fe48ffeb7 to your computer and use it in GitHub Desktop.
360 evaluation web application definition

User Story: As an administrator, I need to associate a registered user with their peers, manager (if applicable), and subordinates (if applicable), so that they can conduct a 360-degree evaluation process.

Acceptance Criteria:

  1. Given that I am an authenticated administrator, when I navigate to an employee's profile, then I should see options to associate peers, a manager, and subordinates.

  2. Given that I am viewing an employee's profile, when I select the option to associate peers, then I should see a list of all other employees from which I can select.

  3. Given that I am selecting peers, when I choose an employee from the list, then that employee should be added to the list of peers for the first employee.

  4. Given that I have added a peer, when I view the list of peers, then the added employee should appear in that list.

  5. Given that I am viewing an employee's profile, when I select the option to associate a manager, then I should see a list of all other employees from which I can select one.

  6. Given that I am selecting a manager, when I choose an employee from the list, then that employee should be set as the manager for the first employee.

  7. Given that I have set a manager, when I view the manager, then the selected employee should appear as the manager.

  8. Given that I am viewing an employee's profile, when I select the option to associate subordinates, then I should see a list of all other employees from which I can select multiple.

  9. Given that I am selecting subordinates, when I choose employees from the list, then those employees should be added to the list of subordinates for the first employee.

  10. Given that I have added subordinates, when I view the list of subordinates, then the added employees should appear in that list.

  11. Given that I have made associations, when I navigate away and then back to the same profile, then the system should remember and display the same associations as before.

User Story: As a user, I need to be able to authenticate myself using my username and date of birth so that I can gain access to the platform.

Acceptance Criteria:

  1. Given that I am a registered user, when I go to the login page, then I should see fields to enter my username and date of birth.

  2. Given that I am a registered user, when I enter my correct username and date of birth, then I should be granted access to the platform.

  3. Given that I am a registered user, when I enter incorrect details, then I should see an error message indicating that the username or date of birth is incorrect.

  4. Given that I am a registered user, when I leave a field blank, then I should see an error message indicating that all fields are required.

  5. Given that I am a registered user, when I enter a date of birth in the wrong format, then I should see an error message indicating the correct format.

  6. Given that I am an administrator, when I enter my correct username and date of birth, then I should be granted access to the administrator's dashboard.

  7. Given that I am an administrator, when I enter incorrect details, then I should see an error message indicating that the username or date of birth is incorrect.

  8. Given that I am an administrator, when I leave a field blank, then I should see an error message indicating that all fields are required.

  9. Given that I am an administrator, when I enter a date of birth in the wrong format, then I should see an error message indicating the correct format.

  10. Given that I am an authenticated user, when I attempt to access the login page again, then I should be redirected to the platform dashboard.

  11. Given that I am an authenticated administrator, when I attempt to access the login page again, then I should be redirected to the administrator's dashboard.

  12. Given that I am a user, when I successfully login, then my session should remain active until I explicitly log out.

User Story: As an administrator, I need to compare an employee's self-evaluation score with the average of their peer evaluations to identify any discrepancies.

Acceptance Criteria:

  1. Given that I am an authenticated administrator, when I navigate to an employee's evaluation details, then I should see their self-evaluation scores and the average scores from their peer evaluations for each competency.

  2. Given that I am viewing an employee's evaluation details, when I view the scores, then each competency should display two scores: one for the employee's self-evaluation and one for the average peer evaluations.

  3. Given that I am viewing the evaluation scores, when there is a discrepancy of more than one point between the self-evaluation and the average peer evaluations for a competency, then the system should highlight this discrepancy.

  4. Given that I am viewing an employee's evaluation details, when I navigate to the summary, then I should see a total self-evaluation score and a total average peer evaluation score.

  5. Given that I am viewing the total scores, when there is a discrepancy of more than one point between the total self-evaluation score and the total average peer evaluation score, then the system should highlight this discrepancy.

  6. Given that I am viewing the evaluation details, when I navigate away and then back to the same page, then the system should remember and display the same details as before.

  7. Given that I am viewing a discrepancy, when I select the discrepancy, then the system should display the details of the individual evaluations that contributed to the average peer evaluation score for that competency.

User Story: As an employee, I need to be able to evaluate myself, my peers, my manager (if applicable) and my subordinates (if applicable) so that a comprehensive assessment can be conducted.

Acceptance Criteria:

  1. Given that I am an authenticated user, when I navigate to the "Evaluation" page, then I should see a list of employees related to me, including my own name.

  2. Given that I am an authenticated user, when I select an employee to evaluate, then I should be taken to the evaluation form for that employee.

  3. Given that I am on the evaluation form, when I start the evaluation, then I should be presented with one competency at a time, along with its three supporting questions.

  4. Given that I am on the evaluation form, when I see a competency and its supporting questions, then I should be able to answer each question with "yes" or "no".

  5. Given that I am on the evaluation form, when I have answered all three questions for a competency, then a score should be automatically calculated and displayed based on the criteria provided.

  6. Given that I am on the evaluation form, when I have completed the evaluation for one competency, then I should be able to proceed to the next competency.

  7. Given that I am on the evaluation form, when I have evaluated all competencies, then I should be able to submit the evaluation.

  8. Given that I am on the evaluation form, when I try to proceed without answering all questions for a competency, then I should see an error message indicating that all questions must be answered.

  9. Given that I have submitted an evaluation, when I select the same employee to evaluate again, then I should see a message indicating that I have already evaluated that employee.

  10. Given that I have submitted an evaluation, when I navigate back to the "Evaluation" page, then the evaluated employee should be marked as evaluated in the list of employees.

  11. Given that I am an authenticated user, when I have evaluated all related employees, then I should see a message indicating that all evaluations have been completed.

  12. Given that I am an authenticated user, when I answer "no" to all three supporting questions for a competency, then the system should automatically calculate and display a score of 1 for that competency.

  13. Given that I am an authenticated user, when I answer "yes" to only one of the three supporting questions for a competency, then the system should automatically calculate and display a score of 2 for that competency.

  14. Given that I am an authenticated user, when I answer "yes" to two of the three supporting questions for a competency, then the system should automatically calculate and display a score of 3 for that competency.

  15. Given that I am an authenticated user, when I answer "yes" to all three supporting questions for a competency, with some doubts, then I should be able to manually select a score of 4 for that competency.

  16. Given that I am an authenticated user, when I answer "yes" to all three supporting questions for a competency, with certainty, then I should be able to manually select a score of 5 for that competency.

  17. Given that I am an authenticated user, when I complete the evaluation for a competency, then the system should automatically save the calculated score for that competency.

  18. Given that I am an authenticated user, when I complete the evaluation for all competencies, then the system should automatically calculate and display the total score, which is the average of all competency scores.

  19. Given that I am an authenticated user, when I view the total score, then the score should be rounded to the nearest whole number.

  20. Given that I am an authenticated user, when I submit the evaluation, then the calculated scores should be saved in the system for future reference and analysis.

  21. Given that I am an authenticated user, when I begin the evaluation process, then the first competency to be evaluated should be "communication" and I should see three supporting questions:

    • Question 1: O colaborador consegue expressar suas ideias de forma clara e concisa, facilitando o entendimento por parte dos demais colegas de equipe?
    • Question 2: O colaborador demonstra habilidade para ouvir atentamente e compreender as opiniões e necessidades dos colegas de trabalho?
    • Question 3: O colaborador é capaz de adaptar seu estilo de comunicação para diferentes públicos e situações, garantindo a efetividade da mensagem transmitida?
  22. Given that I have completed the evaluation for "communication", when I proceed to the next competency, then it should be "proactivity" and I should see three supporting questions:

    • Question 1: O colaborador costuma tomar a iniciativa para resolver problemas ou desafios antes que sejam apontados por outros?
    • Question 2: O colaborador demonstra disposição para aprender e adotar novas tarefas ou responsabilidades que vão além de suas obrigações regulares?
    • Question 3: O colaborador antecipa necessidades e propõe soluções ou melhorias de maneira independente, sem precisar de constante supervisão?
  23. Given that I have completed the evaluation for "proactivity", when I proceed to the next competency, then it should be "responsibility" and I should see three supporting questions:

    • Question 1: O colaborador assume a responsabilidade pelos erros cometidos e toma medidas para corrigi-los sem buscar desculpas ou culpar os outros?
    • Question 2: O colaborador demonstra compromisso com os prazos e metas estabelecidos, fazendo todo o possível para cumpri-los?
    • Question 3: O colaborador trata as tarefas e projetos atribuídos como se fossem seus, demonstrando um alto nível de responsabilidade pelo resultado final
  24. Given that I have completed the evaluation for "responsibility", when I proceed to the next competency, then it should be "technical independence" and I should see three supporting questions:

    • Question 1: O colaborador é capaz de resolver desafios técnicos por conta própria, sem necessidade de assistência constante?
    • Question 2: O colaborador demonstra ter um bom entendimento e domínio das ferramentas e tecnologias usadas em seu trabalho?
    • Question 3: Quando se depara com um problema técnico desconhecido, o colaborador busca ativamente soluções e aprende novas habilidades para superá-lo, sem precisar de direcionamento frequente?
  25. Given that I have completed the evaluation for "technical independence", when I proceed to the next competency, then it should be "self-development" and I should see three supporting questions:

    • Question 1: O colaborador busca proativamente oportunidades para aprender e desenvolver novas habilidades que são relevantes para seu papel e crescimento na empresa?
    • Question 2: O colaborador aplica os aprendizados e feedbacks recebidos para melhorar seu desempenho e eficiência no trabalho?
    • Question 3: O colaborador demonstra uma atitude de aprendizado contínuo, mantendo-se atualizado sobre as novas tendências e desenvolvimentos em sua área de especialização?
  26. Given that I have completed the evaluation for "self-development", when I proceed to the next competency, then it should be "technical knowledge" and I should see three supporting questions:

    • Question 1: O colaborador é capaz de aplicar efetivamente suas habilidades e conhecimentos técnicos na realização de suas tarefas diárias, produzindo resultados de alta qualidade?
    • Question 2: O colaborador demonstra habilidade em utilizar o conhecimento técnico para resolver problemas complexos e desafios inerentes ao seu papel?
    • Question 3: O colaborador consegue adaptar e aplicar seu conhecimento técnico para diferentes situações, mostrando flexibilidade e inovação na execução de suas tarefas?
  27. Given that I have completed the evaluation for "technical knowledge", when I proceed to the next competency, then it should be "contribution to team objectives" and I should see three supporting questions:

    • Question 1: O colaborador realiza suas tarefas e responsabilidades de forma consistente, contribuindo para o alcance dos objetivos da equipe?
    • Question 2: O colaborador demonstra um forte compromisso com os objetivos da equipe, contribuindo de forma significativa para sua realização?
    • Question 3: O trabalho do colaborador alinha-se diretamente com os objetivos da equipe, proporcionando um impacto positivo no progresso geral?
  28. Given that I have completed the evaluation for "contribution to team objectives", when I proceed to the next competency, then it should be "collaboration and support for colleagues" and I should see three supporting questions (Question 1, Question 2, Question 3).

    • Question 1: O colaborador mostra disponibilidade e disposição para ajudar os colegas de trabalho quando necessário?
    • Question 2: O colaborador contribui de maneira significativa para um ambiente de trabalho colaborativo, compartilhando conhecimento e ideias com a equipe?
    • Question 3: O colaborador oferece suporte aos colegas de trabalho, auxiliando na resolução de problemas e desafios, quando solicitado?
  29. Given that I have completed the evaluation for "collaboration and support for colleagues", when I proceed to the next competency, then it should be "adaptability and problem-solving" and I should see three supporting questions:

    • Question 1: O colaborador demonstra capacidade de se adaptar rapidamente a mudanças no ambiente de trabalho, como alterações nas tarefas ou processos?
    • Question 2: O colaborador é capaz de encontrar soluções eficazes para os desafios e problemas que surgem durante a realização do seu trabalho?
    • Question 3: O colaborador mantém sua produtividade e qualidade de trabalho mesmo diante de situações adversas ou imprevistas?
  30. Given that I have completed the evaluation for "adaptability and problem-solving", when I attempt to proceed, then I should see a message indicating that I have completed the evaluation for all competencies.

  31. Given that I am an authenticated user, when I view the evaluation form for a competency, then I should be able to navigate back and forth between competencies before submitting the final evaluation.

User Story: As an administrator, I need to be able to register new employees so that they can participate in the evaluation process.

Acceptance Criteria:

  1. Given that I am an administrator, when I navigate to the user registration page, then I should see fields to enter the new user's details, including their name, date of birth, and username.

  2. Given that I am an administrator, when I enter all required details and submit the form, then the new user should be registered and added to the system.

  3. Given that I am an administrator, when I try to register a user with an existing username, then I should see an error message indicating that the username is already taken.

  4. Given that I am an administrator, when I leave a field blank during registration, then I should see an error message indicating that all fields are required.

  5. Given that I am an administrator, when I enter a date of birth in the wrong format, then I should see an error message indicating the correct format.

  6. Given that I am an administrator, when I successfully register a new user, then I should see a confirmation message indicating the user was registered successfully.

  7. Given that I am an administrator, when I register a new user, then the new user should be able to login using the provided username and date of birth.

  8. Given that I am an administrator, when I navigate to the user registration page, then I should have the option to set a user as a manager or a regular employee.

User Story: As an administrator, I need to view the average evaluation scores for all employees, so that I can understand the overall performance levels.

Acceptance Criteria:

  1. Given that I am an authenticated administrator, when I navigate to the "Evaluation Results" page, then I should see a list of all employees.

  2. Given that I am viewing the list of employees, when I select an employee, then I should see the individual scores for each competency for that employee, as well as their self-evaluation score.

  3. Given that I am viewing an employee's individual scores, when I view the details, then I should see the score for each competency, the self-evaluation score, and the average of all scores for that employee.

  4. Given that I am viewing an employee's individual scores, when I navigate back to the list, then the list should still be displayed in the same order and with the same filters applied as before I viewed the details.

  5. Given that I am viewing the list of employees, when I apply a filter or sort the list, then the list should update to reflect the applied filter or sorting order.

  6. Given that I am viewing the list of employees, when I view the overall scores, then I should see the average score for each competency across all employees, the average self-evaluation score across all employees, and the overall average score across all employees.

  7. Given that I am viewing the overall scores, when I navigate away and then back to the "Evaluation Results" page, then the overall scores should still be displayed and up-to-date.

User Story: As an employee, I need to view a list of employees related to me, including my own name, so that I know who I can evaluate.

Acceptance Criteria:

  1. Given that I am an authenticated user, when I navigate to the "View Relationships" page, then I should see a list of all employees related to me.

  2. Given that I am an authenticated user, when I view the list of related employees, then my own name should be included in the list.

  3. Given that I am an authenticated user, when I view the list of related employees, then I should be able to see their role (peer, manager, or subordinate).

  4. Given that I am an authenticated user, when I view the list of related employees, then the list should be sorted alphabetically by default.

  5. Given that I am an authenticated user, when I view the list of related employees, then I should have the option to sort the list by role (peers first, then manager, then subordinates).

  6. Given that I am an authenticated user, when I view the list of related employees, then I should be able to search for a specific employee by typing their name in a search bar.

  7. Given that I am an authenticated user, when I search for a specific employee, then the list should update in real-time to show matching results.

  8. Given that I am an authenticated user, when I click on a name in the list of related employees, then I should be taken to their evaluation form.

  9. Given that I am an authenticated user, when there are no related employees, then I should see a message indicating that there are no employees to evaluate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment