Slide 1

Slide 1 text

Mob Programming e o Flow

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

“Mim Ajuda”

Slide 4

Slide 4 text

“Mim Ajuda”

Slide 5

Slide 5 text

Sorteio de workshop Estrutura de Times + Arquitetura de Software https://bit.ly/workshop-estruturas-e-arquitetura

Slide 6

Slide 6 text

você sabe o que é mob programming?

Slide 7

Slide 7 text

Mob prog É uma fusão das técnicas de pair programming e coding dojo.

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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.

Slide 10

Slide 10 text

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.

Slide 11

Slide 11 text

No content

Slide 12

Slide 12 text

No content

Slide 13

Slide 13 text

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.

Slide 14

Slide 14 text

Mas não é contra- produtivo parar o time todo pra fazer uma coisa só? 🤔

Slide 15

Slide 15 text

Mihaly Csikszentmihalyi (Flow: The Psychology of Optimal Experience) | Flow “O estado mental altamente efetivo de uma pessoa completamente imersa em uma atividade”

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

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;

Slide 18

Slide 18 text

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;

Slide 19

Slide 19 text

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

Slide 20

Slide 20 text

E o que o flow tem a ver com mob programming?

Slide 21

Slide 21 text

No content

Slide 22

Slide 22 text

No content

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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)

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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.

Slide 27

Slide 27 text

Experiências com mob 8 times reunidos num mesmo espaço físico, resolvendo 1 problema na mesma semana.

Slide 28

Slide 28 text

Experiências com mob Refactor de uma jornada feita de forma remota, usando mob programming. PMs, Data Engineers, Designer, Devs trabalhando juntos.

Slide 29

Slide 29 text

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);

Slide 30

Slide 30 text

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?

Slide 31

Slide 31 text

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

Slide 32

Slide 32 text

Obrigado :) @eduj.matos @eduardojmatos @MimAjuda