Randori
O primeiro passo é ter um desafio de programação simples e uma linguagem de programação definida. É recomendado que para o Dojo tenha pelo menos um “Mentor” ou algum participante com experiência sobre aquela linguagem/tecnologia.
Um timebox é definido para a rotação dos participantes (ex: 10 minutos).
Dois participantes vão para frente do teclado (ou laptop) que está visível para todos participantes por meio de um projetor (ou de uma grande televisão). Estes dois participantes possuem papéis definidos: Piloto e Navegador. O Piloto é o único a digitar e o Navegador direciona o que será desenvolvido pela dupla. Depois do primeiro ciclo de tempo, o Navegador vira o piloto, o piloto volta para o público e alguém do público se torna Navegador.
O Navegador e o Piloto, são responsáveis por comunicar a todos o que eles estão fazendo. É um exercício contínuo de “pensar alto”.
O público não pode interromper, sugerir ou dar ideias a qualquer momento. Quando todos os testes estiverem passando (GREEN – vide abaixo), o público pode dar sugestões de refatoração e de melhoria.
É bem comum a utilização de TDD, ou seja, sempre é necessário escrever um teste antes de escrever um novo método ou funcionalidade. TDD que é uma prática que auxilia no Design e na arquitetura do software segue o ciclo: 1 – RED (testes falhando) -> 2 – GREEN (testes passando) -> 3 – REFACTOR (uma técnica que auxilia na melhora do design e da legibilidade do software por meio de pequenas alterações que não modificam o comportamento).
Outro aspecto comum de um Coding Dojo é a utilização de Baby Steps: pequenas mudanças, pequenos incrementos, testes pequenos, métodos pequenos….
Kake
No formato Kake, o setup é um pouco diferente. Múltiplos pares trabalham em paralelo em um ou dois problemas em uma ou duas tecnologias (linguagens) diferentes. O projetor deixa de ser um componente crítico e para todos e os participantes podem se alternar como observadores de cada uma das duplas. Os Mentores possuem um papel mais crítico dentro deste contexto já que devem resolver dúvidas das duplas ao longo do tempo.
Outros links interessantes e relacionados:
http://www.dtsato.com/blog/tag/coding-dojo/
https://blog.danielwildt.com/tag/coding-dojo/
https://jorgekotickaudy.wordpress.com/2012/11/13/porque-ti-nao-treina/
Um comentário sobre “Coding Dojo e o formato Randori & Kake”