quarta-feira, 13 de outubro de 2010

Dojo#2: Jogo da Velha (PHP)

O que?
Coding-Dojo #2

Por que?
- Por que no Dojo#1 já deixamos marcado, queríamos continuar praticando
- Para experimentar e disseminar a técnica e as práticas relacionadas (TDD, Programação em Pares, Refatoração, Baby Steps...).
- E, como sempre, por que é divertido!!!

Quando?
14/07/2010, das 10 as 12h

Onde?
Serpro, Sala de Treinamento 06, 1o andar

Como foi a agenda?
10' - Visão geral sobre Dojo
5' - Apresentação do desafio
60' - Programação em pares, rodízio a cada 5 minutos, comentários só com teste passando
30' - Retrospectiva

Quem participou?
Serge, Márcio, Thiago, Cleverson, Marlon, Marcelo Curi, Sandro Franco, André, Aline Rios, Gustavo, Luis Apodi, Cezar Ronaldo, João Victor (SERPRO)
Caio e uma colega (UNEB)

Qual foi o desafio?

O Jogo da Velha.

Em qual linguagem?
PHP com PHPUnit e NetBeans

O que aprendemos?
Vai aí a transcrição dos post-its:

Pontos positivos
:-)
- Mudanças de Arquitetura no meio da implementação.
- A platéia pode ajudar com questões de sintaxe.
- Muito bom aprender PHP com TDD e Netbeans.
- Conseguimos passar a maior parte do tempo focados nos testes e não na solução. A solução foi uma consequência.
- Para quem não conhece a linguagem, mas sabe lógica de programação. Foi possível acompanhar a evolução sem grandes problemas.
- Programação em par "na veia"!
- Ajudou a iniciar o aprendizado de uma linguagem nova.
- Cobertura de código.
- Desenvolvimento e testes em pequenos passos.
- Cooperação entre desenvolvedores
- TDD "na veia"!
- Aprende-se com os acertos e erros dos que programam antes.
- Refatoração funcionou muito bem.

Pontos de melhoria :-(
- Pouco tempo para o problema ser resolvido.
- A forma de trabalho encontrada ainda não encoraja novatos (na linguagem ou técnicas) a participar.
- Muitas pessoas dando sugestões ao mesmo tempo.
- Pouca familiaridade com classes de teste (TDD). Confusão entre classes de código (resolução do problema) e classes de teste.
- Devia ter um controle com relação a sugestões da platéia. Muitas sugestões ao mesmo tempo desvia a atenção e foco do piloto e co-piloto.
- Colaboração entre desenvolvedores apenas após o teste passar. Muitos davam palpites com o teste falhando.
- Planejar antes de executar.
- Pouco tempo para implementar (mas muitos disseram que o tempo está condizente com a quantidade de pessoas).
- Falta ainda um pouco mais de prática (nosso segundo Dojo) e foco (querer fazer mais de uma coisa ao mesmo tempo).
- O revezamento dos pares deve ser tal que sempre fique alguém mais experiente com alguém menos experiente.
- Piloto e co-piloto devem comunicar mais o que estão fazendo.

Teve slides?
Sim, os mesmos do Dojo1, para explicar os conceitos gerais sobre Coding-Dojo. Veja e ouça o SlideCast abaixo ou então baixe o PDF.

E fotos?







Então, mostre-me o o código!

Baixe aqui o código que conseguimos produzir. É um projeto NetBeans.


Você quer comentar
(edita/salva e coloca também seu nome)?
Mesmo que algumas pessoas tenham comentado que não chegamos ao final da solução, que o tempo é curto para tanto, o principal foco do Dojo é a execução dele, é praticarmos as técnicas envolvidas (TDD, Programação em Par, Baby Steps) e não chegar a solução. O problema é apenas um meio.
Márcio Albuquerque

Nenhum comentário:

Postar um comentário