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

Como organizar um Coding Dojo

Como organizar um Coding Dojo

Uma rápida explicação sobre o que é como organizar um Coding Dojo.

D47e5a6a94e793ad1a1c315d6ab63877?s=128

Henrique Bastos

February 10, 2015
Tweet

Transcript

  1. Coding Dojo Coding Dojo é uma prática deliberada que promove

    aprendizagem colaborativa entre pessoas com qualquer nível de experiência com programação.
  2. Programação exige prática, mas a maioria dos programadores acabam por

    “praticar” apenas quando estão executando algum projeto profissional.
  3. Treinar é fundamental. Ao contrário do “jogo profissional”, o treino

    lhe permite exercitar novas técnicas e experimentar exercícios que fortaleçam as fraquezas do jogador. Coding Dojo é uma ótima ferramenta para programadores treinarem.
  4. Somente com muito treino é possível fazer um gol de

    placa.
  5. Dave Thomas Dave Thomas sugeriu o termo ‘Kata’ para a

    realização de exercícios de programação.
  6. (型 or 形 literally: "form"):  japanese word describing detailed

    choreographed patterns of movements practiced either solo or in pair http://en.wikipedia.org/wiki/Kata Kata Kata significa forma. É o exercício coreografado que se pratica em artes marciais para compreensão dos movimentos.
  7. Ambiente Seguro O Coding Dojo funciona em um ambiente seguro.

    Um ambiente inclusivo, onde todos possam errar e aprender.
  8. Aprendizado Coletivo O aprendizado colaborativo é a grande mágica do

    Coding Dojo. A dinâmica entre as pessoas possibilita que todos aprendam enquanto compartilham o que aprendem.
  9. https://www.youtube.com/watch?v=RaNcCOBb3RI Se liga no que a galera que frequenta o

    Coding Dojo pensa sobre o assunto…
  10. #comofaz?

  11. Pré-requisitos

  12. Sala Um espaço razoavelmente confortável onde as pessoas se sintam

    bem.
  13. Computador Só precisa de 1 único computador com o ambiente

    de desenvolvimento preparado na linguagem que você quiser.
  14. Projetor Um projetor ou televisão grande onde todos possam acompanhar

    o código.
  15. Rango! Compartilhar biscoitos, bolos, refrigerante e sucos sempre ajudam a

    animar o encontro.
  16. Problema Lúdico É importante que o Dojo não seja sobre

    um problema de trabalho, sobre coisas “sérias”. Quanto mais lúdico, mais livres os participantes se sentirão para explorar o problema e as infinitas possíveis soluções.
  17. Time define a estratégia Comece sempre combinando com todos a

    estratégia. Como abordarão o problema? Qual a entrada esperada? Qual a saída esperada?
  18. Desenvolvimento Guiado por Testes Tudo acontece com TDD, onde primeiro

    você escreve um código de teste que expresse a sua expectativa e só então você escreve o menor código possível que atende apenas aos testes existentes.
  19. Baby Steps http://www.flickr.com/photos/woaw/4639757602/ Faça sempre passos de bebê. Sempre o

    menor passo possível, o mais específico possível para que o código evolua gradualmente. Lembra-se, chegar ao final do problema não é importante. O importante é a forma de interagir com as pessoas e o código.
  20. Ciclo de Baby Steps O ciclo se repete: Comece escrevendo

    um teste com sua expectativa; Então escreva o menor código que faça o teste passar; Verifique se alguém tem sugestão de melhoria no código; Continue.
  21. Programação em Par A programação ocorre sempre em par.

  22. Piloto e Co-piloto O piloto é quem interage com o

    teclado. O co-piloto auxilia verbalmente. Ambos precisam falar alto para que todos acompanhem o processo.
  23. Platéia A Platéia acompanha em silêncio, dando espaço para o

    Piloto errar durante seu turno. Nada de gritar “falta um ponto e vírgula”.
  24. Papeis mudam a cada turno A cada 4 minutos os

    papeis mudam. O Piloto volta para a Platéia, o Co-piloto vira Piloto e alguém da Platéia vira Co-piloto. Todos os participantes passam por todos os papeis!
  25. Três Fases Um coding dojo está sempre em alguma dessas

    3 fases.
  26. “Pelo menos um teste está falhando.” Pelo menos um teste

    não está passando. A dupla da vez deve se concentrar em fazer o teste passar. A platéia não deve falar nessa fase, para não atrapalhar o Piloto e o Co-piloto.
  27. “Todos os teste estão passando.” Os testes acabaram de serem

    rodados e todos estão passando. Essa é a hora de quem está na platéia dar sugestões para melhorar o código.
  28. “Refatoração” O código foi modificado de acordo com as sugestões,

    mas a bateria de testes ainda não foi rodada. Plateia deve ficar em silêncio até que os testes sejam rodados com sucesso novamente.
  29. “Organizar o código como se o próximo programador fosse um

    psicopata que sabe onde você mora.”
  30. TODOS Ninguém pode ficar para trás. Qualquer um que tiver

    qualquer dúvida deve interromper o Piloto pedindo explicações. Cuidado, dúvidas não são sugestões. ;-)
  31. Retrospectiva No final da sessão cada pessoa deve indicar ao

    menos 1 coisa que gostou e 1 coisa que gostaria que acontecesse na próxima vez. Primeiro guie todos pelo o que foi bom e só depois discutam o que gostariam de melhorar.
  32. Regras • Pair programming • 4/7 minutos para cada piloto

    • Test Driven Development • Baby Steps • Dupla deve falar para todos • Apenas dupla fala “no vermelho” Revisando…
  33. Me adicione nas redes e compartilhe comigo como foi o

    seu Conding Dojo. ;-)