Simyl
simylflow
Início do Curso
Módulo 4: Práticas da Equipe
Lição 5 de 5
11 min

Mob Programming

A equipe inteira, um computador, resolvendo problemas juntos.

1O Que É Mob Programming?

Mob programming estende a programação em par para toda a equipe. Em vez de duas pessoas em um computador, você tem de três a seis pessoas em um computador.

  • Uma pessoa digita (o driver)
  • Todos os outros pensam, discutem e direcionam (navegadores)
  • Os papéis alternam com frequência (a cada 5-15 minutos)

Isso parece absurdamente ineficiente. Cinco pessoas fazendo a digitação de uma pessoa? Mas as equipes que experimentam frequentemente relatam benefícios surpreendentes.

Quando o mobbing funciona bem, a equipe:

  • Resolve problemas complexos mais rápido do que indivíduos
  • Espalha conhecimento para todos simultaneamente
  • Toma melhores decisões através de perspectivas diversas
  • Permanece focada (sem troca de contexto)
  • Constrói entendimento compartilhado do código

Observação de Woody Zuill

O pioneiro do mob programming Woody Zuill diz: 'Todas as pessoas brilhantes trabalhando juntas na mesma coisa, ao mesmo tempo, no mesmo espaço, no mesmo computador.'

2Quando Fazer Mobbing

Mobbing não é para tudo. Use-o para:

Problemas complexos: Quando nenhuma pessoa tem todo o conhecimento necessário. A expertise combinada do mob excede qualquer indivíduo.

Decisões de alto risco: Escolhas de arquitetura, código sensível à segurança, coisas que afetam todo o sistema. Mobbing reduz o risco de uma pessoa cometer um erro.

Transferência de conhecimento: Quando você quer que todos aprendam algo simultaneamente. Uma nova tecnologia, um domínio complexo, código desconhecido.

Onboarding: Novos membros da equipe aprendem a base de código, os padrões e a cultura—tudo de uma vez.

Desbloqueio de impasses: Quando algo está travado, novas perspectivas desbloqueiam.

Não faça mobbing em:

  • Trabalho rotineiro e bem compreendido
  • Tarefas que requerem concentração individual
  • Quando a equipe é muito grande (>6 pessoas se torna caótico)
Bom Uso de Mobbing

A equipe precisa projetar um novo sistema de autenticação. Eles fazem mobbing por um dia: explorando opções, tomando decisões, implementando o núcleo. Todos entendem o resultado.

Mobbing Desperdiçado

A equipe faz mobbing para atualizar arquivos de configuração e corrigir erros de digitação na documentação. Ninguém está aprendendo nada. Trabalho individual seria mais rápido.

3Mecânica do Mobbing

Papéis:

  • Driver: Mãos no teclado. Digita o que os navegadores dizem. Não toma decisões.
  • Navegadores: Pensam, discutem, direcionam. Um navegador fala de cada vez para evitar caos.
  • (Algumas equipes adicionam um facilitador para manter as coisas em movimento.)

Rotação:

  • A cada 5-15 minutos, alterne o driver
  • Use um cronômetro para forçar a rotação
  • Todos têm uma vez como driver

Navegação de estilo forte:

  • "Para uma ideia ir da sua cabeça para o computador, ela deve passar pelas mãos de outra pessoa."
  • Navegadores explicam a intenção; o driver descobre as teclas
  • Isso evita que uma pessoa domine

Configuração:

  • Um computador, tela grande (ou projetor)
  • Todos podem ver a tela
  • Assentos confortáveis para sessões prolongadas
  • Remoto: compartilhamento de tela com todos os participantes, uma pessoa tem controle do teclado por vez

4Mobbing Remoto

Mobbing funciona remotamente com as ferramentas certas:

Compartilhamento de tela: Uma pessoa compartilha; todos assistem. VS Code Live Share ou similar para edição compartilhada.

Vídeo ligado: Ver rostos ajuda na comunicação.

Áudio claro: Todos devem poder ouvir e falar.

Passagens explícitas: "Ok, estou passando o controle do teclado para Alice."

Mais pausas: Mobbing remoto é ainda mais intenso do que presencial. Faça pausas a cada 45-60 minutos.

Barra lateral escrita: Um canal de chat para links, notas ou perguntas paralelas sem interromper quem está falando.

Mobbing remoto pode funcionar surpreendentemente bem. A estrutura forçada (passagens claras, comunicação explícita) às vezes o torna melhor do que mobbing casual presencial.

Para mobs remotos, use VS Code Live Share ou JetBrains Code With Me. Compartilhamento de tela padrão é muito lento para edição colaborativa.

5Abordagens Híbridas

Você não precisa fazer mobbing o tempo todo ou nunca. A maioria das equipes usa mobbing seletivamente:

Mob para kickoffs: Comece novas funcionalidades como um mob para estabelecer direção, depois divida em pares ou solo.

Mob para revisões: Em vez de revisão de código assíncrona, revise como um mob—todos veem o código, discutem e melhoram juntos.

Mob para aprendizado: Ao adotar nova tecnologia, faça mobbing no primeiro uso. O conhecimento se espalha imediatamente.

Solo ou par para implementação: Uma vez que a direção está clara, indivíduos ou pares podem executar mais rápido.

Pense no mobbing como uma ferramenta, não um compromisso. Use-o quando agrega valor; use outras abordagens quando forem mais apropriadas.

A pergunta chave: Este problema é melhor resolvido por muitas mentes ou foco individual? Deixe a resposta guiar sua abordagem.

Principais Conclusões
  • Mob programming: equipe inteira, um computador, driver alternando
  • Melhor para problemas complexos, decisões de alto risco e transferência de conhecimento
  • Driver digita; navegadores pensam e direcionam (um de cada vez)
  • Alterne com frequência (5-15 minutos) para manter todos engajados
  • Use mobbing seletivamente—é uma ferramenta, não uma religião
Armadilhas Comuns a Evitar
  • Mobbing em trabalho rotineiro (capacidade desperdiçada)
  • Uma pessoa dominando a discussão
  • Não alternar papéis (algumas pessoas nunca dirigem)
  • Mobbing por muito tempo sem pausas

Exercícios Práticos