A equipe inteira, um computador, resolvendo problemas juntos.
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.
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:
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.'
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:
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.
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.
Papéis:
Rotação:
Navegação de estilo forte:
Configuração:
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.
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.