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.

Henrique Bastos

February 10, 2015
Tweet

More Decks by Henrique Bastos

Other Decks in Education

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. Dave Thomas Dave Thomas sugeriu o termo ‘Kata’ para a

    realização de exercícios de programação.
  5. (型 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.
  6. Ambiente Seguro O Coding Dojo funciona em um ambiente seguro.

    Um ambiente inclusivo, onde todos possam errar e aprender.
  7. 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.
  8. Computador Só precisa de 1 único computador com o ambiente

    de desenvolvimento preparado na linguagem que você quiser.
  9. 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.
  10. 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?
  11. 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.
  12. 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.
  13. 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.
  14. 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.
  15. 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”.
  16. 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!
  17. “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.
  18. “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.
  19. “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.
  20. 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. ;-)
  21. 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.
  22. 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…