-
Notifications
You must be signed in to change notification settings - Fork 2
Plano de Ensino
Original disponível aqui por Jonathan Moraes
...
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.
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;
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.
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;
Os critérios de avaliação para a frente de desenvolvimento são:
-
Entrega de Requisitos do Cliente (ERC): Contempla
60%
da nota total e é avaliada de acordo com o percentual de entrega realizada pelo time; -
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; -
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; -
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)
Para o primeiro time da frente de desenvolvimento, os critérios de avaliação de entrega de requisitos do cliente são:
-
BackDevs:
- API para cadastro/login via OAuth2 Facebook e Twitter;
- API para
REQ-1
; - API para
REQ-2
. - Seed de campus da UnB, seus cursos e suas respectivas disciplinas.
-
FrontDevs:
- Homepage;
- Login/Cadastro via Facebook e Twitter;
- Selecionar Curso e Disciplinas (
REQ-1,2
); - Registrar Sentimento sobre a Disciplina (
REQ-1
); - 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:
- API para
REQ-3
; - API para
REQ-4
; - API para
REQ-5
.
- API para
-
FrontDevs:
- Visualizar Minha Timeline de Sentimentos (
REQ-3
); - Visualizar Meu Diagnóstico (
REQ-3
); - Visualizar Diagnósticos de Perfis (
REQ-4
); - Visualizar Timeline de Sentimentos por Disciplina (
REQ-5
); - Visualizar Timeline de Sentimentos por Curso (
REQ-5
); - Visualizar Timeline de Sentimentos por Campus (
REQ-5
); - Visualizar Timeline de Sentimentos da UnB (
REQ-5
); - Visualizar/Compartilhar Diagnósticos por Disciplina (
REQ-5
); - Visualizar/Compartilhar Diagnósticos por Curso (
REQ-5
); - Visualizar/Compartilhar Diagnósticos por Campus (
REQ-5
); - Visualizar/Compartilhar Diagnóstico da UnB (
REQ-5
).
- Visualizar Minha Timeline de Sentimentos (
Para o terceiro time da frente de desenvolvimento, os critérios de avaliação de entrega de requisitos do cliente são:
-
BackDevs:
- API para
REQ-6
; - API para
REQ-7
;
- API para
-
FrontDevs:
- Publicar Apoio ao Perfil (
REQ-6
); - Gerir Apoios Recebidos (
REQ-6
); - Bloquear Perfil (
REQ-7
); - Gerir Perfis Bloqueados (
REQ-7
).
- Publicar Apoio ao Perfil (
Para o time da frente de desenvolvimento, os critérios de avaliação de entrega de requisitos técnicos são:
-
BackDevs:
- Adesão ao
REQT-01
,REQT-02
,REQT-11
eREQT-12
; - Adesão ao
REQT-03
; - Adesão ao
REQT-04
,REQT-05
,REQT-06
eREQT-07
; - Adesão ao
REQT-08
,REQT-09
eREQT-10
.
- Adesão ao
-
FrontDevs:
- Adesão ao
REQT-01
,REQT-02
,REQT-13
eREQT-14
; - Adesão ao
REQT-03
; - Adesão ao
REQT-04
,REQT-05
,REQT-06
eREQT-07
; - Adesão ao
REQT-08
,REQT-09
eREQT-10
.
- Adesão ao
Para o time da frente de desenvolvimento, os critérios de avaliação de adesão ao processo são:
- Se
ERC == 100%
, a taxa bônus é concedida integralmente automaticamente; - Caso contrário, a taxa bônus é concedida proporcional aos resultados das análises das outras frentes sobre adesão ao processo.
Para o time da frente de desenvolvimento, os critérios de avaliação de transferência de conhecimento são:
- 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; - Caso contrário, a taxa bônus é concedida proporcional aos resultados do quiz de avaliação de transferência de conhecimento.
- Template do Plano de Medição
- Template para Resultado de Métricas Coletadas por Sprint
- Diretrizes e template para Objetivos GQM