Mostrando postagens com marcador tdd. Mostrar todas as postagens
Mostrando postagens com marcador tdd. Mostrar todas as postagens

terça-feira, 6 de setembro de 2011

Dojo@Area1 HTML5+JS 03/09/2011 "Aquecimento para o Linguágil"




O que?
Coding Dojo de HTML5 + Javascript

Por que?
Aquecimento para o LinguÁgil 2011

Quando?
03/09/2011, das 09h às 11h45


Onde?  
Faculdade AREA1

Teve anúncio: 
Segundo o anúncio inicial:
Agora é a vez do HTML5, quarto Coding Dojo de aquecimento para o LinguÁgil!! A nova versão do Hipertext Markup Language, o HTML, traz novidades muito interessantes e que colocam a diversão e o prazer de volta a programação web baseada em padrões. Além das novas tags, que trazem semântica a construção de páginas, muitas novidades na área do Javascript (JS) que melhoram ainda mais a experiência do usuário: geolocalização, websockets, webworkers, storage local, carregamento de arquivo local, etc. É nessa seara que iremos nos aventurar nesse próximo coding dojo de aquecimento para o LinguÁgil 3.0.
Agenda planejada?
09:00 – 09:40 : Apresentações coding dojo, SL4A
09:40 – 09:45 : Apresentação do problema
09:45 – 11:15 : Mão-na-massa
11:15 – 11:30 : Retrospectiva do coding Dojo


Quem participou? 
  • Rodrigo 
  • Paulo
  • Luiz Cláudio (LinguÁgil)
  • Vitor
  • Rosilane
  • Arlindo
  • Ana
  • Maurício Vieira (LinguÁgil)
  • Marcelo Curi (LinguÁgil)
  • Michel
  • Tarsis
  • Márcio Albuquerque (LinguÁgil)

Qual foi o desafio?
Utilizar o recurso de geolocalização do html5, e a api do googlemaps para obter o país da máquina, e em seguida, obter da API do Last.FM, a lista das 10 músicas mais ouvidas neste país.

O que aprendemos?

Pontos positivos :-)
  • Tempo. Lista
  • Jasmine. Quantidade de participantes. Desafio legal
  • Aprendizado e interação com html5. Verificações de erros.
  • Amadurecimento da técnica do dojo.
  • Javascript. Participação de novas pessoas.
  • Compartilhamento de conhecimento. Produção coletiva do código.
  • Outra solução foi encontrada. Ampliou conhecimentos.
  • Novos conhecimentos. Bom número de participantes
  • Aprender mais a respeito de javascript. Compartilhar conhecimento.
  • Aprendi muito sobre depuração de javascript.
  • Quantidade de participantes
Pontos de melhoria :-(
  • Tempo. Jasmine desobediente, ou desconhecimento geral de closure
  • Diversas ferramentas interdependentes que precisem de conhecimento prévio de várias linguagens diferentes, causando um pouco de confusão.
  • Erros do javascript
  • Algumas dificuldades
  • Alguns pogs
  • Gestão do tempo
  • Teclado poderia ser menos confuso
  • Teclado diferente do que eu uso. Sem mouse
  • Faltaram mais baby steps
  • Entendimento do callback. Melhor intendimento do JS. TDD c/ JS é difícil
  • Falta de conhecimento sobre as tecnologias
Teve apresentação?
Sim. Maurício apresentou os slides Coding dojo em 5 minutos. Em seguida, Márcio explicou sobre o HTML5.

E fotos?
















Cadê esse código todo? Publicado no Google Code.


domingo, 28 de agosto de 2011

Dojo@Area1 SL4A 27/08/2011 "Aquecimento para o Linguágil"

Chegamos ao terceiro Coding Dojo de aquecimento para o LinguÁgil!! Agora a brincadeira vai ao mundo móvel, introduzindo a plataforma Android. Contudo, muita gente acha o Java muito verboso, ou simplesmente gosta mais de outras linguagens, como Python, PHP, Ruby, JS, Shell Script, Lua… Entra na parada o SL4A (Scripting Language for Android), um app que roda linguagens de scripts por cima da DVM (Dalvik Virtual Machine). Venha conhecer a plataforma, como trabalhar com ela e ainda por cima, veja ela funcionando para resolver um problema/desafio na hora!!

O que?
Coding Dojo de Scripting Layer for Android (SL4A).

Por que?
Aquecimento para o LinguÁgil 2011

Quando?
27/08/2011, das 09h às 11h30


Onde?  
Faculdade AREA1

Agenda planejada?
Segundo o anúncio inicial:
09:00 – 09:40 : Apresentações coding dojo, SL4A
09:40 – 09:45 : Apresentação do problema
09:45 – 11:15 : Mão-na-massa
11:15 – 11:30 : Retrospectiva do coding Dojo


Quem participou? 
  • Paulo
  • Luiz Cláudio (LinguÁgil)
  • Guilherme (AREA1) 
  • Maurício Vieira (LinguÁgil)
  • Marcos 
  • Fabíola
  • João Victor 
  • Marcelo Curi (LinguÁgil)
  • Victor
  • Thales
  • Arlindo
  • Euler
  • Vitor
  • Rilson
  • Márcio Albuquerque (LinguÁgil)

Qual foi o desafio?
Mostrar o pódio de qualquer corrida da Fórmula 1.

O que aprendemos?

Pontos positivos :-)
  • Nova linguagem
  • Várias pessoas participaram, bom número de participantes
  • Foi em PHP
  • Uso do TDD
  • Explicação da Tecnologia
  • Conhecimento sobre a tecnologia
  • Foi bem informativo, porém faltou alguns conhecimentos de algumas pessoas
  • Faltou uma breve introdução sobre a linguagem
  • Boa interação com o grupo, mesmo com pouco conhecimento, dá pra interagir
  • Bem explicado
  • Todos participaram
  • Mais interativo
  • Desafio foi bom, explorou Android e JSON
  • Fluência devido ao conhecimento que o público já tinha de Dojo
  • Lista de Pilotos e Co-pilotos
  • Marcador de tempo com aviso sonoro
  • Boa participação
  • "Android com linguagens de script é massa"
  • Proposta do Dojo foi MUITO interessante
  • Ótima oportunidade para aprender
  • Ambiente ótimo
Pontos de melhoria :-(
  • Platéia confundia piloto e co-piloto
  • Emulador do Android demora pra levantar
  • Faltou TDD no Android
  • Pouco tempo - quando está na melhor parte, acaba
  • Demora para entender o desafio para quem chegou atrasado
  • Faltou um pouco mais de organização
  • Muito barulho
  • Ajuda sendo dada fora de momento 
  • Piloto e co-pilot sendo guiados, não sabendo o que fazer
  • Base de SL4A dada muito rapidamente
  • Nem todos os particpantes tiveram seus 5 minutos atendidos
  • Muitas pessoas opiniando ao mesmo tempo
  • Não houve muito bem o baby-steps
  • Foi em PHP
  • A sala toda foi o co-piloto
  • Muita sugestão da platéia
  • Pouco tempo
Teve slides?
Sim. Foi feita uma apresentação do que é o SL4a por Márcio.

E fotos?







Retrospectiva por Márcio e Curi

Platéia

Participantes/autores da solução.

Participantes/autores da solução.


Cadê esse código todo? Publicado no Google Code.


segunda-feira, 18 de julho de 2011

Coding Dojo @ Área1 - python em 16/07/2011

Para dar início às atividades da recém-criada célula de python na AREA1, o grupy-ba realizou um coding dojo para apresentar a linguagem a novos interessados.
Antes de iniciarmos o dojo, poucas pessoas afirmaram já conhecer a sintaxe. Eu e LC escolhemos o mesmo desafio do último dojo de python realizado na UFBA, Calculadora Romana. Esqueci novamente os post-its e a retrospectiva foi direto no projetor. Desta vez, ninguém reclamou do tempo; e LC observou que foi o dojo de python com maior número de participantes. Acredito que foi por conta da divulgação ter começado antes do São João, em junho. Que venham os próximos :-)

Agenda planejada:
  • 09:00 - 09:30 : Slides coding dojo + slides sintaxe python
  • 09:30 - 09:40 : Apresentação do problema
  • 09:40 - 10:45 : Mão-na-massa
  • 10:45 - 11:00 : Retrospectiva do coding Dojo
Agenda realizada:
  • 09:20 - 10:00:  Slides coding dojo + apresentação da sintaxe python (interpretador e comentários)
  • 10:00 - 10:05:  Apresentação do problema - Calculadora Romana
  • 10:05 - 11:15:  Mão-na-massa
  • 11:15 - 11:45 : Retrospectiva do coding Dojo + bate-papo sobre python e grupy-ba.
Presentes:
  • Luiz Cláudio (linguagil, grupy-ba)
  • Nadilson (grupy-ba)
  • Arllen 
  • Marcos
  • Victor (grupy-ba)
  • Jota Bê
  • Arlindo
  • Ney Azevedo
  • Paulo (grupy-ba)
  • Guilherme
  • Franey
  • Maurício Vieira (linguagil, grupy-ba)

Pontos fracos:
  • ide ao invés de gedit
  • introdução + formal ao python
  • baby steps não foi seguido à risca (testes não foram seguidos)
  • faltou definir ordem de piloto/copiloto
Pontos fortes:
  • não há pressão para os participantes fazerem certo
  • interação
  • novos participantes
  • quantidade de pessoas
  • prática de métodos ágeis (programação por par, TDD)
  • forma prática de se iniciar na linguagem
  • simplicidade da linguagem
  • participação foi boa: idéias de pessoas diferentes contribuiram para a solução
  • permitir que estudantes de outras universidades participem
Código:


Fotos:



quinta-feira, 16 de junho de 2011

Dojo@UFBA #4 em 15/06/2011 - ruby

O que?
DOJO em Ruby na UFBA conduzido por Alex Chastinet (@alexchastinet) e Luciano Borges (@lusabo) em conjunto com a turma de Paradigmas e Linguagens de Programação a convite do professor Manoel Mendonça.

Quando?
15/06/2011, das 17h ás 19h 


Onde?
Sala 122 do PAF I na UFBA. 



Como foi a agenda? 
15' - Linguagem Ruby
105' - Programação em pares, rodízio a cada 5 minutos, 
20' - Retrospectiva 

Quem participou? 
Toda a turma. :) 

Qual foi o desafio? 
Desenvolver um sistema para analisar seus jogos da mega-sena.

Em qual linguagem?
Ruby 



E a retrospectiva?



Pontos Positivos :-)

  • Ruby (4x) / Sintaxe;
  • O desafio / Desafio interessante (2x) / Problema;
  • Programar novamente em Ruby;
  • Uma linguagem nova;
  • Linguagem parecida com as usadas em DOJOs passados;
  • Conhecimento de uma linguagem com um alto potencial de desenvolvimento web. Seria bom um DOJO com o Rails associado;
  • O rigor às regras de transição dos diálogos;
  • Problema explorou bem a linguagem, considerando o tempo reduzido do DOJO;
  • Práticas de TDD sendo seguidas a risca;
  • Convidados bem preparados;
  • Convidados participaram mais como pitlo;
  • A turma está mais ambientada com os DOJOs.

Pontos de Melhoria :-(

  • Ausência de mouse (2x);
  • Cor da fonte do ambiente de programação;
  • Tela preta da IDE;
  • Problema mal especificado como um todo, no entanto, não houve perdas com isso;
  • Desafio não ficou claro no início;
  • Conhecimento na linguagem;
  • Pilotos e co-pilotos ainda silenciosos (2x);
  • Introdução longa;
  • Conversas paralelas recorrente.

Contribuições do Prof. Manoel

  • Criar uma biblioteca de problemas com slides padronizados;
  • Criar uma aplicação de medição de tempo;
  • Tempo de pilotagem pode ser variável;
  • Comparação de Linguagens em DOJOs.



Teve slides? 
Sim. Veja aqui.

E fotos?





Então, mostre-me o código! 
O código está no Google Code no endereço https://code.google.com/p/dojo-bahia/source/browse/#svn%2Ftrunk%2Fufba-2011%2Floteria

quinta-feira, 9 de junho de 2011

Dojo@UFBA #3 em 08/06/2011 - python

Na sequencia de dojos na turma de Paradigmas e Linguagens de Programação de 2011.1, em 08/06/2011 foi a vez da linguagem Python. Eu e Luiz Cláudio (ambos do GruPy-BA e do LinguÁgil) apresentamos uma introdução à linguagem. Em seguida, eu expliquei brevemente o problema: calculadora romana, um kata listado no site original do Coding Dojo.

O ambiente usado foi o gnome, uma janela do gedit aberta e uma janela de terminal para rodar os testes na linha de comando. Os alunos chegaram a um consenso bem rapidamente sobre a forma de atacar o problema. Para saber como foi, veja o código versionado no repositório do dojo-bahia ;-). O professor Manoel e Luiz Cláudio interferiram com sugestões durante as pilotagens.

No fim, dois alunos (TODO: atualizar os nomes) tomaram a frente e fizeram a retrospectiva no quadro. A turma gostou da linguagem.O que achei engraçado, desta vez, foi o número de participantes que escreveu, literalmente, "Desafio interessante", heheh. Parece até que combinaram. Além disto, como o problema foi algorítmico, a conversa da platéia foi intensa e isto pode ter atrapalhado um pouco. No fim, não conseguimos resolver o problema todo (como pode-se ver ao rodar o código), mas acredito que a experiência agregou bastante por eles estarem exatamente no meio do curso de Ciência da Computação.

:D
  • Desafio legal. Linguagem dinâmica. Melhor participação.
  • PYTHON \o/. Desafio interessante
  • Sintaxe simples e limpa. Desafio interessante.
  • Primeira experiência python. Desafio desafiador.
  • Produtivo. Análise de um problema novo. 
  • Aprendizado de uma nova linguagem (mesmo que parcialmente).
  • Python. Bom desafio.
  • Python! TDD em python.
  • Pessoas mais participativas. Desafio muito bom/estimulante. Tempo melhor aproveitado.
  • Desafio interessante
  • Python é um ponto positivo!
  • Linguagem dinâmica. Desafio legal.
  • Problema compatível com o tempo do dojo. Linguagem simples.
:(

  • Alguns molugadores (?) ainda estão conversando baixo
  • Tempo
  • (vazio)
  • Falha de segmentação!
  • O pessoal participou menos como piloto!
  • Muita gente discutindo a solução em grupos paralelos
  • Pouco conhecimento da linguagem.
  • Tempo curto. Dojô começou tarde.
  • Pouco conhecimento de detalhes da linguagem.
  • Tempo curto. Processo de teste confuso (uma vez, nas condições ideais, não dificulta o bom andamento do Dojo)
  • -1 e 3000
  • Conversas individuais
  • O desafio poderia ser mais divertido

Fotos:











quinta-feira, 2 de junho de 2011

Dojo@UFBA #2 em 01/06/2011

Novamente a convite do professor Manoel Mendonça, foi realizado um dojo com a turma de Paradigmas e Linguagens de Programação de 2011.1. Desta vez, a linguagem escolhida foi Groovy. O dojo foi conduzido com a ajuda de Serge Rehem, que me pediu para relatar aqui. Luciano Borges também estava presente e ajudoua apresentar a linguagem aos alunos.

Foram apresentados os slides de Groovy antes do início dos trabalhos. Como a turma já conhecia a técnica, não foi necessária a apresentação de praxe.

No Dojo, foi usada a IDE SpringSource Tools Suite, que tem suporte a sintaxe groovy e execução de testes a la jUnit. O desafio foi o do boteco, já realizado em outros coding dojos aqui em Salvador (se você souber, aponte ou coloque o link do relato!) e os alunos conseguiram fazer todos os casos de testes. O código foi publicado no repositório do dojo-bahia.

No fim, ajudei a fazer a retrospectiva, com Serge e o professor Manoel. Um fato curioso foi ter 5 ou 6 post-its com pontos negativos em branco ;-).

:D
  • Boa interação com a galera; fácil uso da linguagem.
  • Boa introdução de 15 minutos. Falaram alto na maior parte das pilotagens. Como a linguagem não era 100% nova, foi mais fácil. Problema bacana.
  • Bom apesar de pouco conhecimento na linguagem (Introdução à linguagem foi boa!). Desafio interessante.
  • Treinamento em linguagens diferentes e possibilidade de mexer no código dos outros.
  • A linguagem é simples e interessante, com isto o problema pode ser resolvido mais facilmente. A turma já conhece o esquema e está menos tímida.
  • Pessoal mais participativo. Linguagem fácil, super legal.
  • Conhecimento de uma nova linguagem de peculiaridades muito interessantes e sintaxe conhecida.
  • Problema "novo". Programar em "grupo". Adquirir visões diferentes de programação e visões do problema.
  • Aprendemos uma linguagem nova. O dojo desenvolveu-se bem devido à prática do dojo anterior
  • Desafio simples e interessante.
  • Sintaxe da linguagem parecida com Java. Público já tinha conhecimento de como funciona o dojo. Público menos tímido.
  • Linguagem dinâmica.
  • Sintaxe simples. Problema legal. Povo + participativo.
  • Apresentação de uma linguagem "nova". Um desafio divertido. Piloto e co-piloto de frente para as pessoas da sala.
  • O desafio. Groovy.
  • Dinamismo. Conhecer uma nova linguagem. Facilidade de acompanhar a discussão pela semelhança com Java.
  • Introdução e contato com Groovy.
  • Contato com Groovy. Boa organização física da sala. Uso de TDD. Tipagem dinâmica e estática.
     
:(
  • Tempo curto. Poderíamos fazer 1 problema bem simples p/ pegar a sintaxe e depois partir para um + difícil.
  • Não vi nenhum ponto negativo, apenas o desconhecimento da linguagem por parte dos alunos.
  • Pela semelhança com Java, foram utilizados recursos da linguagem sem muita explicação prévia. Meu conhecimento em Java.
  • Teclado pequeno
  • Timidez da turma. Desenvolvimento do tema "testes". Tempo sem programar na linguagem
  • Algumas pessoas ainda precisam se motivar a participarem.
  • Tempo muito curto, quando estava começando, acabou =(. Conversa paralela da platéia.
  • Pouco tempo
Fotos:



Na próxima semana, haverá outro, em python, e eu devo ajudar a conduzir dessa vez.

    quarta-feira, 1 de junho de 2011

    CMO DOJO #1: FIZZBUZZ (JAVA)

    O que?
    Coding Dojo #1

    Por que?
    Para experimentar e disseminar a técnica e as práticas relacionadas (TDD, Programação em Pares, Refatoração, Baby Steps...).

    Quando?
    19/05/2011, das 14:00 as 16:00h

    Onde?
    Secretaria da Educação - CMO

    Como foi a agenda?
    • 10' - Visão geral sobre Dojo
    • 5' - Apresentação do desafio
    • 1h 15' - Dojo
    • 30' – Retrospectiva
    Quem participou?
    • Serge Rehem
    • Angela Sanches
    • Vagner Silva
    • Fernanda Kumagai
    • Thiago Pinho
    • Marcos Ganem
    • Poliana Peixoto
    • Fábio Pimentel
    • Bruno Santana
    • Vinicius Dorotea
    • Bruno Reis
    • Sergio Ferraz
    • William Correia
    • Tiago Arnaldo
    Qual foi o desafio?
    Gerar uma sequência numérica, substituindo os números múltiplos de 3 por fizz, os números múltiplos de 5 por buzz, os números múltiplos de 3 e 5 por fizzbuzz. Além disso os números que terminarem com 3 substituir por fizz e os números que terminarem com 5 substituir por buzz.

    Em qual linguagem?
    Java, com JUnit e Eclipse.

    O que aprendemos?

    Pontos positivos :-)
    • Deu para passar bem as vantagens do TDD, no que diz respeito a garantia de segurança na manutenção de código;
    • Vantagens da programação em pares – compartilhar conhecimento;
    • Garantia do teste do código;
    • Desenvolvimento do teste incremental (Baby Step);
    • Iteração e boa comunicação do grupo;
    • Entrosamento entre a equipe;
    • Pensar no método mais simples, para teste;
    • Todos participaram;
    • Horário do Dojo;
    • Perder o medo da 1ª vez;
    • Troca de conhecimento e trabalho em equipe e a estimulação de todos os integrantes na atividade;
    • A programação em par agiliza a programação e melhora a qualidade;
    • O teste unitário ajuda a testar melhorando a qualidade;
    • Aprender a escrever caso de teste;
    • Troca de conhecimento muito dinâmica;
    • A condução e apresentação foram legais;
    • Incentivo ao TDD;
    • Incentivo a re-fatoração;
    • Incentivo ao trabalho em equipe e a comunicação;
    • Percepção dos impactos de mudanças em sistemas com pouca cobertura de testes;
    • Maior comunicação entre as equipes;
    • Conhecimento compartilhado;
    • Introdução de uma nova prática de programação, a fim de melhorar a codificação;
    • O bate papo – tira dúvida;
    • A interação;
    • Bom para ficar sem trabalhar;
    • Exercita a lógica;
    • Troca experiências;
    • Aprender.
    Pontos de melhoria :-(
    • Interação entre Piloto e Co-piloto;
    • Voz baixa muitas vezes causando dispersão;
    • Falta uma melhor explicação do código e funcionamento;
    • Tempo curto para mostrar mais detalhes;
    • Pouco tempo;
    • Falta de conhecimento em Coding Dojo;
    • Timidez da maior parte da equipe;
    • Devido à metodologia, até mesmo para facilitar o aprendizado foram necessário muitos passos;
    • Incita a “gambiara” por fazer de qualquer jeito;
    • Demora para terminar um desafio simples, com casos de testes “desnecessários” “1”, “1,2”, “1,2,3”;
    • Inexperiência;
    • Controlar as brincadeiras.


    E fotos?


    Cadê o código?
    O código está no Google Code

    terça-feira, 29 de março de 2011

    Coding-Dojo na UFBA

    Pessoal, venho aqui resumir a experiencia do Dojo realizado em 23/03, na UFBA, à convite do Prof. Manoel Mendonça. A idéia dele para a disciplina Paradigmas e Linguagens de Programação é fantástica! Realizar vários Coding Dojos, com desafios e linguagens diferentes, de forma a explorar as características de cada linguagem. Se eu fosse um dos seus alunos, estaria altamente motivado a participar de uma aula assim. Quem me dera ter tido essa oportunidade no meu curso de gradução em Informática, na UCSal, de 1992 a 1996.

    Tive a satisfação de ajudar a conduzir essa primeira sessão. A linguagem escolhida foi Java, utilizamos Eclipse e JUnit. Comecei dando uma rápida explicação sobre o Coding-Dojo (ver slidecast) e depois apresentei o desafio, o mesmo realizado na 1a sessão que fizemos no Serpro, o jogo SuperSenha. Na retrospectiva estávamos sem post-it, então foi no caderno mesmo. Apresentei a técnica Speed Boat (que tinha acabado de ler na revista MundoJ), uma forma divertida de organizar os pontos de melhoria (post-its colados nas âncoras do barco) e os pontos positivos (colados junto à vela, junto com o vento).

    :D
    - Contato com Java/Junit
    - Construção do conhecimento em conjunto
    - Prática de TDD
    - Programação em Dupla/Grupo
    - Dojo no horário da aula
    - Participação de pessoa de fora da UFBA, foi uma grande ajuda
    - Motivação em relação a práticas de XP
    - MOtivação à prática de programação fora do ambneite de trabalho

    :(
    - Muito tempo ser usar Java
    - Falta de prática na linguagem de programaçao usada
    - Demora da "apresentação" do piloto/co-piloto
    - Cumunicação entre piloto e co-piloto muito baixa
    - Demora do entendimento do desafio pela turma
    - Interpretação do problema
    - Timidez
    - Interação da platéia
    - Sintaxe Java (muito esqueceram)
    - Tempo curto (2x)

    Parabéns ao prof. Manoel e aos seus alunos! Para o que precisarem, podem contar comigo e todo o Grupo LinguÁgil. Ah, nos vemos no Maré de Agilidade, em abril na UNEB. Vocês não vão perder né?!

    quarta-feira, 26 de janeiro de 2011

    Scmba Dojo #1: Pedra Papel Tesoura (Java)

    Serge Rehem, Danilo Souza, Fabiano Almeida, José Pina, Sergio Weber, Rodrigo Coelho, Marcus Vinicius Oliveira, Vinicius Sampaio, Heronildes Silva, Luis Ricardo, Cícero Lisboa, João Fagner, Álamo Cruz, Ramon de Jesus, Diego Trindade, Jader Silva, Thiago Rodolfo

    :-)
    - Prática do XP (programar em par)
    - Facilitador detém o conhecimento
    - Utilizar as práticas do TDD
    - Raciocínio em equipe para a resolução do problema
    - Disseminação de boas práticas de programação
    - Praticar o TDD
    - Trabalhar em dupla, pensamento em conjunto par a resolução de um problema
    - Código coletivo
    - Troca de conhecimento
    - Minimizar erros futuros
    - Aprendizagem de técnicas para treinar código e trocar experiências
    - Boa iniciação sobre o TDD
    - Aprendizado sobre a metodologia TDD e a prática do framework JUnit
    - Aprender a compartilhar código
    - Dinamismo: uma oportunidade para aprender uma nova forma de programar
    - Facilidade no desenvolvimento em dupla, incentivo a interação
    - Dinâmica interessante e produtiva

    :-(
    - Dificuldade na utilização do MacBook
    - Falta de experiência com as técnicas do Dojo e do TDD
    - Demora para iniciação da prática do Dojo
    - Não conhecimento da equipe na execução dos testes unitários
    - Tempo para cada piloto
    - Ausência de pessoas
    - Pontualidade da equipe
    - A platéia ficou dispersa por alguns instantes
    - Dificuldade na forma de pensar / desenvolver
    - Piloto e co-piloto silenciosos
    - Dispendiosidade na construção dos testes unitários





    quarta-feira, 13 de outubro de 2010

    Dojo#1: SuperSenha (Java)

    O que?
    Coding-Dojo #1

    Por que?
    - Por que fomos "instigados" por esse post: Apelo: parem de "ensinar" Comp. I nas faculdades!"
    - Para experimentar e disseminar a técnica e as práticas relacionadas (TDD, Programação em Pares, Refatoração, Baby Steps...).
    - E por que é divertido!!!

    Quando?
    06/07/2010, das 10:30 as 12:30h

    Onde?
    Serpro, Sala 03, Subsolo

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

    Quem participou?
    Serge, Márcio,Thiago, Cleverson, Tiago Brito, Douglas, Marlon, Arilson, Suzani, Marcelo Curi. Todos do Serpro (ainda...).

    Qual foi o desafio?

    O Jogo da SuperSenha. Fizemos com 5 cores escolhidas, de 8 no total, com até 12 tentativas, sem permitir repetição de cores. Como resultado de cada palpite, 1 peça na cor Preta significa Cor Certa / Lugar Certo, 1 peça na cor Branca significa Cor Certa, Lugar Errado. Acaba quando usuário acerta todas as cores no lugar certou, ou quando esgotarem as 12 tentativas.

    Para o pessoal entender melhor, jogamos um pouco on-line.

    Em qual linguagem?

    Java, com JUnit, Eclipse e Maven.

    O que aprendemos?

    Vai aí a transcrição dos post-its:

    Pontos positivos
    :-)
    - Participação de todos na solução, buscando nivelar conhecimento
    - TDD antevê problemas que não enxergamos
    - Interação entre piloto e co-piloto foi legal
    - Uso de TDD. Foi bom para aprendermos a metodologia
    - Improviso!
    - Não precisamos projetar, apesar de achar inicialmente necessário
    - Ajuda no aprendizado de programadores menos experientes
    - 100% da equipe com atenção voltada para a resolução do problema
    - Soluções elementares agilizam e são naturalmente refatoradas depois
    - Todos os cenários são contemplados

    Pontos de melhoria :-(
    - Muito ruído, que poderia ser reduzido
    - Faltou comentar mais o que se está fazendo
    - O tempo é uma pressão a mais. Deixando o código sem qualidade no início da interação
    - A platéia interefiu muito
    - Muitas vezes implementamos sem focar no caso de teste
    - Não avançamos muito porque fizemos muita refatoração
    - Seguir regras
    - Evitar palpites antes da hora
    - Falta da cultura de implementação com TDD. Apesar de saber o que é TDDD, na hora de implementar há o vício.
    - Um tempo para definir uma solução inicial seria interessante
    - Chegar no horário. Disciplina
    - Evitar desvios de foco,conversas paralelas
    - Inibição inicial (mas depois houve descontração da turma)
    - Você pensa antes, mas quando pilota há pouco espaço pra mudanças bruscas de direção.

    Teve slides?
    Sim, para explicar os conceitos gerais sobre Coding-Dojo. Veja e ouça o SlideCast abaixo (o aúdio foi regravado, pois na hora ficou mais longo...) ou então baixe o PDF.

    E fotos?


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


    Veja aqui o código que conseguimos produzir. É um projeto Maven/Eclipse. Não tá compilando.
    Neste link tem um código funcionando, resolvido antes da reunião para estudos e efeitos comparativos.

    Referências
    Durante a retrospectiva, surgiu a discussão sobre a importancia ou não de uma fase prévia de projeto. Lembramos deste artigo bem interessante, de Martim Fowler:

    O Design Está Morto?

    http://www.infoq.com/br/articles/is-design-dead

    Você quer comentar
    (edita/salva e coloca também seu nome)?

    Apesar de não ter escrito nos post-its (eu estava conduzindo e terminei esquecendo!), achei o Dojo muito legal! Destaquei a importância do "código coletivo", dos baby steps e da qualidade do código gerado, embora não tenhamos chegado a uma solução executável. Ficou gosto de quero mais...
    Serge Rehem