Publicado em 4 março 2016 4:43 pm

O que é Dojo de programação?


dojoO Dojo de Programação é uma reunião entre desenvolvedores para aprimorar técnicas e metodologias de programação. Inspirado em fundamentos das artes marciais japonesas um dojo é um local de colaboração e não de competição, onde o principal objetivo é aprender. Esses encontros permitem que programadores com diversos níveis de experiência possam interagir para melhorar habilidades técnicas e de socialização de maneira informal. No inicio de cada encontro os participantes discutem sobre o problema que será solucionado e a linguagem de programação utilizada. Apesar de ter uma estrutura flexível, um dos participantes exerce a função de organizador, denominado Sensei.

Em cada reunião é proposto um problema a ser resolvido utilizando metodologias ágeis como por exemplo a programação em par. Existem alguns estilos para a condução de uma sessão de Coding Dojo, os mais difundidos são o Randori que é a utilizada geralmente nas monitorias de Introdução a Programação, Kake e Prepared Kata. Os recursos disponíveis e o nível de conhecimento dos participantes determina o tipo de estilo que será adotado. Também é possível intercalar os métodos utilizados.

O método Randori utiliza um único computador ligado a um projetor. Em intervalos de normalmente 5 a 7 minutos dois participantes unem-se para resolver o problema proposto, explicando o processo para a plateia. Um dos participantes é o piloto que comanda o desenvolvimento da função, enquanto o copiloto corrige os erros e aponta o que pode ser melhorado. Os demais participantes não opinam até que um teste passe ou até um pedido de ajuda. Ao término do período o copiloto torna-se o piloto e outro membro do grupo assume o papel de copiloto. O ciclo ocorre até o final do Dojo, que pode durar de uma a três horas.

O estilo Kake é uma variação do estilo Randori, porém utiliza diversos computadores e, em cada um, uma dupla deve resolver um problema diferente ou o mesmo problema em linguagens diferentes. Ao término do ciclo, o piloto torna-se copiloto em outra máquina ou retorna para a plateia enquanto o copiloto torna-se o piloto tornando-se responsável por explicar ao novo integrante o problema que está sendo resolvido. Nesse estilo de Dojo a plateia não participa da solução e aguarda para conhecer o problema somente quando faz parte de uma dupla.

O estilo Prepared Kata é semelhante a uma palestra. É utilizado apenas um computador e o participante apresenta um desafio previamente resolvido demonstrando os passos para a construção dos testes e soluções. Os demais participantes podem interromper o apresentador para solucionar dúvidas ou propor melhorias. Ao final, todos os participantes devem estar aptos a reproduzir os passos executados e resolver o mesmo problema.

Independente do método utilizado é importante ao término de cada encontro realizar uma retrospectiva da atividade, destacando os pontos positivos e negativos e compartilhando o que foi aprendido com o grupo. Os participantes devem sempre perguntar quando não entenderem algum passo ou processo para que o objetivo de aprendizado seja alcançado.

O incentivo à prática de Dojos de Programação promove o intercâmbio de conhecimento entre os desenvolvedores com diversos níveis de experiência criando um processo de treinamento continuado. E além disso, integra os profissionais por meio da colaboração e do trabalho em grupo.

Fontes:
Coding Dojo: an environment for learning and sharing Agile practices
Coding Dojo: prática e colaboração para melhoria contínua de software


Comentários