Engenharia de Software: Metodologias ágeis: Scrum e Kanban

As metodologias ágeis transformaram a forma de conduzir projetos de software, sobretudo porque aumentam a adaptabilidade e focam na entrega contínua. Além disso, Scrum e Kanban são de longe os frameworks mais adotados em equipes modernas. Neste post, exploraremos como cada um funciona, suas diferenças, um EXEMPLO PRÁTICO, código demonstrativo, fluxograma, tabelas e gráficos para clarear o entendimento.

Por que usar metodologias ágeis?

As metodologias ágeis fornecem vários benefícios: maior visibilidade do progresso, feedback constante, prioridades mais claras e capacidade de mudar rumo conforme novas necessidades surgem. Ao adotar Scrum ou Kanban, equipes podem responder melhor a mudanças e reduzir desperdícios.

Em vez de planejar tudo com antecedência (como no modelo cascata), ágil permite entregas incrementais e melhoria contínua. Assim, riscos são mitigados e valor é entregue cedo e frequentemente.


Principais características de Scrum e Kanban

A seguir, uma tabela comparativa com os aspectos centrais:

CaracterísticaScrumKanban
Iterações / time boxesSim — Sprints fixas (ex: 1 a 4 semanas)Não — fluxo contínuo
Papéis definidosProduct Owner, Scrum Master, Time de DesenvolvimentoNão há papéis prescritos, permite flexibilidade
Mudanças durante execuçãoDesaconselhadas dentro do SprintPermitidas, desde que respeitadas as políticas
Limitação de trabalho em progresso (WIP)Indiretamente via escopo de SprintDiretamente via limites WIP por coluna
Feedback e revisãoSprint Review, RetrospectiveReuniões periódicas de melhoria (feedback loop)
Visibilidade visualBurndown chart, quadro do SprintQuadro Kanban visual, fluxo contínuo
Métricas típicasVelocidade, backlog, burndownLead time, throughput, cycle time

Como se vê, os pontos de aplicação e o controle variam bastante entre os dois frameworks.


Como Scrum funciona – passo a passo

  1. Criação do Product Backlog (lista priorizada de requisitos).
  2. Em planejamento de Sprint, seleciona-se itens do backlog para o Sprint.
  3. Time trabalha nas tarefas durante o Sprint, com reuniões diárias (Daily Scrum).
  4. Ao final do Sprint, há Sprint Review para mostrar o que foi entregue.
  5. Em seguida ocorre a Sprint Retrospective para identificar melhorias para o próximo Sprint.

Esse ciclo se repete continuamente.


Como Kanban funciona – passo a passo

  • Visualizar fluxo de trabalho em um quadro (colunas como “A Fazer”, “Em Progresso”, “Feito”).
  • Estabelecer limites de WIP para cada coluna, evitando sobrecarga.
  • O time “puxa” novas tarefas quando tiver capacidade.
  • Monitorar métricas como tempo de ciclo (cycle time) e throughput.
  • Realizar reuniões de melhoria contínua (feedback loop), ajustando políticas e fluxo.

O foco de Kanban está em otimizar o fluxo de trabalho e eliminar gargalos.


Fluxograma: funcionamento integrado de Scrum e Kanban

[Início do ciclo]  
     ↓  
[Gerenciar backlog]  
     ↓  
[Planejamento de Sprint (Scrum) ou seleção contínua (Kanban)]  
     ↓  
[Desenvolvimento / Execução]  
     ↓  
[Daily / feedback contínuo]  
     ↓  
[Entrega parcial / incremento]  
     ↓  
[Revisão e Retrospectiva (Scrum) ou reunião de melhoria (Kanban)]  
     ↓  
[Refinar backlog / ajustar políticas]  
     ↓  
[Próximo ciclo]  

Esse fluxograma evidencia como ambos os modelos possuem iteração e melhoria contínua, mas com diferenças no ritmo e controle.


EXEMPLO PRÁTICO:

Imagine uma equipe de desenvolvimento que vai criar um módulo de autenticação para um sistema. Eles decidem usar Scrum + Kanban (híbrido).

  • Eles mantêm um backlog com histórias como “login de usuário”, “recuperação de senha”, “login via redes sociais”.
  • No Sprint Planning, escolhem “login de usuário” e “recuperação de senha”.
  • No quadro Kanban para aquele Sprint, limitam WIP em “Em Progresso” para 2 tarefas simultâneas.
  • Cada dia fazem o Daily: dizem o que fizeram, o que vão fazer e impedimentos.
  • Ao final do Sprint, apresentam o módulo funcional de login.
  • Na retrospectiva, identificam que “integração social” requer mais pesquisa e decide-se quebrar em subtarefas menores no próximo Sprint.

⚠️ Alerta: se quiser executar esse exemplo prático, faça isso em um ambiente seguro, previamente preparado (sandbox, ambiente de testes) e sob sua inteira responsabilidade — principalmente se envolver dados sensíveis ou autenticação real.


Código de exemplo: simulação de workflow simples em Python

from collections import deque
import time

class Task:
    def __init__(self, name):
        self.name = name
        self.status = "Todo"

    def __repr__(self):
        return f"{self.name} [{self.status}]"

# Colunas do Kanban
todo = deque([Task("Login usuário"), Task("Recuperação senha"), Task("Login social")])
in_progress = []
done = []

WIP_LIMIT = 2

def move_to_in_progress():
    while len(in_progress) < WIP_LIMIT and todo:
        task = todo.popleft()
        task.status = "In Progress"
        in_progress.append(task)

def move_to_done():
    for task in list(in_progress):
        # simula finalização
        task.status = "Done"
        done.append(task)
        in_progress.remove(task)

def print_board():
    print("Todo:", list(todo))
    print("In Progress:", in_progress)
    print("Done:", done)
    print("-" * 40)

def simulate():
    print_board()
    move_to_in_progress()
    print_board()
    time.sleep(1)
    move_to_done()
    print_board()

if __name__ == "__main__":
    simulate()

Esse código simula um mini workflow Kanban com limite de WIP = 2, movendo tarefas de “Todo” para “In Progress” e depois para “Done”.


Gráficos e vetores de apoio

  • Gráfico de burndown (para Scrum): mostra quantos pontos ou tarefas restam ao longo do Sprint versus tempo.
  • Gráfico de lead time vs throughput (para Kanban): exibe quanto tempo cada item demora, quantos itens são concluídos por unidade de tempo.
  • Quadro visual (vetor): colunas “Todo → In Progress → Done”, cada tarefa representada por cartão movendo-se à medida que progride.

Esses componentes visuais ajudam a entender como o trabalho flui e onde ocorrem gargalos.


Conclusão

Neste post você viu:

  • As diferenças essenciais entre Scrum e Kanban no contexto de engenharia de software.
  • Como cada metodologia funciona, seus papéis, limites de WIP e métricas.
  • Um EXEMPLO PRÁTICO simulando um módulo de login com Scrum + Kanban.
  • Um código-fonte em Python que simula o fluxo de tarefas com limite de WIP.
  • Um fluxograma geral integrando os passos dos frameworks.
  • Tabelas comparativas e sugestões de gráficos para reforçar a visualização.

Resumo técnico: Scrum e Kanban são métodos ágeis complementares. Scrum baseia-se em iterações regulares (Sprints) com papéis definidos e revisão formal, enquanto Kanban foca em fluxo contínuo, limites de WIP e adaptação constante. Aplicar ambos — em regime híbrido ou ajustado — pode aproveitar os pontos fortes de cada método conforme contexto da equipe e do projeto.

NOTA TÉCNICA: ágil, Sprint, backlog, WIP, fluxo, iteração, feedback, métricas, melhoria contínua.

Show 1 Comment

1 Comment

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *