Módulo 3: Execução Ágil, Sprints e Automação CI/CD
Trabalho Prático Integrador — Gestão de Projetos de Software (2026-2)
- Prazo 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 uma interface funcional (Telegram, Discord, Web ou Streamlit) operando de ponta a ponta no fluxo priorizado do MVP. A equipe pode ampliar a cobertura de conteúdos em incrementos posteriores, conforme tempo, risco e evidências de uso.
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 verifica regressões de comportamento do prompt a cada Merge Request? - Colaboração Rastreável: A equipe consegue explicar a distribuição de trabalho considerando complexidade, disponibilidade, revisão e colaboração, com evidências além da contagem 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
│ └── RISCOS_E_COMUNICACAO.md # Riscos atualizados e acompanhamento
├── CHANGELOG.md (ou ADR/seção equivalente) # Mudanças relevantes rastreáveis
├── 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) para o fluxo priorizado do MVP.
- O usuário deve conseguir iniciar a sessão de mentoria com o recorte de entrada e conteúdo definido pela equipe; enunciados ou links de problemas são exemplos possíveis.
- 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). - Validem o prompt como teste de regressão: cada caso define o comportamento esperado e verifica que uma alteração não o descaracterizou. Incluam ao menos um pedido de solução completa e o comportamento esperado definido pela equipe.
- Quando mocks ou fixtures forem adequados, o pipeline não deve fazer chamadas reais pagas à LLM. Isolem as integrações externas e usem respostas controladas para tornar os testes reproduzíveis.
- 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 nem nos testes, fixtures, logs ou artefatos. Quando necessárias fora da suíte automatizada, usem GitLab CI/CD Settings -> Variables (marcadas como Masked e Protected).
- Selo de Pipeline Passando:
- Antes de integrar uma entrega relevante, verifiquem que os jobs aplicáveis estão passando. Se a equipe usar uma branch padrão protegida, mantenham nela o último pipeline aplicável verde ou documentem impedimentos e a ação corretiva.
🎯 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. - A equipe deve registrar mudanças significativas por meio de feature branches e Merge Requests quando compatível com seu fluxo. Os MRs devem descrever a entrega e vincular issues ou evidências equivalentes; não é necessária uma issue para cada ajuste trivial.
- A branch
- Distribuição e colaboração:
- Avaliem a distribuição com issues, MRs e revisões, ADRs, testes, demonstrações e retrospectivas. O gráfico de contribuidores é apenas um indício; considerem complexidade, disponibilidade comunicada e colaboração.
- Mudanças e riscos atualizados:
- Para mudanças relevantes do MVP, registrem em
CHANGELOG.md, ADR ou seção equivalente a mudança, motivo, impacto, responsável e vínculo para Issue/MR. - Atualizem
RISCOS_E_COMUNICACAO.mdcom o estado, dono, gatilho, mitigação, contingência e data de revisão dos riscos que evoluíram durante a execução.
- Para mudanças relevantes do MVP, registrem em
3. Rubrica de Avaliação (10,0 Pontos)
| Critério | Excelente (100%) | Bom (70%) | Insuficiente (0%) |
|---|---|---|---|
| Interface e Integração Funcional | Bot/interface opera de ponta a ponta no fluxo priorizado, integra o Professor Agente e mantém o contexto da sessão de forma coerente. (3,5 pts) | Interface funciona parcialmente, com limitações de integração, contexto ou tratamento de erros documentadas. (2,5 pts) | Interface não funcional ou sem integração demonstrável. (0 pt) |
Pipeline de CI/CD (.gitlab-ci.yml) |
Pipeline tem lint e testes automatizados, incluindo regressão de comportamento esperado do prompt; usa mocks/fixtures quando adequados e não expõe segredos. Jobs aplicáveis passam antes da integração. (3,0 pts) | CI/CD configurado, mas com cobertura limitada de regressão, isolamento de LLM ou segurança de segredos. (2,0 pts) | Sem CI/CD ou com segredo exposto no repositório, teste, fixture, log ou artefato. (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 e colaboração | Mudanças significativas e riscos atualizados têm evidência controlada (Issue/MR, CHANGELOG, ADR ou equivalente), com conjunto consistente de revisão, decisões, testes e colaboração. (2,0 pts) |
Evidências parciais ou insuficientes para explicar mudanças, riscos, colaboração e distribuição do trabalho. (1,2 pt) | Não há evidências suficientes de contribuição ou acompanhamento. (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!