Visão Geral
O curso Agile Fundamentals & Agile Software Development apresenta os princípios, valores, práticas e métodos utilizados no desenvolvimento ágil de software, capacitando os participantes a compreender e aplicar abordagens iterativas e incrementais para entregar soluções de forma colaborativa, adaptativa e orientada à geração de valor.
A formação aborda o Manifesto Ágil, os fundamentos do desenvolvimento iterativo e incremental, a organização de equipes multidisciplinares, a colaboração com stakeholders, a gestão e priorização de requisitos, a entrega contínua de incrementos de software e a adaptação do planejamento diante de mudanças de negócio.
Os participantes conhecerão os principais métodos e frameworks ágeis, incluindo Scrum, Kanban e Extreme Programming (XP), compreendendo suas características, aplicações e diferenças. Também serão apresentados conceitos de histórias de usuário, backlog, critérios de aceitação, planejamento de iterações, reuniões de acompanhamento, feedback contínuo, retrospectivas e métricas de fluxo e entrega.
O curso combina fundamentos conceituais com exercícios práticos para demonstrar como organizar o trabalho de uma equipe de desenvolvimento, estruturar um backlog inicial, planejar uma iteração e acompanhar a evolução de uma solução. A abordagem também explora a integração entre práticas ágeis e atividades de análise, desenvolvimento, testes e entrega de software.
Conteúdo Programatico
Módulo 1 — Fundamentos da agilidade e do desenvolvimento ágil
- Conceitos de agilidade e desenvolvimento de software
- Contexto histórico e evolução dos métodos ágeis
- Manifesto Ágil: valores e princípios
- Desenvolvimento iterativo e incremental
- Diferenças entre abordagens preditivas e adaptativas
- Entrega frequente de valor e feedback dos stakeholders
- Benefícios, limitações e desafios da adoção da agilidade
- Critérios para escolha da abordagem de desenvolvimento
Módulo 2 — Métodos e frameworks ágeis
- Visão geral dos principais métodos e frameworks
- Fundamentos do Scrum e sua aplicação em projetos de software
- Conceitos básicos de Kanban e gestão visual do trabalho
- Introdução ao Extreme Programming (XP)
- Práticas técnicas de XP: programação em pares, refatoração e integração contínua
- Semelhanças e diferenças entre Scrum, Kanban e XP
- Seleção de práticas conforme contexto, produto e equipe
- Combinação de práticas ágeis sem descaracterizar os métodos adotados
Módulo 3 — Equipes ágeis, colaboração e entrega de valor
- Características de equipes multidisciplinares e colaborativas
- Responsabilidades compartilhadas e autonomia da equipe
- Colaboração entre negócio, desenvolvimento e testes
- Comunicação transparente e gestão de expectativas
- Envolvimento dos stakeholders e obtenção de feedback
- Definição de objetivos e resultados esperados
- Conceitos de produto, incremento e entrega de valor
- Gestão de impedimentos e melhoria da colaboração
Módulo 4 — Requisitos ágeis, backlog e histórias de usuário
- Requisitos em ambientes ágeis e evolução dos produtos
- Product Backlog e organização das necessidades
- Épicos, funcionalidades e histórias de usuário
- Estrutura de histórias de usuário e descrição de necessidades
- Critérios de aceitação e condições de satisfação
- Técnicas introdutórias de priorização, incluindo MoSCoW e valor versus esforço
- Refinamento do backlog e esclarecimento de requisitos
- Dependências, riscos e gestão de mudanças
- Conceitos de critérios de qualidade e Definition of Done
Módulo 5 — Planejamento e acompanhamento do trabalho ágil
- Objetivos de produto e objetivos de iteração
- Planejamento de iterações e seleção de itens de trabalho
- Estimativas relativas e técnicas introdutórias de estimativa
- Capacidade da equipe e planejamento realista
- Organização das tarefas e identificação de dependências
- Acompanhamento diário e atualização do trabalho
- Revisão dos resultados e coleta de feedback
- Retrospectivas e identificação de ações de melhoria
- Introdução a métricas de progresso e previsibilidade
Módulo 6 — Kanban, fluxo de trabalho e melhoria contínua
- Visualização do trabalho e desenho de um quadro Kanban
- Definição das etapas do fluxo de trabalho
- Limites de trabalho em andamento (WIP)
- Identificação de gargalos, bloqueios e filas
- Conceitos de lead time, cycle time e throughput
- Priorização e gestão do fluxo
- Políticas explícitas e critérios de conclusão
- Uso de métricas para apoiar decisões e melhoria contínua
Módulo 7 — Desenvolvimento, testes e qualidade em ambientes ágeis
- Qualidade incorporada ao processo de desenvolvimento
- Integração entre análise, desenvolvimento e testes
- Testes frequentes e feedback antecipado
- Introdução ao desenvolvimento orientado a testes (TDD)
- Integração contínua e automação de build em nível conceitual
- Refatoração e manutenção da qualidade do código
- Definition of Done e critérios de qualidade do incremento
- Tratamento de defeitos e redução de retrabalho
- Colaboração entre desenvolvedores, testadores e responsáveis pelo produto
Módulo 8 — Laboratório prático de desenvolvimento ágil
- Análise de um cenário de desenvolvimento de software
- Identificação do objetivo do produto e dos stakeholders
- Elaboração de histórias de usuário e critérios de aceitação
- Construção e priorização de um backlog inicial
- Organização de um quadro de trabalho ágil
- Planejamento de uma iteração e definição de objetivos
- Simulação de acompanhamento, impedimentos e mudanças de prioridade
- Revisão dos resultados e coleta de feedback
- Retrospectiva e definição de ações de melhoria
- Discussão sobre a escolha das práticas ágeis para o cenário apresentado
Distribuição sugerida da carga horária
- Módulo 1 — Fundamentos da agilidade e do desenvolvimento ágil: 2 horas
- Módulo 2 — Métodos e frameworks ágeis: 2 horas
- Módulo 3 — Equipes ágeis, colaboração e entrega de valor: 2 horas
- Módulo 4 — Requisitos ágeis, backlog e histórias de usuário: 2 horas
- Módulo 5 — Planejamento e acompanhamento do trabalho ágil: 2 horas
- Módulo 6 — Kanban, fluxo de trabalho e melhoria contínua: 2 horas
- Módulo 7 — Desenvolvimento, testes e qualidade em ambientes ágeis: 2 horas
- Módulo 8 — Laboratório prático de desenvolvimento ágil: 2 horas