Archive for março, 2011

O que é um Coding Dojo?

O que é Coding Dojo?

Primeiramente vamos ver o que é Dojo. Primeiramente Dojo (pronuncia-se Dojô) é onde se pratica artes marciais, sendo assim o objetivo de praticar os movimentos aprendidos exaustivamente, com isso chega a uma maior precisão de cada golpe, movimento,etc. Inspirado nisso, foi-se criado o Coding Dojo que é uma reunião composta por um grupo de programadores com o intuito de treinar e assim procurar umaprimoramente naquilo que eles sabem fazer. Eles focam um problema que tem que ser resolvido, sendo assim um desafio de programação usando as práticas ágeis.

Coding Dojo é uma técnica de treinamento que remete as artes marciais. O dojô é o local onde os movimentos da luta são repetidos a exaustão, sempre fazendo pequenas melhorias a cada repetição. No nosso caso, o treino deve reunir pessoas para resolver um problema simples de programação em conjunto…

http://dojofloripa.wordpress.com/about/

Princípios do Coding Dojo

  1. Aprendizado Contínuo

  2. Todo mundo aprende com o problema a ser solucionado, porque você compartilha experiências e conhecimento no intuito de alcançar algo.

  3. Ambiente Seguro

  4. Vai estar em lugar tranquilo, divertido, sem pressões do seu chefe, do dia a dia do trabalho. É colaborativo e inclusivo, ou seja, do amador ou mais experiente vão poder ajudar sem medir a competência um do outro.

  5. Passos de Bebê

  6. Não precisa ser feito às pressas, é feito uma coisa de cada vez.

Como é composto um Coding Dojo?

  • A duração é de aproximadamente 1 hora e 45 minutos;
    • Esse tempo é pequeno para não ficar cansativo.
  • Inicie descrevendo a todos o problema a ser resolvido;
    • É muito aconselhado não usar problemas reais, porque sempre deparamos por isso todos os dias. Sendo assim pode ser, por exemplo, converter números inteiros em romanos e em cima disso todos vão procurar resolver.
  • No Coding Dojo são usados as práticas ágeis;
    • Por exemplo: Programação em Par, TDD e Passos de Bebê, com o intuito de não só aprender desenvolvimento ágil, mas também ter uma maior união entre o grupo presente.
  • Inicialmente será implementados testes em cima do problema com uma dupla;
    • A partir da programação em par, a dupla(piloto e co-piloto) inciar a implementação dos testes unitários basedos nos requisitos do problema levantado e a platéia fica acompanhando. Dependendo do problema, recomendo que o piloto seja quem sabe mais desse desafio, se não for o caso, então faça um sorteio que fica mais democrático :)
  • Possui turnos de 5 a 7 minutos;
    • Esse turno é usado para seguir uma rotação: 1 – Sai o piloto, 2 – O co-piloto torna o piloto do próximo turno, 3 – Alguém da platéia torna o co-piloto. A dupla terá um turno para implementar os testes. Não precisa apressar para terminar (lembra do passo de bebê?). Se não acabar a tempo não tem problema.
  • Faça uma retrospectiva do que foi feito;
    • Mesmo que o problema não foi solucionado, não tem problema. Deixe uns 10 minutos antes de acabar o Dojo para todos reunirem e responder três perguntas: 1 – O que foi feito?, 2 – O que foi bom?, 3 – O que pode melhorar para o próximo Dojo? Caso vocês gostarem ;-)

Regras do Coding Dojo

No Coding Dojo possui algumas regras básicas para serem seguidas:

  • É necessário ter somente um computador ligado à um projetor (ou um monitor, TV também serve);
    • Como vai ser usado programação em par nos turnos, a platéia vai vendo o que a dupla está fazendo.
  • Quando estiver falhando o teste, todos devem ficar em silêncio e quietos. Não pode atrapalhar a dupla;
    • O TDD segue uma regra: 1 – Escreva o teste, 2 – Falhou? Faça ela passar, 3 – Passou? Refatore. Durante a implementação do teste até quando ela não passar, a platéia deve ficar calada. Somente a dupla pode discutir, sugerir e brigar. Isso é importante para não atrapalhar o andamento do turno. Aí, quando passar o teste, todos podem dar pitaco, sugerir o que deve ser melhor e o que pode melhorar.
  • Não pode fazer um Coding Dojo com um problema inacabado do Dojo anterior;
    • Não pode levar um problema que não foi solucionado do Coding Dojo anterior. Se não terminou, não tem problema. Leve um novo desafio para ser feito no próximo, e não problemas já usados.

O que pode e não pode no Coding Dojo?

Tem certas práticas em um Dojo que são bons, mas tem alguns que atrapalham a harmonia e que quebra os princípios propostos. Abaixo estão elas:

  • O que pode?
    • Comes e Bebes (mas sem atrapalhar o fluxo da reunião);
    • Dar dicas de um determinado problema quando o teste passar;
    • Dar sugestões e dicas durante a apresentação do problema;
    • Fazer em qualquer lugar, caso cumprir as regras acima;
    • Compartilhar conhecimento;
    • Ajudar;
    • Relacionar com outros programadores.
  • O que não pode?
    • Levar algum problema de Coding Dojo anterior;
    • Levar um problema do dia a dia (vamos exercitar nossa criatividade :) ;
    • Discutir tecnologias durante o Dojo (sem flamewar por favor!!);
    • Falar quando o teste estiver em vermelho.
    • Atrapalhar o andamento do Coding Dojo;

Via: WebLovers

Pessoal de Santa Bárbara, vamos montar um grupo de DOJO ?

Site do MySQL foi Hackeado com SQLInjection


Saiu hoje no Slashdot: o site do MySQL foi hackeado e incrivelmente, explorando um ataque de SQLInjection.
Mais informações no site Techie Buzz