Skip to content

Plano de Ensino

Jeferson Alves edited this page Mar 22, 2018 · 1 revision

Plano de Ensino

Original disponível aqui por Jonathan Moraes

...

O Produto de Software

O codinome do produto de software é UnB Feelings e possui como objetivo diagnosticar o estado psicológico de alunos e professores da Universidade de Brasília através de notificações voluntárias.

O nome é inspirado em hashtags utilizadas em redes sociais (como Twitter, Facebook e Instagram) para descrever situações típicas ou excêntricas que aconteceram na universidade.

UnB Feelings para Alunos e Professores

Eu, como aluno ou professor, considero que o sistema deve fornecer:

  • REQ-1: Funcionalidades para que eu possa expor qual foi meu sentimento acerca da aula que acabei de participar, de forma anônima;
  • REQ-2: Funcionalidades para que eu possa expor qual foi meu sentimento durante o dia na universidade, de forma anônima;
  • REQ-3: Funcionalidades para que eu veja meu próprio diagnóstico. De forma que eu possa perceber, além de outras informações, quais os dias da semana são mais ou menos estressantes e quais disciplinas me desgastam ou me motivam;
  • REQ-4: Funcionalidades para que eu veja o perfil de outras pessoas, que possuirão identidades anônimas, e seu respectivo diagnóstico;
  • REQ-5: Funcionalidades para que eu visualize e compartilhe o diagnóstico de disciplinas, cursos, campus e da universidade como um todo.
  • REQ-6: Funcionalidades para que eu publique no perfil de outra pessoa, de forma anônima, com o principal objetivo de apoiar ou motivar a melhoria da saúde mental de meus colegas de universidade;
  • REQ-7: Funcionalidades para que eu bloqueie perfis de forma que eu possa impedir possíveis abusos e agressões verbais;

UnB Feelings em Termos Técnicos

Eu, como Product Owner, considero como requisitos técnicos:

  • REQT-01: Que o sistema seja dividido em duas camadas: backend e frontend. Tais camadas devem ser sistemas distintos;
  • REQT-02: Que a arquitetura de backend e de frontend sigam os padrões descritos pela comunidade e pela equipe mantenedora dos frameworks escolhidos;
  • REQT-03: Que os testes automatizados contemplem de forma satisfatória todos os critérios de aceitação do produto definidos durante as sprints;
  • REQT-04: Que o fluxo de desenvolvimento siga as premissas do GitFlow, de Vincent Driessen;
  • REQT-05: Que seja utilizado Docker Compose, em nível de development, para automatizar a instalação do ambiente de desenvolvimento;
  • REQT-06: Que seja utilizado Docker Compose, em nível de test, para automatizar a execução da(s) suíte(s) de teste;
  • REQT-07: Que seja utilizado Docker Compose, em nível de production, para automatizar a instalação do ambiente de produção;
  • REQT-08: Que seja utilizado Docker para versionar imagens de homologação e produção do sistema no GitLab Registry;
  • REQT-09: Que seja realizado Integração Contínua utilizando GitLab CI/CD;
  • REQT-10: Que seja realizado Entrega Contínua utilizando GitLab CI/CD;
  • REQT-11: Que o backend seja uma API RESTful ou API GraphQL;
  • REQT-12: Que o backend possua documentação interna para uso da API;
  • REQT-13: Que o frontend seja adequadamente responsivo;
  • REQT-14: Que o frontend possua um design que promova bons sentimentos como: calma, harmonia e segurança.

Frente de Desenvolvimento

Possui como objetivo desenvolver os requisitos do produto seguindo o processo de desenvolvimento ágil definido em comum acordo com o time de melhoria de processos.

O time de desenvolvimento será dividido em dois grupos:

  • BackDevs: Responsável pelo desenvolvimento do backend. O grupo deve ser composto por 3, 4 ou 5 devs;
  • FrontDevs: Responsável pelo desenvolvimento do frontend. O grupo deve ser composto por 9, 10 ou 11 devs.

Do ponto de vista de requisitos:

  • O roadmap definido é único e de responsabilidade do time;
  • Cada grupo possuirá seu próprio backlog e os requisitos serão mantidos isoladamente;

Critérios de Avaliação

Os critérios de avaliação para a frente de desenvolvimento são:

  1. Entrega de Requisitos do Cliente (ERC): Contempla 60% da nota total e é avaliada de acordo com o percentual de entrega realizada pelo time;
  2. Adesão aos Requisitos Técnicos (ART): Contempla 40% da nota total e é avaliada de acordo com a concordância com os requisitos técnicos durante o desenvolvimento;
  3. Taxa Bônus de Adesão ao Processo (AP): Contempla um aumento de até 30% da nota total e é avaliada de acordo com a concordância com o processo definido pela turma;
  4. Taxa Bônus de Transferência de Conhecimento (TC): Contempla um aumento de até 10% da nota total e é avaliada pela qualidade da transferência de conhecimento e apoio para a próximo time da frente de desenvolvimento.

Desta forma, o algoritmo da nota da frente de desenvolvimento é:

NDev = (0.6*ERC + 0.4*ART)
NDev = NDev + (0.03*AP*NDev) + (0.01*TC*NDev)
NDev = min(NDev, 10.0)

Entrega de Requisitos do Cliente

Para o primeiro time da frente de desenvolvimento, os critérios de avaliação de entrega de requisitos do cliente são:

  • BackDevs:
    1. API para cadastro/login via OAuth2 Facebook e Twitter;
    2. API para REQ-1;
    3. API para REQ-2.
    4. Seed de campus da UnB, seus cursos e suas respectivas disciplinas.
  • FrontDevs:
    1. Homepage;
    2. Login/Cadastro via Facebook e Twitter;
    3. Selecionar Curso e Disciplinas (REQ-1,2);
    4. Registrar Sentimento sobre a Disciplina (REQ-1);
    5. Registrar Sentimento sobre o dia na Universidade (REQ-2).

Para o segundo time da frente de desenvolvimento, os critérios de avaliação de entrega de requisitos do cliente são:

  • BackDevs:
    1. API para REQ-3;
    2. API para REQ-4;
    3. API para REQ-5.
  • FrontDevs:
    1. Visualizar Minha Timeline de Sentimentos (REQ-3);
    2. Visualizar Meu Diagnóstico (REQ-3);
    3. Visualizar Diagnósticos de Perfis (REQ-4);
    4. Visualizar Timeline de Sentimentos por Disciplina (REQ-5);
    5. Visualizar Timeline de Sentimentos por Curso (REQ-5);
    6. Visualizar Timeline de Sentimentos por Campus (REQ-5);
    7. Visualizar Timeline de Sentimentos da UnB (REQ-5);
    8. Visualizar/Compartilhar Diagnósticos por Disciplina (REQ-5);
    9. Visualizar/Compartilhar Diagnósticos por Curso (REQ-5);
    10. Visualizar/Compartilhar Diagnósticos por Campus (REQ-5);
    11. Visualizar/Compartilhar Diagnóstico da UnB (REQ-5).

Para o terceiro time da frente de desenvolvimento, os critérios de avaliação de entrega de requisitos do cliente são:

  • BackDevs:
    1. API para REQ-6;
    2. API para REQ-7;
  • FrontDevs:
    1. Publicar Apoio ao Perfil (REQ-6);
    2. Gerir Apoios Recebidos (REQ-6);
    3. Bloquear Perfil (REQ-7);
    4. Gerir Perfis Bloqueados (REQ-7).

Adesão aos Requisitos Técnicos

Para o time da frente de desenvolvimento, os critérios de avaliação de entrega de requisitos técnicos são:

  • BackDevs:
    1. Adesão ao REQT-01, REQT-02, REQT-11 e REQT-12;
    2. Adesão ao REQT-03;
    3. Adesão ao REQT-04, REQT-05, REQT-06 e REQT-07;
    4. Adesão ao REQT-08, REQT-09 e REQT-10.
  • FrontDevs:
    1. Adesão ao REQT-01, REQT-02, REQT-13 e REQT-14;
    2. Adesão ao REQT-03;
    3. Adesão ao REQT-04, REQT-05, REQT-06 e REQT-07;
    4. Adesão ao REQT-08, REQT-09 e REQT-10.

Taxa Bônus de Adesão ao Processo

Para o time da frente de desenvolvimento, os critérios de avaliação de adesão ao processo são:

  1. Se ERC == 100%, a taxa bônus é concedida integralmente automaticamente;
  2. Caso contrário, a taxa bônus é concedida proporcional aos resultados das análises das outras frentes sobre adesão ao processo.

Taxa Bônus de Transferência de Conhecimento

Para o time da frente de desenvolvimento, os critérios de avaliação de transferência de conhecimento são:

  1. Se ERC == 100% na entrega da próxima equipe e o quiz de avaliação de transferência de conhecimento for positiva, a taxa bônus é concedida integralmente automaticamente;
  2. Caso contrário, a taxa bônus é concedida proporcional aos resultados do quiz de avaliação de transferência de conhecimento.
Clone this wiki locally