Skip to content

Coding DOJO

Guilherme Lacerda edited this page May 30, 2017 · 7 revisions

Sumário

Introdução

Como Fazer

Tipos de Dojo

Dojo Kata

Dojo Randori

Dojo Kake

Sites Para Resolução de Problemas

Referências

Introdução

  Segundo Sato, Danilo(2008), Coding Dojo é um encontro, normalmente semanal, organizado para desafiar pessoas a melhorar suas habilidades de pragramação e nivela-lás, caso estejam em um projeto.

  Seu princípio é criar um ambiente colaborativo e não competitivo, onde as pessoas continuam aprendendo. Neste ambiente, o participante não tem a cobrança pelos seus erros, sendo estes parte do aprendizado e aperfeiçoamento.

  Como mencionado, o Dojo serve como uma reunião onde uma pessoa com um conhecimento maior e lider desta reuniao, Dojo Master, cita problemas a serem resolvidos pelos aprendizes, tudo isso visando o nivelamento de conhecimento e aumento das competências em codificação.

  Dojo (lê-se "dojô") vem do japonês "Local de Treinamento". No ramo das artes marciais Dojo é, além de um respeitado local de treinamento, é um local onde tem-se um convívio harmonioso entre os participantes;

  • Coding Dojo = Local de Treinamento de Código.

  Este segue a mesma ideia do dojo das artes marciais, entretanto, neste caso específico, se treina a arte de codificar.

Como fazer

  Para realizar um Dojo, algumas necessidades devem ser atendidas:

  • Deve acontecer em uma sala que suporte a quantidade de pessoas;
  • É necessário um projetor, para conectar um computador;
  • Um quadro branco ou negro, onde serão anotados comentários sobre os desafios.

  Além disso, os participantes são encorajados a utilizarem o método [Test-Driven Development(TDD)](https://github.com/fga-gpp-mds/00-Disciplina/wiki/Test-Driven-Development) para a solução dos problemas.

  A linguaguem utilizada fica a escolha dos participantes e organizadores do DOJO.

  Na realização dos Dojos, os participantes recebem algumas

Tipos de Dojo

  Dojo Kata: Há um apresentador que entrega uma solução pré-criada;

  Dojo Randori: Somente um Piloto e um Co-Piloto em uma única máquina;

  Dojo Kake: Vários Pilotos e Co-pilotos em máquinas Diferentes;

Dojo Kata

  Neste tipo de Dojo há um apresentador que entrega a solução pronta de um determinado problema.

  O objetivo é que os envolvidos no Dojo consigam reproduzir a solução demonstrada com êxito.

  Neste tipo de Dojo é permitido realizar pausas para a sanar dúvidas dos participantes.

Dojo Randori

   Este tipo de Dojo permite a particiapação de todos, entretanto existem 3 figuras centrais:: Piloto, Copiloto e Platéia.

   É dado um problema e uma única máquina para resolvê-lo, esta máquina deve ficar ligada a um projetor ou algo semelhante para que todos na sala possam assistir e entender o que está sendo realizado.

   Um participante assume o papel de piloto e outro assume o papel de co-piloto. O piloto passa a escrever o código na máquina enquanto o copiloto o auxilia.

   Após 5 minutos o piloto e o copiloto explicam o que fizeram, há uma pausa para a refatoração do código juntamente com a plateia.

   Então o copiloto assume o lugar de piloto, o piloto volta a platéia e alguém da platéia assume o papel de co-piloto.

  A platéia deve ficar em silêncio em todo o tempo, podendo falar somente quando o copiloto pedir auxílio ou no momento da refatoração do código.

  O piloto e o copiloto devem, a todo momento, explicar o que estão fazendo e pensando em fazer. Toda discussão entre os dois deve ser ouvida pela platéia.

  É importante seguir os “baby-steps” ou até mesmo TDD para maior compreensão de todos na sala.

  A dupla tem toda liberdade para resolver o problema da forma que achar melhor, entretanto todos os participantes devem entender o que está sendo feito.

Diagrama do Algorítmo do Coding Dojo do TIpo Randori

Dojo Kake

  Segue a mesma ideia que o Randori, entretanto existem várias duplas trabalhando simultaneamente e a cada cinco minutos as duplas são trocadas.

  Vale ressaltar que este tipo de dojo necessita de uma maturidade maior dos participantes.

Sites Para Resolução de Problemas

http://codekata.com/

http://dojopuzzles.com/

Referências

IBM - Coding Dojo: prática e colaboração para melhoria contínua de software

DEVMEDIA - O que é o Coding Dojo.

Flavio Silveira - Coding Dojo – O Que é ? E Como Participar ?

Coding Dojo: an environment for learning and sharing Agile practices

Clone this wiki locally