Módulo 1: Iniciação e Planejamento do Agente ICPC
Trabalho Prático Integrador — Gestão de Projetos de Software (2026-2)
- 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-integradoresno 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 ICPC1.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)
- 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)
- 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 2hou campo de Weight); - Labels apropriadas (
backend,prompt,frontend,documentação); - Atribuição a um responsável.
- ⚠️ 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.
- 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) |
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!