Módulo 1: Iniciação e Planejamento do Agente ICPC

Trabalho Prático Integrador — Gestão de Projetos de Software (2026-2)

Autor

Prof. Aléssio Miranda Júnior

Data de Publicação

30/08/2026

Data de Modificação

31/08/2026

Importante📅 Informações da Entrega
  • Prazo Final do Módulo 1: 14/09/2026 (Segunda-feira, às 23:59)
  • Valor: 5,0 pontos (do total de 30 pontos do Trabalho Prático)
  • Onde entregar: Repositório oficial da equipe no subgrupo gps-projetos-integradores no GitLab (git.juninho.com.br).

1. Visão Geral e Propósito do Módulo 1

O Módulo 1 consolida a fase de Iniciação e Planejamento do seu projeto de software, aplicando na prática os conceitos trabalhados nas Aulas 1 a 4 (Iniciação, Viabilidade TELOS, Planejamento no GitLab, Gestão de Escopo com EAP e Estimativas/Cronograma).

A sua equipe não deve sair programando no escuro. Este módulo existe para que o time responda com precisão: 1. Quem é a equipe e quais são os papéis de cada um? 2. O que o Coach ICPC vai fazer (e o que ele expressamente não vai fazer)? 3. Como o escopo foi fatiado na EAP? 4. Quando cada entrega acontecerá e como as tarefas estão distribuídas no GitLab até o fim do semestre? 5. A tecnologia funciona? (Um MVP mínimo de conexão com a API de IA).


2. Checklist de Entregáveis Obrigatórios

O Módulo 1 é composto por três frentes complementares: Documentação Viva no Repositório, Gestão de Backlog no GitLab e uma Prova de Conceito Técnica (MVP/Spike).

seu-repositorio/
├── README.md                     # Apresentação do time, papéis e visão geral
├── docs/
│   ├── PROJECT_CHARTER.md        # Termo de Abertura do Projeto (Aulas 1 e 2)
│   ├── EAP.md                    # Estrutura Analítica do Projeto (Aula 4)
│   ├── REQUISITOS.md             # Requisitos Funcionais e Não Funcionais
│   └── DIRETRIZES_PROMPT.md      # Guia Pedagógico do Bot (Exemplos de diálogos)
└── src/ (ou spike/)
    └── test_api.py               # MVP mínimo de conexão funcional com a API de IA

📂 Frente 1: Documentação no Repositório (Arquivos .md)

📄 A. README.md (Identidade e Equipe)

  • Nome do Projeto & Logotipo/Identidade: Nome criativo para o seu Coach de Maratona ICPC.
  • Tabela de Integrantes e Papéis: | Nome Completo | Usuário GitLab | E-mail | Papel Principal na Equipe | | :— | :— | :— | :— | | Nome do Aluno 1 | @usuario1 | aluno1@cefetmg.br | Scrum Master & Dev Backend | | Nome do Aluno 2 | @usuario2 | aluno2@cefetmg.br | Product Owner & Engenharia de Prompt | | Nome do Aluno 3 | @usuario3 | aluno3@cefetmg.br | Dev Frontend/Bot & CI/CD |
  • Stack Tecnológica Escolhida: Linguagem (Python, Node, Java, etc.), Framework (FastAPI, Streamlit, etc.), Interface (Bot Telegram, Discord ou Web) e Provedor de LLM (Gemini, OpenAI, Groq, Ollama).

📄 B. docs/PROJECT_CHARTER.md (Termo de Abertura)

  • Justificativa do Projeto: Por que construir um assistente socrático para maratona de programação?
  • Objetivos SMART: Metas claras de prazo, qualidade e funcionalidades.
  • Fronteiras do Escopo:
    • O que está DENTRO do escopo: O que a equipe se compromete a entregar até o fim do semestre.
    • O que está FORA do escopo (Anti-Scope Creep): Deixar explícito o que a equipe não fará (ex: não faremos um juiz online próprio, não suportaremos 15 linguagens exóticas).
  • Critérios de Sucesso e Riscos Iniciais.

📄 C. docs/EAP.md (Estrutura Analítica do Projeto)

  • A decomposição hierárquica do escopo total em formato textual ou diagrama Mermaid, respeitando a Regra dos 100%:
    • 1.0 Coach ICPC
      • 1.1 Interface com o Usuário (Comandos, bot Telegram/Web)
      • 1.2 Core Lógico & Prompt (Engenharia de Prompt, parsing de problemas, validação)
      • 1.3 Integração com LLM (Cliente HTTP, chaves de API, tratamento de rate limit)
      • 1.4 Gestão, Testes e Infraestrutura (CI/CD, testes unitários, documentação)
  • Cada pacote de trabalho folha deve ter um código identificador (ex: 1.1.1, 1.2.1).

📄 D. docs/REQUISITOS.md (Requisitos de Engenharia)

  • Requisitos Funcionais (RF): Ex: RF01 - O sistema deve permitir colar o enunciado de um problema; RF02 - O sistema deve oferecer dicas incrementais em 3 níveis.
  • Requisitos Não Funcionais (RNF): Ex: RNF01 - O bot deve responder em menos de 5 segundos; RNF02 - Chaves de API nunca devem ser versionadas em texto aberto (uso de variáveis de ambiente no GitLab CI/CD).

📄 E. docs/DIRETRIZES_PROMPT.md (Comportamento e Exemplos de Conversa)

Para que o desenvolvedor saiba exatamente como calibrar o System Prompt, o documento deve conter exemplos práticos de diálogos: - Filosofia Socrática: O bot é um coach de maratona, não um gerador de cola. Ele ensina o aluno a pensar algoritmicamente. - Exemplo 1 (O que o Bot DEVE fazer): > Aluno: “Estou com Time Limit Exceeded (TLE) no problema de menor caminho com \(N = 10^5\). O que faço?”
> Coach IA: “Vamos analisar a complexidade! Um algoritmo \(O(N^2)\) como Floyd-Warshall vai estourar o limite de 1 segundo para \(N=10^5\). Dica: você já considerou Dijkstra com fila de prioridade (std::priority_queue), cuja complexidade é \(O(E \log V)\)? Me mostre como você está representando o grafo.” - Exemplo 2 (O que o Bot NÃO DEVE fazer): > Aluno: “Me dá o código em C++ resolvido do problema 1024 do Beecrowd.”
> Coach IA (Correto): “Eu não forneço código pronto para submissão. Meu objetivo é te ajudar a conquistar o Accepted por conta própria! Me diga: qual foi a sua ideia inicial para tratar o problema da criptografia das três passadas?”


🎯 Frente 2: Gestão de Backlog no GitLab (Milestones & Issues)

  1. Configuração dos 4 Milestones da Disciplina no Projeto:
    • Módulo 1: Iniciação e Planejamento (Prazo: 14/09/2026)
    • Módulo 2: Gestão, Requisitos e Prompt Base (Prazo: 19/10/2026)
    • Módulo 3: Execução Ágil, Sprints e CI/CD (Prazo: 16/11/2026)
    • Módulo 4: Entrega Final, Pitch e Retrospectiva (Prazo: 07/12/2026)
  2. Decomposição da EAP em Issues:
    • Todos os Pacotes de Trabalho da EAP devem virar Issues abertas no repositório.
    • Cada Issue deve conter:
      • Título claro e objetivo;
      • Descrição com checklist de atividades;
      • Estimativa de tempo (usando /estimate 2h ou campo de Weight);
      • Labels apropriadas (backend, prompt, frontend, documentação);
      • Atribuição a um responsável.
  3. ⚠️ Regra de Ouro da Distribuição:
    • TODOS os integrantes da equipe devem ter issues planejadas e atribuídas a eles ao longo de todo o semestre (do Módulo 1 ao Módulo 4).
    • Um repositório onde apenas 1 aluno tem issues cadastradas será penalizado na rubrica de colaboração.
  4. Mapeamento de Dependências:
    • Pelo menos uma issue deve utilizar a funcionalidade do GitLab de dependência (“This issue is blocked by #…”), evidenciando o entendimento de Caminho Crítico.

💻 Frente 3: Prova de Conceito Técnica (MVP / Spike de API)

Não basta planejar no papel; a equipe deve comprovar a viabilidade técnica inicial (mitigação do Cone da Incerteza): 1. Issue Dedicada: Criar uma issue: “Spike: Conexão e teste inicial com a API da LLM”. 2. Código Funcional: Um script mínimo no repositório (ex: test_api.py ou módulo equivalente) que carrega uma chave via variável de ambiente, envia um prompt de teste para a API (Gemini, OpenAI, Groq, etc.) e imprime a resposta no terminal. 3. Fluxo via Merge Request: O código do spike deve ser enviado via branch (ex: feature/api-spike) e integrado à branch principal através de um Merge Request aprovado por outro colega de time.


3. Rubrica de Avaliação (5,0 Pontos)

Critério Excelente (100%) Bom (70%) Insuficiente (0%)
Identidade e Equipe (README.md) Tabela completa com todos os membros, e-mails, @usernames e papéis claros definidos. Stack e interface explicadas. (0,5 pt) Falta e-mail, @username ou papéis vagos. (0,3 pt) README padrão ou ausente. (0 pt)
Charter e Escopo (PROJECT_CHARTER.md) Objetivos SMART, justificativa e delimitação explícita do que está DENTRO e FORA do escopo. (0,8 pt) Charter genérico ou sem definição do que está fora do escopo. (0,5 pt) Não entregou o Charter. (0 pt)
EAP Completa (EAP.md) Decomposição hierárquica clara cobrindo 100% do projeto (Interface, Prompt, API, Testes e Gestão). (0,8 pt) EAP rasa, focada apenas em telas ou sem numeração lógica. (0,5 pt) Não entregou a EAP. (0 pt)
Guia Pedagógico de Prompt (DIRETRIZES_PROMPT.md) Exemplos claros e realistas de diálogos socráticos de maratona (o que o bot DEVE e NÃO DEVE responder). (0,7 pt) Exemplos genéricos sem conexão com maratona de programação. (0,4 pt) Ausente. (0 pt)
Backlog no GitLab (Milestones & Issues) 4 Milestones configurados. Issues da EAP cadastradas com /estimate, labels e atribuídas a TODOS os membros até o fim do semestre. (1,2 pt) Issues cadastradas apenas para o Módulo 1 ou membros sem tarefas atribuídas. (0,7 pt) Sem Milestones ou sem estimativas. (0 pt)
MVP Técnico (Spike de API via MR) Script funcional de teste de API integrado via Merge Request revisado por colega de equipe. (1,0 pt) Script existe mas foi commitado direto na main sem Merge Request ou sem documentação. (0,6 pt) Sem código de conexão com API. (0 pt)

Dica💡 Dica do Professor

Utilizem as aulas práticas e os horários de atendimento para validar o Project Charter e a EAP com o professor antes do fechamento do prazo!

De volta ao topo