UnB - Universidade de Brasília

Métodos de Desenvolvimento de Software

Domine metodologias ágeis, Scrum, XP e DevOps através de projetos práticos. Aprenda a desenvolver software de qualidade trabalhando em equipes ágeis.

Profa. Carla Rocha
60 horas (4 créditos)
Semestre 2026/1
5 Módulos
2 Releases
6 Membros por equipe
90% Cobertura de código

O que você vai aprender

Dominar os princípios fundamentais do Agile, Scrum, Extreme Programming (XP) e Kanban
Criar e priorizar Product Backlogs, elaborar histórias de usuário e estimar story points
Aplicar programação em pares, TDD, integração contínua e entrega contínua
Executar todas as fases do ciclo de vida: Requisitos, Arquitetura, Desenvolvimento, Testes e Deploy
Conteinerizar aplicações com Docker e configurar pipelines de CI/CD automatizados
Desenvolver uma Prova de Conceito completa trabalhando em equipe ágil

Ementa do Programa

  • Modelos de ciclo de vida e de processos
  • Processo Unificado
  • Métodos Ágeis de desenvolvimento de software
  • Outras abordagens de desenvolvimento de software
  • Ferramentas

Habilidades que você vai desenvolver

Scrum Kanban Extreme Programming User Stories Sprint Planning Git & GitHub Docker CI/CD TDD Code Review Pair Programming DevOps

Conteúdo do Curso

5 módulos
Inicie sua jornada no desenvolvimento ágil e no framework Scrum e XP! Ao concluir este curso, você estará preparado para desenvolver projetos de Software aplicando os princípios fundamentais do Agile, incluindo planejamento adaptativo, desenvolvimento iterativo e melhoria contínua.
1
Ciclo de Vida de Software e Scrum
Fundamentos do Agile e framework Scrum

Conheça a filosofia e as características fundamentais do Agile. Aprenda sobre diferentes metodologias de desenvolvimento de software, incluindo Waterfall, Extreme Programming (XP) e Kanban.

  • Princípios do Manifesto Ágil
  • Papéis, eventos e artefatos do Scrum
  • Engenharia de Requisitos
  • Arquitetura de Software
  • Desenvolvimento, Testes e Implantação
2
Planejamento Ágil
User Stories, Story Points e Sprint Planning

Aprofunde seus conhecimentos sobre o planejamento iterativo no Agile. Aprenda a criar histórias de usuário eficazes, estimar e atribuir story points, construir e refinar o Product Backlog.

  • Criação de User Stories eficazes
  • Estimativa com Story Points
  • Product Backlog e refinamento
  • Sprint Planning com GitHub Projects
  • Práticas de comunidades Open Source
3
Produtividade Ágil
Métricas, Dailies e gestão de riscos

Aprenda a monitorar a produtividade da equipe, identificar gargalos, organizar sprints viáveis e compreender o papel do Scrum Master e das dailies na gestão de riscos.

  • Métricas ágeis e burndown charts
  • Papel do Scrum Master
  • Daily Standups eficientes
  • Gestão de riscos em sprints
  • Timeboxing e roadmap
4
Programação Extrema (XP)
Pair Programming, TDD e qualidade de código

Aprenda sobre as práticas de Extreme Programming (XP). A filosofia do XP consiste em identificar boas práticas que geram produtividade e levá-las ao extremo.

  • Programação em Pares
  • Test-Driven Development (TDD)
  • Integração Contínua
  • Qualidade estática de código
  • Documentação técnica
5
DevOps
Docker, CI/CD e Deploy automatizado

Aprenda sobre automação de processos de desenvolvimento e operações. Módulo técnico-prático desde conteinerização até automação completa de pipelines de CI/CD.

  • Conteinerização com Docker
  • Dockerfiles e Docker Hub
  • Pipelines de CI/CD automatizados
  • Deploy contínuo
  • Monitoramento e rollback
Formato
Presencial + Material assíncrono
Equipes
Até 6 membros por time
Metodologia
Aprendizagem por projetos

Formação das Equipes

Cada grupo escolhe 3 temas na ordem de preferência. A professora negocia e aloca os temas.

Planilha de Grupos e Temas

Avaliação

A avaliação será feita por meio da avaliação individual do desempenho do aluno no ciclo de projeto, simulando uma situação real de desenvolvimento.

Fórmula da Nota Final:

Nota Final = (Provas) × 0,20 + (Avaliação Individual) × 0,40 + (Release 1) × 0,20 + (Release 2) × 0,20

Critérios de Aprovação:

  • Média Final (MF) ≥ 5,0
  • Frequência ≥ 75% das aulas

Critérios Avaliados no Projeto

Código/Entrega Documentação Coerência Docs-Código Histórias e Planejamento Testes > 90% Tracking Wiki Atualizada Software Implantado Pareamento Sprint Planning Planning Poker Dailies Sprint Review Retrospectiva User Stories Código Padronizado Pull Requests Práticas Open Source

Datas das Releases

Entregáveis R1 e R2 disponíveis nos slides.

  • Release 1 (major) - A definir
  • Release 2 (major) - A definir

Detalhes sobre o roteiro das apresentações: Guias para as entregas

Bibliografia

Beck, K. Programação Extrema (XP) Explicada, 1st ed. Bookman, 2004
Ken Schwaber e Jeff Sutherland - O Guia Definitivo para o Scrum - scrumguides.org
Sommerville, I. Engenharia de Software. 8th ed., Pearson Addison Wesley, 2007
Alves, Isaque; Rocha, Carla. Qualifying Software Engineers Undergraduates in DevOps - arxiv.org

Projetos 2026/1

📊 Tema do semestre: "Como posso usar dados para dar inteligência?"

Cada equipe deverá selecionar 3 opções de projeto em ordem de preferência. A alocação será feita com base nessas escolhas.

1 Querido Diário - Radar das tecnologias na educação

Plataforma que faz análise de atos públicos relacionados à adoção de tecnologias no contexto educacional nos municípios, usando dados do Querido Diário.

Restrição arquitetural: Frontend only (GitPage) + dados atualizados via GitHub Actions + análise qualitativa com agentes de IA.

2 Querido Diário - Radar de investimento em IA

Análise sobre inteligência artificial (IA) nas escolas municipais, especialmente sobre o uso dessa tecnologia na gestão e ambiente escolar.

Restrição arquitetural: Frontend only (GitPage) + dados atualizados via GitHub Actions + análise qualitativa com agentes de IA.

3 Querido Diário - Radar de saúde oncológico

Análise do investimento de saúde oncológico nos municípios a partir dos dados do Querido Diário.

4 Censo Escolar

Portal de dados do censo escolar da educação básica com RAG (Retrieval-augmented generation) para interface conversacional e dashboard com visualizações.

5 É Fake - Minerador de notícias

Implementar mineração de pelo menos mais 2 jornais e criar aplicação para explorar notícias com detecção automatizada de fake news.

6 Colaboração no GitHub - Pessoas

Plataforma para visualizar a colaboração entre membros de organizações no GitHub e o tipo de colaboração.

7 Colaboração GitHub - Métricas

Evoluir projeto de visualização para organizações com agentes de IA para explicar métricas: issues, commits, tecnologias, PRs, qualidade de código.

8 Dados Abertos UnB

Portal para visualização dos dados abertos da UnB. Vamos ver com o que é gasto na FCTE?

Restrição arquitetural: Frontend only (GitPage) + banco em JSON + mineração via GitHub Actions.

9 Portal dos Professores

Minerar dados dos professores (Lattes, Google Scholar, SIGAA) e gerar resumos do portfólio e atuação de cada professor com agente de IA.

Restrição arquitetural: Frontend only (GitPage) + banco em JSON + mineração via GitHub Actions.

10 Portal de Escrita Técnica em Software

Varrer repositórios e fazer recomendações de documentos necessários para qualidade do software. Área com material guiado para boa documentação técnica.

Restrição arquitetural: Frontend only (GitPage) + banco em JSON + mineração via GitHub Actions.