Aula 9: Sprint 1 e CI/CD

Data: 30/10/2025
Módulo: 3 - Gestão Ágil e Execução
Duração: 90 minutos
Tipo: Teórico-Prática


📋 Resumo Executivo

Esta aula marca o início da execução prática do projeto Portfólio usando metodologias ágeis. Os alunos implementarão o primeiro sprint completo, desde o planejamento até a entrega, utilizando o GitLab como ferramenta de gestão. Além disso, serão introduzidos os conceitos fundamentais de CI/CD (Integração Contínua e Entrega Contínua) e sua implementação prática com Hugo para geração automática do site.


🎯 Objetivos da Aula

Objetivos Gerais

  • Executar o primeiro sprint completo do projeto Portfólio
  • Implementar práticas ágeis com GitLab
  • Configurar pipeline de CI/CD
  • Entregar incremento funcional do produto

Objetivos de Aprendizagem

  • Compreender execução prática de sprints
  • Dominar ferramentas ágeis do GitLab
  • Implementar CI/CD com GitLab
  • Configurar automação de build e deploy
  • Entregar software funcionando

⏰ Cronograma da Aula

Tempo Atividade Descrição
15 min Revisão e Contexto Revisão da aula anterior e preparação para Sprint 1
25 min Execução do Sprint 1 Planejamento, desenvolvimento e entrega do primeiro sprint
30 min CI/CD e Automação Conceitos e implementação de pipeline de CI/CD
20 min Deploy e Validação Deploy automático e validação do incremento

📚 Conteúdo Teórico

1. Execução Prática de Sprints

Sprint 1: Estrutura e Setup

Objetivo: Estabelecer a base técnica e organizacional do projeto

Duração: 2-3 semanas (adaptado para contexto acadêmico)

Entregas Esperadas: - Ambiente de desenvolvimento configurado - Estrutura básica do site Hugo - Página inicial funcional - Navegação básica implementada - Configuração inicial do GitLab

Planejamento do Sprint 1

Sprint Planning (2 horas): 1. Revisão do Product Backlog - Priorização de itens - Refinamento de histórias - Estimativas de esforço

  1. Seleção de Itens
    • Capacidade da equipe
    • Dependências técnicas
    • Critérios de aceitação
  2. Definição do Sprint Backlog
    • Decomposição em tarefas
    • Atribuição de responsáveis
    • Estimativas detalhadas

Execução do Sprint

Daily Scrum (15 min diários): - Sincronização da equipe - Identificação de impedimentos - Ajustes no plano

Desenvolvimento: - Implementação de funcionalidades - Testes contínuos - Integração de código - Documentação

Revisão e Retrospectiva

Sprint Review (1 hora): - Demonstração do incremento - Feedback dos stakeholders - Validação de critérios de aceitação

Sprint Retrospective (1 hora): - Análise do processo - Identificação de melhorias - Plano de ações

2. GitLab como Ferramenta Ágil

Issues e User Stories

Formato de User Story:

Como [usuário], eu quero [funcionalidade] para [benefício]

Critérios de Aceitação: - Funcionalidade específica e testável - Condições de sucesso claras - Cenários de teste definidos

Exemplo para o projeto Portfólio:

Como visitante do site, eu quero navegar pelas páginas 
para conhecer os membros da equipe

Critérios de Aceitação:
- Menu de navegação visível
- Links funcionais entre páginas
- Design responsivo
- Tempo de carregamento < 3 segundos

Milestones e Sprints

Configuração de Milestones: - Duração: 2-3 semanas - Objetivo específico - Issues associadas - Data de início e fim

Exemplo Sprint 1: - Nome: Setup e Estrutura Básica - Duração: 3 semanas - Objetivo: Estabelecer base técnica do projeto - Issues: 8-10 user stories

Boards Kanban

Configuração do Board: - To Do: Histórias não iniciadas - In Progress: Em desenvolvimento - Review: Em revisão/teste - Done: Concluídas e validadas

WIP Limits: - To Do: Sem limite - In Progress: Máximo 2 por pessoa - Review: Máximo 3 - Done: Sem limite

3. Integração Contínua e Entrega Contínua (CI/CD)

Conceitos Fundamentais

Integração Contínua (CI): - Integração frequente de código - Builds automáticos - Testes automatizados - Detecção precoce de problemas

Entrega Contínua (CD): - Deploy automático - Ambientes de teste - Rollback automático - Entrega confiável

Benefícios do CI/CD

  • Qualidade: Detecção precoce de bugs
  • Velocidade: Deploy mais rápido
  • Confiabilidade: Processo padronizado
  • Colaboração: Integração contínua
  • Feedback: Validação imediata

Pipeline de CI/CD

Estágios do Pipeline: 1. Build: Compilação e preparação 2. Test: Execução de testes 3. Deploy: Publicação em ambiente 4. Verify: Validação da entrega

4. CI/CD com GitLab

GitLab CI/CD

Características: - Pipeline integrado - Executores configuráveis - Ambientes múltiplos - Integração com GitLab

Arquivo .gitlab-ci.yml:

stages:
  - build
  - test
  - deploy

build:
  stage: build
  script:
    - hugo --minify
  artifacts:
    paths:
      - public/

deploy:
  stage: deploy
  script:
    - rsync -av public/ $DEPLOY_PATH
  only:
    - main

Configuração para Hugo

Build do Site: - Instalação do Hugo - Geração do site estático - Minificação de assets - Otimização de imagens

Deploy Automático: - Upload para servidor - Configuração de domínio - SSL automático - Cache de CDN

5. Hugo: Gerador de Sites Estáticos

Características do Hugo

  • Velocidade: Build extremamente rápido
  • Simplicidade: Sintaxe Markdown
  • Flexibilidade: Temas e layouts
  • Performance: Sites estáticos otimizados

Estrutura do Projeto Hugo

portfolio/
├── archetypes/
├── content/
│   ├── about/
│   ├── projects/
│   └── _index.md
├── data/
├── layouts/
├── static/
├── themes/
├── config.toml
└── .gitlab-ci.yml

Configuração Básica

config.toml:

baseURL = "https://portfolio.cefetmg.br"
languageCode = "pt-br"
title = "Portfólio da Equipe"
theme = "hugo-theme"

[params]
  description = "Portfólio dos alunos de Engenharia de Computação"
  author = "Equipe Portfólio"

🛠️ Atividades Práticas

Tarefa 1: Sprint Planning do Sprint 1

Objetivo

Planejar o primeiro sprint do projeto Portfólio

Passos

  1. Preparação do Product Backlog:
    • Criar issues no GitLab
    • Definir user stories
    • Estabelecer critérios de aceitação
    • Priorizar itens
  2. Sprint Planning:
    • Selecionar itens para o sprint
    • Estimar esforço das tarefas
    • Atribuir responsáveis
    • Definir objetivo do sprint
  3. Configuração do Board:
    • Criar milestone para Sprint 1
    • Configurar board Kanban
    • Estabelecer WIP limits
    • Organizar issues

Critérios de Sucesso

Tarefa 2: Desenvolvimento do Sprint 1

Objetivo

Implementar as funcionalidades planejadas no Sprint 1

Passos

  1. Setup do Ambiente:
    • Instalar Hugo
    • Configurar tema
    • Estrutura de pastas
    • Configuração inicial
  2. Desenvolvimento:
    • Página inicial
    • Navegação básica
    • Layout responsivo
    • Conteúdo inicial
  3. Testes:
    • Validação local
    • Testes de responsividade
    • Verificação de links
    • Performance básica

Critérios de Sucesso

Tarefa 3: Configuração de CI/CD

Objetivo

Implementar pipeline de CI/CD para deploy automático

Passos

  1. Configuração do Pipeline:
    • Criar arquivo .gitlab-ci.yml
    • Configurar stages
    • Definir scripts de build
    • Configurar deploy
  2. Teste do Pipeline:
    • Commit inicial
    • Verificação do build
    • Teste de deploy
    • Validação do site
  3. Otimização:
    • Cache de dependências
    • Paralelização de jobs
    • Notificações
    • Monitoramento

Critérios de Sucesso

Tarefa 4: Sprint Review e Retrospectiva

Objetivo

Avaliar o sprint e identificar melhorias

Passos

  1. Sprint Review:
    • Demonstração do incremento
    • Feedback dos stakeholders
    • Validação de critérios
    • Ajustes no backlog
  2. Sprint Retrospective:
    • Análise do processo
    • Identificação de problemas
    • Sugestões de melhorias
    • Plano de ações
  3. Documentação:
    • Registro de lições aprendidas
    • Atualização de processos
    • Preparação para próximo sprint
    • Métricas de performance

Critérios de Sucesso


📖 Material de Apoio

Recursos Necessários

  • GitLab CI/CD Documentation
  • Hugo Documentation
  • Scrum Guide
  • Templates de user stories

Templates Disponíveis


📝 Avaliação

Questionário Google Forms

  • Momento: Final da aula
  • Objetivo: Verificar compreensão dos conceitos
  • Conteúdo: Sprints, CI/CD, GitLab, Hugo
  • Link: Questionário da Aula 9

Critérios de Avaliação

  • Execução: Qualidade do Sprint 1
  • Implementação: Funcionamento do CI/CD
  • Colaboração: Trabalho em equipe
  • Entrega: Incremento funcional

📋 Próximos Passos

Para os Alunos

Para a Próxima Aula

  • Aula 10: Modelos Ágeis Alternativos
  • Foco: Kanban, XP, Lean
  • Pré-requisito: Sprint 1 concluído

📊 Checklist da Aula

Professor

Alunos


🎯 Projeto Portfólio: Sprint 1

Objetivo do Sprint

Estabelecer a base técnica e organizacional do projeto Portfólio

Entregas Planejadas

  • Setup Hugo: Ambiente de desenvolvimento configurado
  • Página Inicial: Layout e conteúdo básico
  • Navegação: Menu e estrutura de páginas
  • CI/CD: Pipeline de deploy automático
  • Documentação: Guias de uso e contribuição

Métricas de Sucesso

  • Velocidade: 8-10 story points
  • Qualidade: 0 bugs críticos
  • Deploy: Site acessível online
  • Feedback: Stakeholders satisfeitos

Próximo Sprint

  • Sprint 2: Páginas de Perfil
  • Foco: Conteúdo individual dos membros
  • Duração: 3 semanas

Próxima aula: Aula 10 - Modelos Ágeis Alternativos

Back to top