Gerenciamento de Software Ágil

Aula 3 - Ritos, comunicação e previsibilidade

  • Aula: Aula 3 - Ritos, comunicação e previsibilidade
  • Objetivos: Compreender e aplicar ritos ágeis para alinhamento e inspeção; estabelecer acordos de comunicação eficazes; utilizar técnicas de estimativa; medir e prever entregas com base em métricas de fluxo.
  • Curso: CST em Análise e Desenvolvimento de Sistemas
  • Série: 4º Semestre
  • Disciplina: Gerenciamento de Projetos Ágil

1. Por que ritos e comunicação importam?

  • Ritos (ou cerimônias) estruturam ciclos curtos de planejamento, execução, revisão e adaptação.
  • Comunicação é o “sistema nervoso” do time: reduz incerteza, acelera decisões e evita retrabalho.
  • Previsibilidade nasce da combinação de pequenos lotes, feedback frequente e métricas de fluxo.

Resultados esperados desta aula:

  • Dominar objetivos e resultados de Planning, Daily, Review, Retrospective e Refinement (Scrum) e das cadências do Kanban.
  • Diferenciar estimativas relativas (story points, T-shirt) de estimativas por throughput.
  • Utilizar métricas como throughput, lead time e cycle time para previsões probabilísticas.

2. Cerimônias e cadências ágeis essenciais

2.1 Scrum: foco em inspeção e adaptação

  • Planejamento da Sprint (Sprint Planning)
    • Propósito: Selecionar metas de sprint e fatiar trabalho em incrementos verificáveis.
    • Entradas: Backlog priorizado, capacidade do time, políticas de qualidade.
    • Saídas: Meta da sprint, plano inicial e critérios de aceite por item.
    • Dicas práticas: Fatiar verticalmente; tornar visíveis dependências e riscos.
  • Reunião Diária (Daily Scrum)
    • Propósito: Sincronizar, identificar bloqueios e ajustar o plano das próximas 24h.
    • Boas práticas: Foco em fluxo (“o que está parado e por quê?”), não em status individual.
    • Antipadrões: “Prestação de contas” ao líder; transformar em discussão técnica longa.
  • Revisão da Sprint (Sprint Review)
    • Propósito: Inspecionar o incremento junto às partes interessadas e realinhar o backlog.
    • Saídas: Evidências de valor entregue, hipóteses validadas e ajustes de prioridade.
  • Retrospectiva (Sprint Retrospective)
    • Propósito: Aprender com o ciclo e definir melhorias acionáveis.
    • Saídas: 1–3 melhorias com responsável, sinal claro de sucesso e prazos realistas.
  • Refinamento do Backlog (Backlog Refinement)
    • Propósito: Clarificar escopo, critérios de aceite e prontos de integração/teste.
    • Resultados: Itens menores, com riscos conhecidos e Definition of Ready atendida.

2.2 Kanban: cadências de serviço

  • Reabastecimento/Revisão do Replenishment
    • Selecionar próximos itens a partir de políticas explícitas e limites de WIP.
  • Daily Kanban
    • Otimizar fluxo: mover trabalho, gerir bloqueios, reequilibrar WIP.
  • Service Delivery Review
    • Avaliar desempenho de entrega (lead time, throughput, previsibilidade).
  • Risk Review
    • Tornar explícitos riscos do fluxo (bloqueios crônicos, variabilidade, dependências).
  • Strategy/Operations Review
    • Conectar metas de negócio com políticas operacionais do sistema Kanban.

2.3 Visualização do ciclo

Diagrama 1

3. Comunicação prática no dia a dia

3.1 Acordos de comunicação

  • Canais e uso:

    • Assíncrono: issues, pull requests, wiki/ADR, e-mail para registros duráveis.
    • Síncrono: chat e videochamadas para bloqueios e decisões urgentes.
  • SLAs internos: tempos-alvo de resposta por canal (explícitos e realistas).

  • Etiqueta: tópicos objetivos, decisão registrada, links para artefatos.

3.2 Informação visível e auditável

  • Radiadores de informação: quadro kanban visível, CFD, gráfico de dispersão (cycle time).
  • Decisões arquiteturais com ADR (Architecture Decision Record).

Exemplo de ADR minimalista:

# ADR-0003: Estratégia de autenticação
- Contexto: Integração com serviços externos e LGPD.
- Decisão: Adotar OAuth 2.1 com PKCE; tokens com validade curta.
- Consequências: Menor risco de vazamento; sessão renovável; impacto mínimo no UX.
- Status: Aceita
- Data: 2026-08-11

3.3 Antipadrões de comunicação

  • Conversas críticas sem registro → perda de contexto e auditoria.
  • Reuniões sem pauta/resultado → baixa eficácia.
  • Notificações excessivas → ruído e fadiga; prefira sumarização diária.

4. Estimativas: quando, como e quanto

4.1 Estimativa relativa

  • Story Points: medem esforço/complexidade relativos; exigem calibração de exemplos.
  • T-shirt Sizes (PP/P/M/G/EG): rótulos qualitativos úteis no início.
  • Técnicas: Planning Poker, Affinity Mapping, Bucket System.

Boas práticas:

  • Fatie histórias em “fatias verticais” entregáveis e testáveis.
  • Use exemplos de referência (âncoras) para manter consistência.
  • Evite converter pontos em horas; foque na capacidade histórica do time.

4.2 Throughput e “no-estimates”

  • Em fluxo contínuo (Kanban), contar itens concluídos por intervalo de tempo é simples e robusto.
  • Pré-condição: Itens de tamanho relativamente estável (ou fatiados até ficarem estáveis).
  • Benefício: Reduz tempo gasto estimando e melhora previsibilidade com dados reais.

4.3 WSJF (ponderar valor versus tamanho)

  • Weighted Shortest Job First: prioriza pelo maior “custo de atraso” dividido pelo tamanho.
  • Componentes comuns do Custo de Atraso: valor ao usuário, urgência temporal, redução de risco.

Exemplo numérico:

  • Item A: Custo de atraso 24, tamanho 8 → WSJF = 3
  • Item B: Custo de atraso 15, tamanho 3 → WSJF = 5 (priorize B)

5. Métricas de previsibilidade

5.1 Conceitos fundamentais

  • Throughput: quantos itens foram concluídos por período.
  • Cycle time: tempo do “em andamento” até “concluído”.
  • Lead time: tempo do “solicitado” até “concluído”.
  • WIP: trabalho em progresso (itens em execução).
  • Little’s Law: WIP ≈ Throughput × Lead Time (válida com fluxo estável e limites de WIP).

5.2 Visualizações úteis

  • Cumulative Flow Diagram (CFD): mostra estabilidade do fluxo e gargalos.
  • Scatterplot de cycle time: variabilidade e percentis (p50, p85, p95).
  • Histogramas de throughput: base para simulações e previsões probabilísticas.

5.3 Previsão probabilística com Monte Carlo

Passos: 1) Colete amostras históricas (throughput diário/semanal ou cycle time por item). 2) Escolha a pergunta: “Quando X itens terminam?” ou “Quantos itens até Y data?”. 3) Simule milhares de cenários sorteando das amostras históricas (com reposição). 4) Responda em percentis (ex.: 50%, 85%, 95%) para refletir incerteza.

Exemplo 1: previsão de data com throughput semanal

import random
import statistics

# histórico: itens concluídos por semana
historico_throughput = [6, 4, 5, 7, 3, 6, 5, 4, 6, 5]

def simular_semanas_para_concluir(restantes, n_sim=20000):
    resultados = []
    for _ in range(n_sim):
        concluidos = 0
        semanas = 0
        while concluidos < restantes:
            semanas += 1
            concluidos += random.choice(historico_throughput)
        resultados.append(semanas)
    resultados.sort()
    def p(x): return resultados[int(x*len(resultados))-1]
    return {"p50": p(0.50), "p85": p(0.85), "p95": p(0.95)}

print(simular_semanas_para_concluir(restantes=30))

Exemplo 2: previsão de itens entregues até uma data (n semanas)

import random

historico_throughput = [6, 4, 5, 7, 3, 6, 5, 4, 6, 5]

def simular_itens_em_n_semanas(n_semanas, n_sim=20000):
    resultados = []
    for _ in range(n_sim):
        total = sum(random.choice(historico_throughput) for _ in range(n_semanas))
        resultados.append(total)
    resultados.sort()
    def p(x): return resultados[int(x*len(resultados))-1]
    return {"p50": p(0.50), "p85": p(0.85), "p95": p(0.95)}

print(simular_itens_em_n_semanas(n_semanas=6))

Interpretação:

  • p50: cenário mediano.
  • p85/p95: compromissos mais seguros (maior confiança, maior prazo).

5.4 Cuidados e armadilhas

  • Métricas não são metas: usar métricas como alvo incentiva distorções.
  • Misturar tipos de trabalho muito díspares sem fatiar distorce throughput e cycle time.
  • Falta de limites de WIP aumenta lead time e reduz previsibilidade.

6. Do rito à previsibilidade: integração prática

  • Conecte ritos a resultados mensuráveis:

    • Planning: define metas tangíveis e critérios de aceite.
    • Daily: gerencia bloqueios e WIP para estabilizar o fluxo.
    • Review: valida valor e reorienta prioridades com base em evidências.
    • Retrospective: reduz variabilidade com melhorias de processo.
  • Políticas explícitas: Definition of Ready/Done, limites de WIP, critérios de qualidade e segurança.

  • Radiadores de informação: dashboards com throughput, cycle/lead time e percentis.

Diagrama 2

7. Exemplos práticos

7.1 Definindo acordos de comunicação

  • Objetivo: reduzir retrabalho e decisões contraditórias.

  • Exemplo de acordo:

    • Toda decisão técnica relevante vira ADR em até 24h.
    • Pull requests exigem 2 revisões e checklist de segurança.
    • Bloqueios críticos são sinalizados no chat com tag #bloqueio e registrados no quadro.

7.2 Estimando com T-shirt + WSJF

  • Passo 1: Tamanho relativo com PP/P/M/G/EG (sem converter para horas).
  • Passo 2: Estimar custo de atraso (valor, urgência, risco) em escala relativa.
  • Passo 3: Calcular WSJF e ordenar backlog; fatiar itens “G/EG” antes de puxar.

7.3 Previsão com histórico modesto

  • Início de projeto: use janelas menores e atualize previsões semanalmente.
  • À medida que dados chegam, reexecute o Monte Carlo; comunique p85 como compromisso padrão.

8. Glossário rápido

  • Cerimônias/Ritos: eventos regulares para coordenação e aprendizado.
  • Throughput: quantidade entregue por período.
  • Cycle time: do início do trabalho até conclusão.
  • Lead time: da solicitação até a entrega.
  • WIP: trabalho em progresso.
  • WSJF: priorização por maior valor relativo por menor tamanho.
  • Radiador de informação: visual que torna o estado do sistema evidente.

Leituras recomendadas

  • Camargo, R. A.; Ribas, T. Gestão ágil de projetos. Saraiva Uni, 2019.
  • Kerzner, H. Gestão de projetos: as melhores práticas. Bookman, 2020.
  • Wysocki, R. K. Gestão eficaz de projetos. Saraiva Uni, 2020.

Conclusão

Ritos eficazes estruturam ciclos curtos de entrega e aprendizado; acordos de comunicação tornam decisões rastreáveis; e métricas de fluxo permitem previsões probabilísticas realistas. A previsibilidade emerge de políticas explícitas, limites de WIP, fatiamento adequado e uso disciplinado de dados. Estimar melhor é menos sobre “adivinhar” e mais sobre reduzir variabilidade e usar histórico para projetar cenários com níveis claros de confiança.

Proxima aula

Fluxo e risco: métricas e gestão. Vamos aprofundar métricas de fluxo (CFD, lead/cycle time, WIP), análise de gargalos, variabilidade e introduzir práticas de gestão de riscos (identificação, categorização, respostas e monitoramento).