Esse encontro segue algumas regras básicas, como por exemplo a programação em pares, a troca constante dos pares, desenvolvimento guiado por testes e os "passos de bebê".
Existem 3 tipos de Coding Dojo:
- Kata: técnica em que um apresentador deve demonstrar uma solução previamente desenvolvida. O objetivo é ensinar aos participantes todos os passos necessários e permitir que todos possam reproduzir o mesmo resultado. Nesse formato é permitido realizar interrupções para tirar dúvidas a qualquer momento.
- Randori: formato que promove a participação de todos. O desenvolvimento da solução é feita orientada à testes e com programação em par. A cada turno de aproximadamente 5 minutos, o piloto volta para a platéia, o co-piloto vira piloto e um participante da platéia vira co-piloto. Os comentários são permitidos somente quando os testes estiverem em verde e, enquanto estiverem no vermelho, a platéia deve permanecer em silêncio.
- Kake: técnica semelhante ao Randori, porém no desenvolvimento há vários pares trabalhando em soluções diferentes simultaneamente e a cada turno a troca é feita entre os pares. Esse formato necessita de um conhecimento mais avançado dos participantes.
Nas reuniões que fazemos aqui, não podemos seguir todos esses conceitos, a começar pela quantidade limitada de pessoas (normalmente 2 ou 3) e de tempo (normalmente, nos dedicamos entre 30 e 40 minutos para nossos estudos).
Utilizamos um formato parecido com o Randori, porém obviamente sem platéia no nosso caso :p.
Como o tempo que dispomos não é grande, normalmente não realizamos a troca de par, ou seja, quem começou programando segue programando até o final.
Como o enfoque é totalmente no aprendizado, sempre pegamos problemas pequenos, e que de preferência possam ser resolvidos em meia hora, e nos concentramos nele durante todo o tempo.
Esse formato tem se mostrado bastante produtivo no nosso caso, e estamos obtendo um grande progresso em nosso (des)conhecimento de Java, Orientação a Objetos, etc.
O primordial para o sucesso de um Dojo é a participação e compromentimento de todos.
Com a gente, tem funcionando muito bem até agora, visto que conseguimos montar um ambiente colaborativo, onde não temos receio de expor nossas dúvidas.
Além disso, é muito importante a colaboração, compartilhando pesquisas, blogs, exemplos, etc.
Bem, é isso... Apesar de não ser um Coding Dojo "tradicional" é assim que temos feito, e até agora não temos encontrado problemas.