Visão Geral do Módulo
Neste módulo, você aprenderá sobre metodologias ágeis de desenvolvimento de software, com foco especial no framework Scrum. Vamos explorar os princípios, valores, papéis e cerimônias que compõem o Scrum, além de outras metodologias ágeis populares no mercado.
Conteúdo Programático
1. Introdução às Metodologias Ágeis
- Histórico do desenvolvimento de software
- Modelo Cascata (Waterfall)
- Problemas do desenvolvimento tradicional
- Surgimento das metodologias ágeis
- Manifesto Ágil
- Os quatro valores
- Os doze princípios
- Signatários e contexto histórico
- Benefícios da abordagem ágil
- Adaptabilidade a mudanças
- Entrega contínua de valor
- Feedback constante
- Qualidade do produto
- Satisfação do cliente
- Panorama das metodologias ágeis
- Scrum
- Kanban
- Extreme Programming (XP)
- Lean Software Development
- Feature-Driven Development (FDD)
- Crystal
- Dynamic Systems Development Method (DSDM)
- Ágil vs. Tradicional: comparações e contextos de aplicação
2. Scrum: Visão Geral
- O que é Scrum
- Definição e história
- Scrum como framework
- Empirismo e pilares do Scrum (transparência, inspeção e adaptação)
- Valores do Scrum
- Comprometimento
- Coragem
- Foco
- Respeito
- Abertura
- Visão geral do processo Scrum
- Fluxo de trabalho
- Ciclo de vida do Scrum
- Timeboxing
- Quando usar (e quando não usar) Scrum
- Scrum e escalabilidade
3. Papéis no Scrum
- Scrum Team
- Composição e características
- Auto-organização
- Multifuncionalidade
- Tamanho ideal
- Product Owner
- Responsabilidades
- Maximização de valor
- Gerenciamento do Product Backlog
- Comunicação com stakeholders
- Desafios comuns
- Scrum Master
- Responsabilidades
- Facilitação
- Remoção de impedimentos
- Coaching e mentoria
- Promoção das práticas Scrum
- Diferença entre Scrum Master e gerente de projetos tradicional
- Developers
- Responsabilidades
- Criação de incrementos de valor
- Qualidade e definição de "Pronto"
- Colaboração e auto-organização
- Stakeholders
- Papel no processo Scrum
- Interação com o Scrum Team
- Feedback e validação
4. Artefatos do Scrum
- Product Backlog
- Definição e características
- Itens do Product Backlog (PBIs)
- Priorização
- Refinamento
- Técnicas de escrita de histórias de usuário
- Critérios de aceitação
- Estimativas
- Sprint Backlog
- Definição e características
- Seleção de itens do Product Backlog
- Planejamento de tarefas
- Atualização durante a Sprint
- Visualização do trabalho
- Incremento
- Definição e características
- Definição de "Pronto" (Definition of Done)
- Qualidade e valor
- Incremento potencialmente entregável
- Outros artefatos complementares
- Burndown Chart
- Burnup Chart
- Velocity Chart
- Quadro Kanban
- Radiadores de informação
5. Eventos do Scrum
- Sprint
- Definição e características
- Duração (timeboxing)
- Objetivo da Sprint
- Cancelamento de Sprint
- Sprint Planning
- Objetivo e duração
- Participantes
- Entradas e saídas
- Definição do Objetivo da Sprint
- Seleção de itens do Product Backlog
- Planejamento do trabalho
- Técnicas e boas práticas
- Daily Scrum
- Objetivo e duração
- Participantes
- Formato e estrutura
- As três perguntas clássicas
- Identificação de impedimentos
- Adaptação do plano
- Boas práticas
- Sprint Review
- Objetivo e duração
- Participantes
- Demonstração do incremento
- Feedback dos stakeholders
- Atualização do Product Backlog
- Boas práticas
- Sprint Retrospective
- Objetivo e duração
- Participantes
- Inspeção do processo
- Identificação de melhorias
- Plano de ação
- Técnicas e formatos
- Boas práticas
- Refinamento do Product Backlog
- Objetivo e frequência
- Participantes
- Detalhamento de itens
- Estimativas
- Priorização
- Boas práticas
6. Técnicas e Práticas Ágeis
- User Stories
- Estrutura (Como... Eu quero... Para que...)
- INVEST (Independent, Negotiable, Valuable, Estimable, Small, Testable)
- Critérios de aceitação
- Story mapping
- Estimativas ágeis
- Planning Poker
- T-Shirt Sizing
- Dot Voting
- Relative Sizing
- Story Points vs. horas
- Priorização
- MoSCoW (Must, Should, Could, Won't)
- Valor de negócio
- Risco
- Dependências
- WSJF (Weighted Shortest Job First)
- Técnicas de facilitação
- Brainstorming
- Dot Voting
- Fist of Five
- Starfish Retrospective
- Start-Stop-Continue
- Práticas de engenharia ágil
- Integração contínua
- Entrega contínua
- Desenvolvimento orientado a testes (TDD)
- Programação em pares
- Refatoração
- Automação de testes
7. Kanban
- Introdução ao Kanban
- Origem e história
- Princípios fundamentais
- Kanban como método de melhoria
- Práticas do Kanban
- Visualização do fluxo de trabalho
- Limitação do trabalho em progresso (WIP)
- Gerenciamento do fluxo
- Políticas explícitas
- Loops de feedback
- Melhoria colaborativa
- Quadro Kanban
- Estrutura e colunas
- Cartões e itens de trabalho
- Limites de WIP
- Swimlanes
- Classes de serviço
- Métricas e análises
- Lead time e cycle time
- Throughput
- Diagrama de fluxo cumulativo (CFD)
- Distribuição de lead time
- Eficiência do fluxo
- Kanban vs. Scrum
- Semelhanças e diferenças
- Quando usar cada um
- Combinação de práticas (Scrumban)
8. Implementação de Metodologias Ágeis
- Avaliação e preparação
- Análise do contexto organizacional
- Identificação de desafios e oportunidades
- Definição de objetivos
- Seleção da abordagem adequada
- Transição para o ágil
- Abordagens de transição
- Formação de equipes
- Treinamento e capacitação
- Mudança cultural
- Gestão da resistência
- Desafios comuns
- Resistência à mudança
- Falta de apoio da liderança
- Cultura organizacional
- Equipes distribuídas
- Integração com processos existentes
- Escalabilidade
- Métricas e medição de sucesso
- Indicadores de desempenho
- Métricas de produto
- Métricas de processo
- Métricas de equipe
- Avaliação contínua
- Melhoria contínua
- Ciclo PDCA (Plan-Do-Check-Act)
- Kaizen
- Experimentação
- Adaptação de práticas
- Comunidades de prática
9. Ferramentas para Metodologias Ágeis
- Ferramentas físicas
- Quadros e painéis
- Post-its e cartões
- Gráficos e diagramas
- Timers e cronômetros
- Ferramentas digitais
- Jira
- Trello
- Azure DevOps
- GitHub Projects
- Asana
- Monday.com
- ClickUp
- Ferramentas de comunicação e colaboração
- Slack
- Microsoft Teams
- Zoom
- Miro
- Mural
- Confluence
- Critérios de seleção de ferramentas
- Necessidades da equipe
- Integração com outros sistemas
- Usabilidade
- Escalabilidade
- Custo
- Implementação e adoção de ferramentas
10. Estudo de Caso: Aplicando Scrum no Desenvolvimento de um Sistema de Vendas
- Contexto do projeto
- Visão do produto
- Objetivos de negócio
- Stakeholders
- Restrições e premissas
- Formação do Scrum Team
- Seleção do Product Owner
- Papel do Scrum Master
- Composição da equipe de desenvolvimento
- Criação do Product Backlog
- Identificação de épicos e histórias
- Escrita de histórias de usuário
- Definição de critérios de aceitação
- Priorização inicial
- Planejamento e execução de Sprints
- Sprint Planning
- Daily Scrums
- Desenvolvimento e testes
- Sprint Review
- Sprint Retrospective
- Desafios e soluções
- Mudanças de requisitos
- Impedimentos técnicos
- Estimativas imprecisas
- Integração com sistemas existentes
- Resultados e lições aprendidas
- Métricas de desempenho
- Feedback dos stakeholders
- Melhorias no processo
- Impacto no produto final
Exercícios Práticos
Para fixar os conceitos aprendidos neste módulo, recomendamos a realização dos seguintes exercícios:
- Crie um Product Backlog para um sistema de vendas, com pelo menos 10 histórias de usuário.
- Priorize as histórias de usuário do Product Backlog usando a técnica MoSCoW.
- Estime as histórias de usuário usando Planning Poker ou T-Shirt Sizing.
- Crie um Sprint Backlog para a primeira Sprint, selecionando histórias do Product Backlog.
- Quebre as histórias selecionadas em tarefas técnicas.
- Desenhe um quadro Kanban para o projeto, definindo as colunas e limites de WIP.
- Simule uma Sprint Review, apresentando o incremento desenvolvido.
- Conduza uma Sprint Retrospective, identificando pontos positivos, negativos e ações de melhoria.
- Crie um Burndown Chart para acompanhar o progresso da Sprint.
- Compare as metodologias Scrum e Kanban, identificando quando usar cada uma.
Pronto para aplicar na prática?
Após dominar os conceitos de metodologias ágeis, você estará preparado para aplicá-los no projeto prático do curso.
Ver Projeto Prático: Sistema de Vendas