Post original em DojoRio.org.

Step In é um encontro para aprender com software livre.

Objetivo

  • entender como funciona um determinado software livre (ou parte dele, alguma funcionalidade);
  • refatorar algo do mesmo (secundário, opcional).

Requisitos

  • 1 piloto que tenha um bom conhecimento da linguagem usada no projeto, ferramentas de debugging e do projeto escolhido (esse último é opcional, mas ajuda).
  • 1 desktop/notebook;
  • 1 projetor (pra clonar a tela do computador);
  • 1 quadro-branco (opcional, mas ajuda na hora da explicação);

Como Funciona

Primeiro escolhe-se o projeto que será explorado. Pode ser um plugin, ferramenta, framework ou linguagem de programação. Qualquer tipo de software.

O piloto deve (obviamente) baixar o código do projeto.

Logo depois começa a explicá-lo passo-a-passo, tirando eventuais dúvidas da platéia. É uma boa executar código ao longo do processo para exemplificar o que está sendo analisado.

Para explicar, pode-se usar o quadro-branco, executar algum código que use a funcionalidade, debuggar o mesmo, usar analogias ou o que for conveniente.

Caso o piloto não saiba explicar alguma coisa, lembre-o que a documentação e o Google são seus amigos. Nada impede que alguém da platéia explique alguma coisa.

Pode ser interessante refatorar algo que não esteja bom, adicionar alguma funcionalidade que seja de rápida implementação ou consertar alguma falha de segurança. O piloto faria a mudança e checaria se os testes atuomatizados continuam passando ou criaria novos testes se necessário. Caso alguém da platéia tenha tido a ideia, pode assumir como piloto e o antigo piloto se torna co-piloto até a finalização da refatoração.

No fim do Step In, o piloto deve fazer uma review rápida do que foi aprendido. Também seria interessante que a review seja postada em algum blog.

O Que As Pessoas Podem Aprender

As pessoas podem aprender tanto funcionalidades da linguagem, conceitos usados e sobre as escolhas e estratégias do desenvolvedor da ferramenta.

De Onde Surgiu a Ideia

Outro dia eu estava olhando como funciona o roteamento de URL do Sinatra para ver como os blocos são executados.

Poucos dias depois, notei que seria interessante usar a estratégia deles num dos projetos que estou trabalhando.

Na palestra do Caike Souza no DevInRio, ele perguntou quem fazia Code Review dos projetos de suas empresas. A maioria não fazia.

Imaginei que não abrissem o código de projetos open-source mesmo dos que estivessem usando.

Minha cabeça explodiu.

De Onde Surgiu o Nome

O nome foi sugerido pelo camarada Henrique Bastos pós DevInRio.

O Que Estão Esperando?

Nos próximos open-spaces e palestras em eventos boladões, quero ver Step Ins em vários projetos!

O Que Acharam da Ideia e do Processo?

Sugestões são mais do que bem vindas. :-)