Sprint Session - Rubrica da competência de Projeto#
Rubrica funcionalidades#
- Conceito I: Não entregaram o projeto ou o projeto entregue não é funcional, ou seja, não é possível rodar o servidor e acessar as funcionalidades básicas do sistema.
- Conceito D: O projeto apresenta algumas telas ou funcionalidades implementadas, mas não atende completamente aos requisitos do conceito C. Há funcionalidades essenciais ausentes, incompletas ou sem funcionamento adequado.
-
Conceito C:
- O projeto implementa as funcionalidades básicas. Para atingir este conceito, o grupo deve apresentar:
- Todas as telas principais do sistema definidas no documento disponível no Blackboard;
- Funcionalidade de filtragem de dados, ou seja, o sistema deve permitir que o usuário aplique filtros para visualizar os dados;
- Cadastro de usuários: cliente e administrador;
- Funcionalidade de login e logout;
- Funcionalidade de recuperação de senha;
- Funcionalidade de leitura do arquivo .xlsx pelo usuário administrador e armazenamento dos dados em um banco de dados;
- Controle de acesso às funcionalidades do sistema, ou seja, o sistema deve apresentar telas e funcionalidades diferentes para os usuários clientes e administradores, de acordo com as permissões definidas para cada tipo de usuário. Por exemplo, o usuário administrador deve ter acesso a funcionalidades de gerenciamento do sistema como a leitura do arquivo .xlsx. O sistema deve permitir que o usuário acesse as principais telas e realize as operações fundamentais previstas para o projeto.
- O projeto implementa as funcionalidades básicas. Para atingir este conceito, o grupo deve apresentar:
-
Conceito B Atingiu o conceito C e, além disso, apresenta melhorias relacionadas ao acompanhamento da navegação do usuário e à organização da arquitetura do projeto. Para atingir este conceito, o grupo deve apresentar:
- Log do caminho do usuário: sistema registra o caminho percorrido pelo usuário dentro do sistema, permitindo acompanhar as telas acessadas, as ações realizadas e o tempo gasto em cada etapa. Isso possibilita uma análise detalhada do comportamento do usuário e a identificação de pontos de melhoria na navegação.;
- Apresentação do Log do caminho do usuário: o sistema deve apresentar uma interface para visualizar o log do caminho do usuário, permitindo que os administradores possam analisar o comportamento dos usuários e identificar padrões de navegação, pontos de atrito e oportunidades de melhoria na experiência do usuário.
- Desacoplamento entre frontend e backend utilizando uma API REST;
- Backend implementado com Django REST Framework ou FastAPI, ou tecnologia equivalente previamente aprovada.
- Neste conceito, espera-se que o projeto não seja apenas funcional, mas também possua uma arquitetura mais organizada e permita compreender como o usuário utiliza o sistema.
- Os dados sensíveis, configurações e credenciais não estão escritos diretamente no código fonte, mas sim em variáveis de ambiente ou arquivos de configuração que não são versionados no controle de versão.
-
Conceito A: Atinge o conceito B e inclui uma funcionalidade avançada que agregue valor real ao projeto. Para atingir este conceito, o grupo deve apresentar os itens descritos abaixo:
- Inclusão de um assistente de IA em formato de chat ou implementação de uma funcionalidade avançada proposta pelo grupo. A funcionalidade avançada deve ser validada previamente com os professores e com o cliente, demonstrando que está alinhada às necessidades reais do projeto.
- A funcionalidade avançada deve estar integrada ao sistema de forma consistente, contribuindo para a experiência do usuário e não apenas aparecendo como um elemento isolado ou superficial.
- O código está claro, organizado, bem documentado e é fácil de entender e manter.
-
Conceito A+: Atinge o conceito A e apresenta uma entrega de excelência, sem ressalvas relevantes.
- Realizaram deploy do projeto;
- O README.md do projeto é completo, com informações detalhadas sobre o projeto, integrantes do grupo, como rodar o projeto tanto o frontend quanto o backend, além de um link para o vídeo com a demonstração de todas as funcionalidades do projeto e um link do deploy do projeto.
- Funcionalidade de filtragem avançada, oferecendo ao usuário uma grande variedade de opções de filtro, combináveis entre si, de forma clara e útil. A filtragem deve ir além de um filtros simples. A interface de filtros deve ser intuitiva, bem organizada e contribuir diretamente para que o usuário encontre informações com facilidade;
- Visualização dos logs bem planejada, com uma interface adequada para análise do caminho percorrido pelos usuários. A apresentação dos logs deve facilitar a interpretação dos dados, permitindo que administradores identifiquem padrões de navegação, telas mais acessadas, ações realizadas e tempo gasto em etapas específicas;
- Gráficos e visualizações com bom acabamento, apresentando dados relevantes de maneira clara, visualmente organizada e coerente com a identidade do sistema. Os gráficos devem possuir títulos, legendas, rótulos, unidades e formatação adequados, evitando visualizações confusas ou meramente decorativas. Espera-se que os gráficos ajudem o usuário ou administrador a fácilmente compreender os dados apresentados;
- Funcionalidades extras relevantes, isto é, funcionalidades que não estavam previstas como requisitos mínimos, mas que agregam valor real ao projeto. Essas funcionalidades devem estar integradas ao fluxo principal do sistema, contribuir para a experiência dos usuários e demonstrar iniciativa do grupo em compreender e atender melhor às necessidades do cliente;
- Neste conceito, espera-se que o projeto demonstre não apenas o cumprimento dos requisitos, mas também cuidado com a experiência do usuário, maturidade na apresentação dos dados, boa tomada de decisão técnica e atenção aos detalhes necessários para que o sistema possa ser utilizado de forma convincente em um contexto real.
Rubrica de Trabalho em Equipe#
A competência de metodologias ágeis será avaliada na sprint session a partir da avaliação de: - Uso do framework ágil Scrum. - Trabalho em equipe. - Artefatos.
Uso do Framework Ágil Scrum#
Espera-se que o time utilize o framework ágil Scrum de forma adequada, seguindo o ciclo da Sprint com início e fim bem definidos. Os times devem fazer as reuniões diárias, de planejamento da Sprint e da retrospectiva da Sprint. Além disso, devem utilizar o quadro Scrum para priorizar e organizar as tarefas do projeto sempre mantendo o mesmo atualizado para que reflita o trabalho em andamento. Os papéis e responsabilidades devem estar claros e com os respectivos responsáveis definidos.
Trabalho em equipe#
O aluno deve estar comprometido com a entrega do projeto e com o time. Sempre atuando de forma colaborativa preocupado em apoiar os demais membros do time, utilizando de comunicação clara e frequente para relatar o andamento do seu trabalho e_ou a necessidade de auxílio para concluir uma tarefa.
- Conceito I: não atuou de forma colaborativa com o time. Não foi encontrada evidência de sua contribuição
- Conceito D:
- atuou de forma colaborativa com o time
- Ajudou, mas de forma desproporcional (para muito pouco ou muito)
- Faltou muito
- Conceito C:
- Todos os membros participaram das sessões com os coaches e fizeram todos os questionários a tempo
- Atuou de forma colaborativa com o time . Comprometeu-se com as entregas dos projetos.
- Conceito B: atingiu C e realizou todas as suas tarefas.
- Conceito A: atingiu o conceito B, auxiliou os colegas a realizaram suas tarefas e participou das reuniões de planejamento e de retrospectiva.
Relatório do projeto#
O relatório deve conter no mínimo os elementos abaixo:
- Introdução:
- Breve introdução do projeto (o que é, que problema resolve, etc.);
- Indique o que cada membro do grupo fez no projeto.
- Quais as tecnologias, bibliotecas, linguagens e frameworks utilizados e respectivas versões.
- Funcionalidades implementadas:
- Descrição de todas as funcionalidades implementadas pelo grupo.
- Prints de todas as telas desenvolvidas.
- Vídeo demonstrando todas as funcionalidades implementadas.
- Quais as funcionalidades planejadas e quais as entregues por Sprint e no final.
- Lições aprendidas ao longo do projeto, nas dimensões: código, ter um cliente real, trabalho em equipe e uso de metodologias ágeis.
O conceito referente ao relatório do projeto limita a nota do projeto.
- Conceito I: fez um relatório básico e mal escrito.
- Conceito D: o relatório é básico mas está organizado e legível.
- Conceito C: atingiu D e contemplou 70% dos tópicos do relatório de forma clara e organizada.
- Conceito B: atingiu C e contemplou todas as partes do relatório de forma clara e organizada.
- Conceito A: atingiu o conceito B fazendo um relatório bem escrito e organizado, com uma diagramação adequada e também com o vídeo bem completo
Uso do Framework Ágil Scrum#
Todo grupo deve enviar uma foto da daily via Blackboard.
- Conceito I: não utilizaram nada do framework ágil Scrum.
- Conceito D: tinham uma Sprint definida com inicío e fim claros e seguiam essa definição.
- Realizaram a daily em menos de 50% das vezes.
- Conceito C: atingiu D e utilizavam o quadro Scrum.
- Realizaram a daily em mais de 50% das vezes.
- Conceito B: atingiu C e tinham os papéis de Scrum Master e Product Owner definidos.
- Realizaram a daily em mais de 80% das vezes.
- Conceito A: atingiu o conceito B e realizavam todas as cerimônias de planejamento da Sprint, realizavam alinhamento diário e todas as retrospectivas da Sprint.
Artefatos#
Espera-se como artefatos entregues: o uso e atualização constante do quadro Scrum e o pitch final de apresentação do projeto.
- Conceito I: não entregou ou seguiu nenhum artefato.
- Conceito D: tinham um quadro Scrum mas não era atualizado.
- Conceito C: atingiu D e atualizava constantemente o quadro Scrum
- Conceito B: atingiu C, faziam e tinham o checklist das atividades diárias.
- Conceito A: atingiu o conceito B e apresentaram o pitch do projeto final seguindo todas as partes recomendadas de um pitch.
Qualidade de Código#
- Conceito I: o projeto não atingiu o conceito D. O código majoritariamente não segue boas práticas de programação.
- Conceito D: o projeto possui erros que impedem a execução do servidor.
- Conceito C:
- O repositório do projeto está organizado.
- Possui um README.md com instruções de como rodar o projeto.
- Projeto possui um arquivo
requirements.txt. - Não possui arquivos desnecessários.
- Conceito B: atingiu o Conceito C e
- O código está bem documentado, é possível entender nomes de funções e variáveis e dar manutenção no mesmo.
- Conceito A:
- O arquivo README.md está bem completo, com informações sobre o projeto, integrantes do grupo, como rodar o servidor e como importar os dados.
- Além disso, há um link para o vídeo com a demostração de todas as funcionalidades do projeto.
- Também foi indicado o link do deploy do projeto.
Limitadores de Nota#
Sessão coach
- 1 Membro do grupo perde 1 sessão coach - Ele tem limitação de um conceito na nota de Projeto. Se houver 2 faltas do grupo na sessão coach a nota de projeto do grupo todo fica limitada a C
Formulário CATME
Caso algum formulário CATME não seja respondido, a nota do projeto fica limitada ao conceito C.
Aulas normais
- 4 faltas: Integrante tem nota de Projeto Limitada a B;
- 6 faltas: nota limitada a C;
- 7 ou mais faltas limitam a nota da sprint do integrante a D.
Commits
- Nota do projeto fica limitada ao conceito I: não possui commits no projeto.
- Nota do projeto fica limitada ao Conceito D: possui poucos commits com trabalho significativo.
- Nota do projeto fica limitada ao Conceito C: possui commits com trabalho significativo em pelo menos 6 dias diferentes durante o horário de aula estúdio.
Apresentação Final#
Caso o aluno não esteja presente na apresentação final, a nota do projeto fica limitada ao conceito C.