Módulo 3: Execução Ágil, Sprints e Automação CI/CD
Trabalho Prático Integrador — Gestão de Projetos de Software (2026-2)
Este documento é um rascunho preliminar de proposta para o Módulo 3 do Trabalho Prático Integrador. Os prazos, critérios e entregáveis detalhados abaixo representam o planejamento inicial e estão sujeitos a refinamentos e homologação pelo professor.
- Prazo Previsto do Módulo 3: 16/11/2026 (Segunda-feira, às 23:59)
- Valor: 10,0 pontos (do total de 30 pontos do Trabalho Prático)
- Onde entregar: Repositório oficial da equipe no subgrupo
gps-projetos-integradoresno GitLab (git.juninho.com.br).
1. Visão Geral e Propósito do Módulo 3
O Módulo 3 é a fase mais densa de execução e desenvolvimento ágil do Trabalho Prático. Aqui, a equipe coloca em prática os conceitos de agilidade (Scrum/Kanban), maturidade de engenharia de software e automação DevOps através do GitLab CI/CD.
Neste módulo, o Professor Agente deixa de ser apenas um script de terminal e passa a ter sua interface funcional (Telegram, Discord, Web ou Streamlit) operando de ponta a ponta com o motor pedagógico socrático desenvolvido nos módulos anteriores (atendendo tanto a dúvidas de programação elementar quanto a desafios de estruturas e grafos).
A equipe deve evidenciar:
- Ritmo Ágil Sustentável: O time está utilizando os GitLab Issue Boards, estimativas de tempo e limites de WIP para gerenciar o fluxo de desenvolvimento?
- Integração Completa: A interface de usuário (UI) está conectada com o backend e com o provedor de LLM?
- Automação com CI/CD: O repositório possui um pipeline no
.gitlab-ci.ymlque roda testes automatizados, valida formatação (lint) e testa chamadas de prompt a cada Merge Request? - Colaboração Rastreável: As entregas são distribuídas de forma homogênea entre os membros do time, sem centralização de commits?
2. Checklist de Entregáveis Obrigatórios
seu-repositorio/
├── .gitlab-ci.yml # Pipeline com estágios de Lint, Test e Build/Deploy
├── README.md # Instruções completas de setup, variáveis de ambiente e uso
├── docs/
│ ├── ARQUITETURA.md # Diagrama de blocos e fluxo de dados (Mermaid)
│ ├── GUIA_USUARIO.md # Como interagir com o bot (comandos e fluxo socrático)
│ └── SPRINT_REVIEW_M3.md # Registro das entregas da Sprint e métricas de esforço
├── src/
│ ├── ui/ (ou bot/) # Interface do usuário (Telegram/Discord/Streamlit/Web)
│ ├── core/ # Orquestração do diálogo, System Prompt e chamadas de API
│ └── utils/ # Formatação de código, logging e sanitização de inputs
└── tests/
├── test_prompts.py # Testes de regressão de comportamento da IA
└── test_integration.py # Testes de integração da interface com o backend
📂 Frente 1: Interface Funcional e Integração de Ponta a Ponta
- Interface do Usuário Operante:
- O bot/app deve estar funcional em sua interface escolhida (ex: Bot no Telegram/Discord ou interface Web/Streamlit).
- O usuário deve conseguir colar enunciados de problemas de maratona (ou links de problemas) e iniciar a sessão de mentoria socrática.
- Robustez e Usabilidade:
- Tratamento amigável de erros (ex: timeout da API de IA, entradas muito longas, caracteres especiais).
- Manutenção de contexto consistente durante toda a sessão de resolução de um problema.
⚙️ Frente 2: Automação CI/CD no GitLab (.gitlab-ci.yml)
A maturidade do projeto será avaliada pela qualidade do pipeline de integração contínua:
- Estágio de Lint/Qualidade (
lint):- Verificação estática de código e boas práticas (ex:
flake8/black/ruffpara Python,eslintpara JS/TS,checkstylepara Java).
- Verificação estática de código e boas práticas (ex:
- Estágio de Testes Automatizados (
test):- Execução automática da suíte de testes unitários e de integração (
pytest,jest,junit). - Pelo menos um teste que valida o comportamento básico de recusa à resposta pronta (prompt regression test).
- Execução automática da suíte de testes unitários e de integração (
- Uso Correto de Segredos (CI/CD Variables):
- As chaves de API da LLM nunca devem estar no código-fonte. Devem ser injetadas via GitLab CI/CD Settings -> Variables (marcadas como Masked e Protected).
- Selo de Pipeline Passando:
- O branch
maindeve estar verde (todos os jobs do CI/CD com status Passed).
- O branch
🎯 Frente 3: Rastreabilidade e Gestão Ágil no GitLab
- Gestão Visual com Boards:
- Uso de colunas no GitLab Boards (
Backlog,To Do,In Progress / Doing,Review,Done). - Aplicação de labels temáticas (
frontend,backend,prompt,ci/cd,bug,documentation).
- Uso de colunas no GitLab Boards (
- Merge Requests e Branch Protection:
- A branch
maindeve ser protegida contra commits diretos. - Todo o código deve ser submetido via feature branches e aprovado por meio de Merge Requests contendo descrição da entrega e vínculo com as issues (
Closes #ID).
- A branch
- Distribuição Equitativa de Contribuição:
- Análise do gráfico de Contributors no GitLab: todos os membros devem apresentar commits frequentes e participações ativas em revisões de código.
3. Rubrica de Avaliação Preliminar (10,0 Pontos)
| Critério | Excelente (100%) | Bom (70%) | Insuficiente (0%) |
|---|---|---|---|
| Interface e Integração Funcional | Bot/interface opera sem falhas de ponta a ponta, conecta com a API e guia o aluno com diálogo socrático fluido. (3,5 pts) | Interface funciona mas trava frequentemente, tem alta latência ou perde o contexto da conversa. (2,5 pts) | Interface não funcional ou não integrada com a API. (0 pt) |
Pipeline de CI/CD (.gitlab-ci.yml) |
Pipeline completo com estágios de lint e testes automatizados passando na main, com chaves em variáveis mascaradas. (3,0 pts) |
CI/CD configurado mas incompleto (apenas 1 job básico) ou falhando com frequência. (2,0 pts) | Sem CI/CD ou com chaves de API commitadas no código aberto. (0 pt) |
| Gestão Ágil e Boards no GitLab | Boards organizados, issues detalhadas com estimativas atualizadas e fechamento formal da Milestone 3. (1,5 pt) | Boards pouco atualizados ou issues fechadas em lote no final do prazo sem histórico ágil. (1,0 pt) | Sem uso de boards ou issues vazias. (0 pt) |
| Rastreabilidade de Autoria e MRs | Todos os membros com contribuições homogêneas no Git, com branch protection e Merge Requests revisados por pares. (2,0 pts) | Concentração de mais de 70% dos commits em um único integrante ou merges sem revisão. (1,2 pt) | Membros sem contribuição registrada no repositório. (0 pt) |
Não deixem a configuração do .gitlab-ci.yml para a última semana. Configurem o pipeline logo no início do Módulo 3 para que ele ajude a equipe a identificar quebras de código a cada Merge Request!