Porque TI não treina ???

No GUMA Agile Day, quer com o Keynote Klaus Wuestefeld ou a instigante lightning talk do Marcel Peixoto sobre o número cabalístico 10Mil – O jogador treina muito mais do que joga jogos oficiais, o cirurgião passa sua vida praticando, viajando o mundo atrás de novas técnicas, os cantores e músicos treinam permanentemente, nas artes marciais treina-se até atingir a perfeição, POR QUE EM TI NÃO TREINAMOS ?!?

Enquanto o tempo passa, dívida técnica, falta de padrões, cada um por sí e nem queremos saber qual é o jeito do outro, o que o mundo lá fora esta fazendo, por que se incomodar? Por que se expôr? Tem que treinar? Esta dizendo que meu código é ruim? Quem é o Senior aqui? Estariam me chamando de incompetente? Acabou de chegar e vai dar palpite? Desenvolvo programas a anos, não tenho porque ouvir isso! Então, vamos TODOS abrir a mente e rever conceitos …

Solução definitiva, será que estamos maduros o suficiente ?

Jogadores treinam diariamente, por que não fazemos o mesmo a cada 15 dias, VOU ALÉM, por que fazer a noite, cansados, por que não pela manhã, de forma sistemática e programada, as empresas querem que os desenvolvedores se aperfeiçoem, mas estão dispostos a esperar anos reclamando, ao invés de montar um sistema definitivo de treinamentos …

Que tal 2 Horas a cada 15 dias, 2 Horas a cada 127,5 Horas ? Ou não temos tempo para parar e melhorar, vamos continuar fazendo mais do mesmo e ficar  eternamente reclamando que não atingimos o Nirvana ? É como se o Grêmio ou o Inter quisessem pagar salario apenas para os tempos de jogo, os treinos e exercícios são de responsabilidade do jogador, que tem que desenvolver-se …

Dojo (道場 lugar do caminho?) é o local onde se treinam artes marciais japonesas, o termo vem do Zen Budismo, lugar de iluminação onde os monges exercitam a meditação, concentração, respiração, físico e outros mais. Alusivo a profissões, local onde um pintor alcança a felicidade pintando, um médico realizando cirurgias ou um judoca praticando judô.

O que é Coding Dojo ?

Trazendo para nossa realidade, convencionou-se chamar de “Coding Dojo” os eventos em que um grupo de desenvolvedores reunem-se para treinar a arte da programação de computadores. Não é um treinamento, nem tampouco um curso, é um desafio coletivo em que todos usarão de uma sistemática cooperativa para aprenderem ao buscarem a solução.

É para ser periódico, sempre com novos desafios, instigando os praticantes para que usem técnicas de desenvolvimento dirigido a testes automatizados, em que desenvolve-se primeiro o teste, depois o código da solução e refatora-se o mesmo até estar o melhor possível. Há dois formatos clássicos de Dojo, conforme segue.

Coding Dojo Randori

Randori [乱取り] é uma luta de treinamento no judô ou no jiu-jitsu, que não vale nenhum ponto no qual você apenas treina com a pessoa. Não há competição, o clima deve ser amigável e colaborativo, omais descontraído e informal quanto possível, mas seguindo as regras de TDD (Test Driven Development).

O formato exige que se tenha apenas um computador e a solução seja desenvolvida um pouco por cada participante, de forma complementar e continuada, sempre aos pares enquanto o restante do grupo mantém atenção crítica ao que esta sendo construído, de forma a dar continuidade ou mesmo refazê-lo em seu turno.

O desafio é resolvido aos poucos, por todos, durante o tempo do Dojo. Atuando em pares, um é o programador junto ao teclado, outro é um ajudante, os demais apenas observam. A cada 5 minutos, o programador deixa o par, o ajudante passa a programar e alguém dos demais assume como ajudante, girando a cada novos 5 minutos.

O par que esta programando deve manter seus pensamentos e decisões em voz alta, para que todos saibam o que esta acontecendo. Quem não esta compondo o par que esta programando deve deter-se a observar e somente pedir maiores informações durante a fase de refactoring.

Coding Dojo Kata

Kata ( ou forma?) é um conjunto de movimentos de ataque e defesa e está presente nas mais diversas artes marciais japonesas. O objetivo do kata é ajudar no desenvolvimento das aptidões psicológicas e físicas necessárias para o verdadeiro combate.

Para nós, é quase uma palestra, onde há a apresentação da solução de determinado desafio e todos treinam reproduzindo o que e como foi criada a solução. O treinamento é a busca por criar certos padrões ou nivelamento entre os integrantes de uma equipe.

Ao final, lembre de dar a palavra aos participantes, uma discussão sobre lições aprendidas, o que continuar fazendo, o que parar e o que começar, sempre com foco em melhorar o próximo Dojo, valorize a participação de todos, Juniores, Plenos e Seniores, pois o mais importante é a transferência de conhecimento.

Coding Dojo Kake

É um randori ninja, com diversos pares desenvolvendo concorrentemente, podendo até mesmo ser em linguagens diferentes, exige alguma experiência e maior organização.

Coding Dojo Boshú

Boshú (募集, recrutamento) – Inicialmente chamávamos de Peneirão-Dojo, realizamos sob o nome de Dojo-de-Dojos, mas o colega Cássio Trindade foi atras e o batizou com uma serenidade oriental, agora, além do Randori, Kata e Kake, também temos o Coding Dojo Boshú, que significa “recrutamento” em japonês.

A principal característica é tratar-se de uma sequencia de Dojos, talvez startup, UX, backend, frontend, Agile, escolhendo-se um mix de forma a ser possível avaliar 360º da galera, sempre com a mão-na-massa, abstraíndo aspectos comportamentais, colaborativos, técnicos, cognitivos e construtivistas.
Ao final deste post tem o link para o resumo de nosso 1º Dojo Boshú.

Recomendações básicas

. Calma, faça uma abertura e encerramento adequados
. Facilite, use uma sala adequada, com projetor e arejada
. Coffee e biscoitinhos, pensamos melhor de barriga cheia
. Crie problemas novo, não traga trabalho para o Dojo
. Não incentive discuções filosóficas ou pessoais
. Não gere um ambiente de competição, relaxe
. Não force uma solução, foque no aprendizado
. Não deprecie ou super-valorize ninguém
. Pode ser que não achem a solução, Ok !
. Não apresse e não enrole, deixe rolar
. Di-vir-ta-se!

Leis do Dojo

Tinha um cartaz na porta do Open Space do Ágiles 2011 em Buenos Ayres com duas leis, que eu faço questão de reeditar para nossos Dojos :

1. Não se estresse, o dojo tem vontade e energia própria, na maçonaria chamariamos de egrégora, evoluirá como tiver que ser e chegará onde quer que seja … apenas faça seu melhor e aproveite!

2. Lei dos dois pés, se você não esta aprendendo nada e não esta colaborando com os outros, use seus dois pés para ir para um outro lugar em que consiga realizar um ou dois destes objetivos!

Post relacionados, recomendo os dois, são bem didáticos:
Clique aqui e leia meu primeiro post sobre eventos ágeis de Dojo (Vale a pena)

Clique aqui e entenda melhor o que é TDD (test driven development)
Clique aqui e leia sobre o primeiro Coding Dojo Bochu da história   \o/

2 comentários sobre “Porque TI não treina ???

  1. Pingback: Um ano e meio de blog – Obrigado galera! | Jorge Horácio "Kotick" Audy

  2. Pingback: Coding Dojo e o formato Randori & Kake | Agile Coach .Ninja

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s