Mob Programming

A programação mob ou informalmente mobbing é um desenvolvimento de software em que uma equipe toda trabalha no mesmo objetivo, ao mesmo tempo, no mesmo espaço e no mesmo computador, esse estilo de programação se baseia nos princípios de manufatura enxuta, Extreme Programming(XP) e desenvolvimento enxuto de software. Em 2011 uma equipe de desenvolvedores de software da Hunter Industries aborda o Mob Programming como a evolução da prática de TDD  e Coding Dojos, e da aplicação dessas técnicas para acelerar um projeto que ficou em espera por vários meses. Uma evolução gradual das práticas, bem como um ciclo diário de inspeção e adaptação, resultando na abordagem que agora é conhecida como Programação de Mob. A programação mob é semelhante á programação em pares, em que duas pessoas se sentam no mesmo computador e colaboram no código ao mesmo tempo, mas na programação mob a colaboração é estendida a todos os membros da equipe, enquanto ainda usa um único computador para escrever o código e inseri-lo na base do código.

A programação mob tem um conceito básico e simples que é: a equipe inteira trabalha como uma equipe em uma tarefa por vez, ou seja: uma equipe, um teclado e uma tela.

Benefícios

  • Maior produtividade.
  • Incidentes são conhecidos por todos imediatamente e resolvido antes de irem para a produção.
  • Praticamente sem bugs na produção.
  • Impedimentos se tornam visíveis imediatamente, e são resolvidos imediatamente.
  • Facilidade de se fazer reuniões a qualquer momento no próprio “espaco mobbing”.
  • Sem necessidade de reuniões diárias porque todos estão sempre alinhados.

 

A Configuração Básica como funciona:

Computador

Existe apenas um computador em uso para programação. Todo o código que entra na base de código é inserido por meio desse único computador. Este computador também é usado para e-mails da equipe, criação, teste e outras atividades que envolvem toda a equipe.

Temos também outros computadores desktop e laptop disponíveis que usamos para pesquisar, examinar bancos de dados de forma independente ou experimentar, escrever e-mails pessoais e outras finalidades paralelas à programação.

 

Projetor

Existem dois projetores que são usados como monitores duplos, projetados em uma parede. Depois de experimentar com a altura, distância, brilho, iluminação ambiente da sala, pintura de parede e outras configurações, ajustamos as coisas para funcionar bem para todos na equipe

Teclado / Mouse

Existem dois teclados e dois mouses, para que todos possam escolher. Experimentamos quatro ou cinco teclados diferentes e decidimos por dois: um “normal” e um “ergonômico natural”. Não usamos os dois ao mesmo tempo; há apenas um desenvolvedor “digitando” por vez.

Cadeiras e Mesas

Cada membro da equipa tem a sua cadeira que se move à medida que assumimos as diferentes funções (condutor ou navegador). Desta forma, não precisamos reajustar constantemente as configurações da cadeira e cada pessoa pode ficar o mais confortável possível.  Cadeiras são de boa qualidade e confortáveis, e escolhidas individualmente para a equipe, para o membro durante uma avaliação ergonômica.  A superfície de trabalho consiste em algumas mesas confortáveis ​​para sentar. O computador, teclados / mouses, projetores, telefone, alto-falantes, desinfetante de mãos e algumas outras coisas que gostamos de manter à mão são mantidos nas mesas

Áreas de Trabalho Privadas

Cada um  tem sua própria área de trabalho separada para usar sempre que alguém quiser trabalhar sozinho. Tem pequenas áreas de recepção em um anexo separado da área da equipe principal. Estes são configurados como estações de trabalho sentadas ou em pé dependendo do que cada indivíduo prefere, e cada membro da equipe tem seu próprio computador, monitores duplos, gavetas, telefone, etc. Quando na área privada, ainda podemos ouvir e preste atenção à área principal de “mobbing” se quisermos, ou podemos usar fones de ouvido ou, de outra forma, “desligar” o que todo mundo está trabalhando.

 

Características da equipe:

  • Os membros da equipe abordam todas as suas interações entre si com gentileza, consideração e respeito.
  • O espaço físico da equipe é configurado de forma que toda a equipe possa trabalhar na mesma coisa ao mesmo tempo, no mesmo computador, sem problemas ergonômicos.
  • A equipe pratica o fluxo de peça única iniciando, trabalhando e entregando um item de trabalho antes de passar para o próximo item.
  • A equipe está sempre buscando o aprimoramento por meio de retrospectivas frequentes combinadas com ações concretas