Aulas
Cronograma de Aulas
Confira abaixo o cronograma completo das aulas e eventos da disciplina MDS 2026/2.
Aula 01 - Apresentação e contrato pedagógico
Como a disciplina funciona e como se é avaliado. Política de uso de IA lida em voz alta e discutida. Formação de equipes e escolha de temas.
AulaAula 02 - O que mudou na engenharia de software
Panorama 2026: adoção quase universal de assistentes de IA com confiança baixa, a IA como amplificador de forças e disfunções, e por que o vibe coding falha fora do protótipo.
AulaAula 03 - Modelos de ciclo de vida e de processo
Cascata, incremental, espiral e evolutivo: o que cada modelo assume sobre incerteza e quando o modelo pesado ainda é a escolha certa.
AulaAula 04 - Processo Unificado e o Manifesto Ágil
RUP (fases, disciplinas, artefatos) frente aos quatro valores ágeis. O que do Scrum permanece quando parte do time é um agente.
AulaAula 05 - Git como artefato de engenharia
Controle de versão como registro auditável de autoria e raciocínio. O histórico legível será lido na sua arguição.
AulaAula 06 - Requisitos ágeis: da conversa ao critério
Elicitação com o parceiro do projeto; épico → história → tarefa; por que 'eu quero um sistema bom' não é requisito. INVEST, persona, critério de aceitação e Gherkin.
AulaAula 07 - Spec-driven development I: por que a spec voltou
O ciclo specify → plan → tasks → implement e a constituição do projeto. A spec, e não o histórico de conversa, é a fonte de verdade.
AulaAula 08 - Spec-driven development II: oficina de spec
Cada equipe converte a visão do produto em uma spec real. Caça coletiva à ambiguidade: trocamos specs entre times e cada um lista o que não conseguiria implementar sozinho.
AulaAula 09 - Do spec ao plano: arquitetura e ADR
Decomposição em componentes, escolha de stack como decisão com consequência e o registro dessa decisão em ADR. Modelo C4, acoplamento e coesão.
AulaAula 10 - Backlog, visão de produto e priorização
Do plan para o tasks e para as issues no GitHub Projects. Priorizar é decidir o que não será feito agora. MoSCoW, story mapping, valor × esforço e MVP.
AulaAula 11 - Planejamento de sprint e estimativa
Planning poker na prática. Discussão franca: o que acontece com a estimativa quando gerar código fica barato e verificar fica caro?
AulaAula 12 - Kanban, WIP e fluxo
Limitar trabalho em progresso, visualizar o gargalo e entender por que o time 'produz muito' e entrega pouco. Lead time, cycle time e teoria das restrições.
AulaAula 13 - Release 1: apresentação e arguição
Demonstração do software implantado, pipeline verde, e arguição individual sobre o próprio trabalho.
ReleaseAula 14 - Scrum Master, rituais e gestão de risco
Facilitação, timeboxing e o que uma daily precisa produzir. Riscos novos: dependência fantasma e decisão arquitetural feita pelo agente sem ninguém perceber. Arguição individual 1 ao fim da semana.
AulaAula 15 - Como funciona um agente de código
Abrimos a caixa: o laço planejar–agir–observar, chamada de ferramenta, janela de contexto e custo. Níveis de autonomia e onde parar.
AulaAula 16 - Context engineering: AGENTS.md
O que entra e, sobretudo, o que não entra no arquivo de contexto. Evidência empírica de que arquivo verboso piora o resultado e encarece.
AulaAula 17 - MCP e integração de ferramentas
Como um agente acessa o mundo: arquitetura do Model Context Protocol, desenho de ferramenta e superfície de risco. Cliente/servidor, transporte e menor privilégio.
AulaAula 18 - Pareamento humano–agente e revisão
Programação em pares redefinida. Checklist de revisão de código gerado: o que a IA sistematicamente erra e o revisor humano precisa procurar.
AulaAula 19 - Fluxo no repositório com múltiplos agentes
Gitflow, trunk-based e GitLab Flow comparados. PRs pequenos como mecanismo de controle e worktrees para paralelizar sem conflito.
AulaAula 20 - Rastreabilidade spec → PR → teste
Amarrar o fio: issue, spec, commit, teste e nota de release referenciando-se mutuamente. Como o AI-USAGE.md é preenchido sem virar burocracia.
AulaAula 21 - XP: as práticas que sobreviveram
Revisitamos XP com olhos de 2026: quais práticas ficaram mais importantes e quais perderam sentido. Design simples, refatoração, integração contínua e ritmo sustentável.
AulaAula 22 - TDD e BDD
O ciclo vermelho–verde–refatorar na prática. Cenário Gherkin como especificação que executa: o elo direto entre a spec (módulo 1) e o teste.
AulaAula 23 - Testes gerados por IA e falsa confiança
Aula-oficina: recebemos uma suíte gerada, com boa cobertura, e provamos que ela não testa nada. Cada equipe encontra os testes vazios.
AulaAula 24 - Qualidade de teste: mutação e propriedades
Como medir se o teste detecta defeito. Introdução a teste de mutação, escore de mutação e testes baseados em propriedade. O teste de sabotagem.
AulaAula 25 - Clean code, análise estática e legibilidade
Código gerado é sintaticamente correto e frequentemente ilegível. Linters, complexidade e padronização como defesa.
AulaAula 26 - Segurança de código gerado por IA
Padrões de vulnerabilidade que os modelos reproduzem, riscos específicos de agentes e varredura estática (SAST) na prática. Injeção de prompt, slopsquatting e STRIDE.
AulaAula 27 - Preparação de release: versão e comunicação
Fechar escopo, versionar e escrever notas de release que uma pessoa de fora entenda. SemVer, changelog e ensaio da apresentação.
AulaAula 28 - Métricas de entrega e antipadrões
As quatro métricas DORA e por que métrica de esforço mede a coisa errada. Estudo de caso: placar de consumo de tokens (tokenmaxxing) como incentivo perverso.
AulaAula 29 - A mudança de requisitos
O parceiro do projeto altera o escopo. As equipes precisam medir o impacto, atualizar a spec e os ADRs e replanejar. Aqui os limites dos agentes aparecem.
AulaAula 30 - Release 2: apresentação final e arguição
Demonstração do produto final implantado, com a mudança de requisitos absorvida, e arguição individual final.
ReleaseAula 31 - Containers e ambientes reprodutíveis
Docker, Dockerfile e composição de serviços. Paridade entre desenvolvimento e produção. Imagem, container, camada, volume e variável de ambiente.
AulaAula 32 - Integração contínua na prática
Montar o pipeline: build, teste, lint e SAST. Portas de qualidade que bloqueiam o merge e por que isso é um favor ao time.
AulaAula 33 - Entrega contínua, deploy e observabilidade
Levar ao ar de forma repetível e saber o que fazer quando quebra. CD, rollback, log, métrica, alerta, SLO e post-mortem sem culpa.
AulaAula 34 - Licenças, open source e ética do software com IA
Licenças e compatibilidade; autoria e propriedade de código gerado; impacto ambiental e trabalhista; quando recusar construir. GPL/MIT/Apache e copyleft.
AulaAula 35 - Dívida técnica e refatoração assistida
Nomear a dívida contraída, decidir o que pagar e refatorar com agente sem quebrar comportamento — e como saber que não quebrou. Teste de caracterização.
AulaAula 36 - Retrospectiva do semestre e reflexão
Retrospectiva estruturada do semestre, entrega do ensaio de reflexão crítica e discussão aberta sobre o que a turma aprendeu que a ferramenta não sabe.
Aula