Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Mob Programming e o Flow

Mob Programming e o Flow

Você já ouviu falar sobre mob programming? Nessa talk você irá conhecer a técnica de programação em grupo e como isso pode destravar a eficiência e eficácia do seu time, otimizando o fluxo de entrega de funcionalidades e histórias.

Eduardo Matos

March 14, 2023
Tweet

More Decks by Eduardo Matos

Other Decks in Programming

Transcript

  1. Eduardo Matos Pai da Duda e do João Líder de

    Tech há +7 anos Desenvolvedor há +17 JWT | R7.com | Creditas | GetNinjas | Nubank | Will Bank @eduj.matos @eduardojmatos @MimAjuda
  2. Sorteio de workshop Estrutura de Times + Arquitetura de Software

    https://bit.ly/workshop-estruturas-e-arquitetura
  3. Coding Dojo O Coding Dojo nada mais é que do

    um “local de treinamento de código”, ou “local de treinamento de programação”.
 
 O Coding Dojo é um ambiente seguro para testar novas ideias, promover o networking e compartilhamento de ideias entre os membros da equipe
  4. Consiste em reunir uma equipe de pessoas de um mesmo

    contexto, com diferentes papéis, para desenvolver algo juntos. Mob prog É uma fusão das técnicas de pair programming e coding dojo.
  5. Uma pessoa assume o papel de piloto (assumindo o controle

    do teclado), enquanto as outras pessoas serão navegadores (auxiliando o piloto através do monitor). Mob prog Enquanto o piloto fica com a tarefa de colocar as ideias em forma de código, os navegadores tem a tarefa de pensar, discutir e decidir as direções para o desenvolvimento.
  6. Mob prog É importante que no time de co-pilotos exista

    multidisciplinaridade de perfis, para que todos os aspectos do desenvolvimento do software sejam trabalhados por diferentes pontos de vista. Essa diferença permite que a equipe tenha diferentes visões sobre o problema e tragam novos pontos para a discussão, isso implica em troca mais ampla de conhecimento.
  7. Mihaly Csikszentmihalyi (Flow: The Psychology of Optimal Experience) | Flow

    “O estado mental altamente efetivo de uma pessoa completamente imersa em uma atividade”
  8. Quando você está “no fl ow”… • há a uma

    sensação de "ecstasy" e clareza; • você sabe exatamente o que você quer fazer de um momento para outro; • o senso de tempo desaparece; • você esquece de você mesmo; • você se sente parte de algo maior. Photo by Mulyadi on Unsplash
  9. O que impede o flow? • Fadiga • Requisitos perdidos

    • Troca de contexto • Interrupções no fl uxo de trabalho • Distrações • Espera por clareza do trabalho • Barreiras de comunicação • Falta de conhecimento/skills • Reuniões desnecessárias • Falta de contexto • Dependências externas ou de outros times • Expectativas irreais ou não claras;
  10. O flow causa: • Ambição coletiva; • Objetivos em comum;

    • Objetivos pessoais alinhados; • Comunicação aberta; • Segurança; • Compromisso mútuo; • Senso de unidade; • Senso de progresso conjunto; • Con fi ança mútua;
  11. flow em desenvolvimento de software cada história fl ui da

    "ideia" ao entregável, software funcionando diretamente sem fi las, sem um inventário (trabalho em processo), distração, interrupção ou multitasking
  12. Mob e o Flow zero daily - o time trabalhando

    junto, já está alinhado zero business review/sprint review - as pessoas que podem de fi nir as histórias de usuário e requisitos já estão ali zero colunas - não precisa mover a história entre as colunas e aguardar que alguém assuma a história, pois quem pode movê-la está ali zero blockers - não precisamos mais colocar itens como blocked, se temos as pessoas na sala que podem remover os blockers
  13. Mob prog Todas as mentes brilhantes trabalhando na mesma coisa…

    no mesmo tempo… no mesmo espaço… no mesmo computador… com todas as skills e conhecimento reunidas - Woody Zuill (Mob Programming: A Whole Team Approaching)
  14. Uma tela, foco total nela. Uma pessoa "pilota", e "navegadores"

    não usam o notebook enquanto alguém está pilotando. A ideia é foco total na resolução do problema. A cada 30 minutos (recomenda-se esse período), vocês devem trocar de "piloto". Todas as pessoas na mesa devem rotacionar e se tornarem pilotos em algum momento. Técnica do Pomodoro: a cada 30 minutos (combine no seu grupo), vocês devem pausar 5 minutos e tomar uma água, ir ao banheiro, caminhar, ou qualquer outra coisa que não seja continuar o trabalho. Boas Práticas de um mob
  15. SIM!
 
 As premissas sem mantém: UM piloto, vários navegadores.

    O que muda é que precisamos de ferramenta pra replicar nossa tela No remoto, a tentação de ser multi-task é grande! Por isso, olho na premissa de não fazer outras coisas ao mesmo tempo que há alguém “pilotando”. Lembre-se do flow! E no remoto, funciona? Mantenha sua câmera ligada. Isso demonstra que está presente, prestando atenção no que está acontecendo. Sem isso, não há como saber se você está presente ou não.
  16. Experiências com mob Refactor de uma jornada feita de forma

    remota, usando mob programming. PMs, Data Engineers, Designer, Devs trabalhando juntos.
  17. Aprendizados com mob - Software altamente acoplado e que requer

    um grande esforço pra implementar mudanças acaba tornando as sessões de mob mais longas do que deveriam; - É preciso rotacionar as pessoas como “pilotos”, para evitar fadiga e desatenção do time; - Sessões “híbridas”, com pessoas no remoto e presencial, são desafiadoras e requerem uma estrutura de equipamentos melhor (câmera, áudio, tela);
  18. Inicie experimentando com alguma iniciativa ou história que não seja

    muito grande. Dessa forma você pode permitir que as pessoas vivam a experiência de uma sessão de mob programming num contexto menor, com menos chance de se tornar frustrante. Envolva TODAS as pessoas que podem contribuir para aquela entrega, mesmo as que não são desenvolvedoras. Como começar?
  19. Referências • Mob Programming: A Whole Team Approaching; • Mob

    Programming and the Power of Flow • Woody Zuill • GOTO 2019 • Flow: The Psychology of Optimal Experience by Mihaly Csikszentmihalyi | Goodreads. • The Principles of Product Development Flow: Second Generation Lean Product Development (English Edition) - eBooks em Inglês na Amazon.com.br