SlideShare uma empresa Scribd logo
Coding Dojo 
Aprendendo a programar programando
Coding Dojo 
Aprendendo a programar programando
Mauricio Matsuda 
mauricio@webgoal.com.br
Agenda 
● O que é o Dojo 
● Os principais tipos 
● Benefícios e dicas 
● Dojo na Prática
Agenda 
● O que é o Dojo 
○ Práticas essenciais 
○ O que é? 
○ Como surgiu? 
● Os principais tipos 
● Benefícios e Dicas 
● Dojo na Prática
Coding Dojo 
Práticas essenciais
Coding Dojo 
Práticas 
● As práticas essenciais para fazer um Dojo foram 
baseadas em conceitos descritos pelas metodologias 
ágeis Scrum e Extreme Programming (XP) 
○ Programação em par 
○ Test Driven Development (TDD) 
○ Design incremental 
○ Reunião de Retrospectiva
Programação em par 
Definição 
● Um computador com duas pessoas programando 
● Piloto: programador que fica com o teclado e é 
responsável em codificar a lógica 
● Co-piloto: auxilia o piloto a conferir o código que está 
sendo escrito e como esse código pode afetar 
negativamente o restante da aplicação
Coding Dojo - Aprendendo a programar programando
TDD 
Definição 
Desenvolvimento Dirigido por Testes (TDD) é a capacidade de produzir 
testes automatizados para código de produção, e usar este processo 
para dirigir o design e a programação. Para cada pequena 
funcionalidade no código de produção, você primeiro desenvolve um 
teste que especifica e valida o que o código deverá fazer. Você então 
produz somente o código necessário para permitir que o teste passe. 
Então você refatora (simplifica e clarifica) os códigos de produção e 
teste. 
fonte: Agile Alliance
Classe TesteCalculadora 
função testar_soma 
testar se Calculadora.soma(1,2) igual 3 
fim 
fim 
TDD 
Exemplo
Classe TesteCalculadora 
função testar_soma 
testar se Calculadora.soma(1,2) igual 3 
fim 
fim 
TDD 
Exemplo 
Classe Calculadora 
função soma(<num1>, <num2>) 
resultado = num1 + num2 
retorna resultado 
fim 
fim
Classe TesteCalculadora 
função testar_soma 
testar se Calculadora.soma(1,2) igual 3 
fim 
fim 
TDD 
Exemplo 
Classe Calculadora 
função soma(<num1>, <num2>) 
retorna num1 + num2 
fim 
fim 
Classe Calculadora 
função soma(<num1>, <num2>) 
resultado = num1 + num2 
retorna resultado 
fim 
fim
TDD 
Ciclo 
Criar 
teste
TDD 
Ciclo 
Criar 
teste 
Fazer 
teste 
passar
TDD 
Ciclo 
Criar 
teste 
Fazer 
teste 
passar 
Refatorar
Design incremental 
Definição 
● Criar código aos poucos, para atender cada 
funcionalidade 
● O TDD ajuda bastante a guiar essa prática, pois só 
haverá código para resolver se algum teste estiver 
falhando 
● Evita ter códigos que não são utilizados
Reunião de Retrospectiva 
Definição 
● Uma reunião realizada ao fim de uma interação 
● É elencado os pontos positivos e negativos observador 
pelos participantes 
● E tem como objetivo extrair uma lista de ações de 
melhorias para as próximas interações
Coding Dojo - Aprendendo a programar programando
Coding Dojo 
O que é?
Coding Dojo ou Dojo, ambiente para treinar e aprimorar 
as práticas de programação
Coding Dojo 
Definição 
● A ideia é promover um ambiente 
○ Seguro, onde todos se sintar à vontade em 
programar 
○ Não competitivo, pois o objetivo é que todos 
pensem juntos de forma colaborativa 
○ Inclusivo, programadores experientes e iniciantes 
devem ensinar e aprender juntos
Coding Dojo 
Como surgiu?
Coding Dojo 
Histórico 
● O Psicólogo Dr. K. Anders Ericsson na década de 70 
apresentou o conceito da Prática Deliberada 
● Executar tarefas específicas repetitivamente até 
alcançar a excelência 
● Teoria das 10 mil horas para se tornar um expert
Coding Dojo 
Histórico 
● Em 2003 o Programador Dave Thomas apresentou o 
conceito Code Kata 
● Espaço onde os programadores pudesse exercitar a 
programação 
● Inspirado em outras áreas, como na música que há um 
preparo antes da apresentação em público
Coding Dojo 
Histórico 
● Em 2004 Laurent Bossavit e Emmanuel Gaillot 
fundaram o primeiro Coding Dojo 
● Embasados nas teorias de Ericsson e Thomas, a ideia 
foi criar um cenário diferente do cotidiano de um 
projeto, em um ambiente descontraído e colaborativo 
● Ficou conhecido como Dojo Paris
Agenda 
● O que é o Dojo 
● Os principais tipos 
○ Dojo Kata 
○ Dojo Randori 
○ Dojo Kake 
● Benefícios e Dicas 
● Dojo na Prática
Coding Dojo 
principais tipos
Dojo Kata
Dojo Kata 
Características 
● Formato indicado para introduzir novos 
conhecimento de programação 
● Um apresentador com o domínio do 
conhecimento 
● A plateia tem uma participação passiva
Dojo Kata
Dojo Kata 
Como fazer 
● Equipamentos 
○ Um computador com o ambiente de programação 
configurado 
○ Uma tela de projeção ou uma TV grande
Dojo Kata 
Como fazer 
● Moderador 
○ Definir a melhor data e local 
○ Divulgar o evento para o publico interessado 
○ Preparar a infra-estrutura antes do início do Dojo 
○ Organizar uma retrospectiva ao final do Dojo
Dojo Kata 
Como fazer 
● Apresentador 
○ Pode ser uma dupla programando em par e 
alternando entre os ciclos do TDD 
○ Definir um roteiro de como será apresentado 
○ Explicar para a plateia cada passo apresentado
Dojo Kata 
Como fazer 
● Plateia 
○ Não interage diretamente com o código 
desenvolvido 
○ É livre para tirar dúvidas durante a apresentação
Dojo Randori
Dojo Randori 
Características 
● Formato indicado para praticar 
conhecimentos já aprendidos 
● Todos participam ativamente na 
programação 
● Há muita troca de conhecimento entre os 
participantes
Dojo Randori
Dojo Randori 
Como fazer 
● Equipamentos 
○ Um computador com o ambiente de programação 
configurado 
○ Uma tela de projeção ou uma TV grande 
○ Uma lousa ou flip-chart
Dojo Randori 
Como fazer 
● Moderador 
○ Preparar a infra-estrutura antes do início do Dojo 
○ Definir o problema e a linguagem com os participantes 
○ Escrever na lousa a lista dos participantes 
○ Controlar o intervalo de troca da dupla 
○ Organizar uma retrospectiva ao final do Dojo
Dojo Randori 
Como fazer 
● Piloto 
○ Pessoa que está com o teclado programando 
○ Deve seguir o ciclo de TDD 
○ Explicar em voz alta cada passo executado para 
que a plateia entenda o raciocínio escolhido 
○ Ao fim do ciclo o piloto volta para a plateia
Dojo Randori 
Como fazer 
● Co-piloto 
○ Pessoa sentada em par ao lado do Piloto 
○ Ajuda o Piloto na programação, com uma análise do 
código de forma ampla 
○ Ajuda a explicar o que estão fazendo para a plateia 
○ Ao fim do ciclo assume o posto de Piloto
Dojo Randori 
Como fazer 
● Plateia 
○ Só pode falar quando os testes estiverem passando 
ou quando a dupla pedir ajuda 
○ Ao fim do ciclo o próximo da lista assume o posto de 
Co-piloto
Dojo Kake
Dojo Kake 
Características 
● Formato indicado para programadores mais 
experientes 
● Muita troca de experiências entre os 
participantes
Dojo Kake
Dojo Kake 
Como fazer 
● Equipamentos 
○ Um computador com o ambiente de programação 
configurado por dupla
Dojo Kake 
Como fazer 
● Moderador 
○ Definir o problema com os participantes 
○ Controlar o intervalo de troca da dupla 
○ Organizar uma retrospectiva ao final do Dojo
Dojo Kake 
Como fazer 
● Piloto 
○ Pessoa que está com o teclado programando 
○ Deve seguir o ciclo de TDD 
○ Na primeira rodada escolhe junto com o Co-piloto a 
linguagem que irá utilizar 
○ Ao fim do ciclo assume o Co-piloto em outra dupla
Dojo Kake 
Como fazer 
● Co-piloto 
○ Pessoa sentada em par ao lado do Piloto 
○ Ajuda o Piloto na programação, com uma análise do 
código de forma ampla 
○ Ao fim do ciclo assume o posto de Piloto sem mudar 
de dupla
Dojo Kake 
Como fazer 
● Plateia 
○ Não interage diretamente com o código 
desenvolvido 
○ É livre para observar a programação de cada dupla
Agenda 
● O que é o Dojo 
● Os principais tipos 
● Benefícios e Dicas 
○ Benefícios 
○ Dicas e experiências 
● Dojo na Prática
Coding Dojo 
Benefícios
Coding Dojo 
Benefícios 
● Aprendizado pela observação e pela ação 
● Compartilhamento de conhecimento e colaboração na 
resolução de um problema 
● Aprendizado de novas tecnologias 
● Aprimoramento das técnicas de programação
Coding Dojo 
Dicas e experiências
Coding Dojo 
Dicas 
● Evite utilizar notebook pois dificulta a 
programação em par e o teclado pode ter um 
padrão que nem todos estão acostumados 
● Certifique que a imagem projetada está 
legível para a platéia, tanto na nitidez da 
imagem quanto no tamanho das fontes dos 
códigos
Coding Dojo 
Dicas 
● É sempre bom ter pelo menos uma pessoa 
experiente no assunto abordado no Dojo 
Randori 
● Se possível intercale pessoas experientes e 
inexperientes no Dojo Randori
Coding Dojo 
Dicas 
● Seguir a risca as regras de cada tipo de 
Dojo para ter um bom resultado 
● Caso um problema não tenha sido 
finalizado, só continue no próximo Dojo se 
os participantes forem os mesmos
Coding Dojo 
Dicas 
● Aproveite ao máximo, é a oportunidade de 
todos aprenderem e evoluirem juntos
Agenda 
● O que é o Dojo 
● Os principais tipos 
● Benefícios e Dicas 
● Dojo na Prática 
○ Dojo Kata 
○ Dojo Randori
Vamos programar!
Referências 
● Biografias 
○ http://www.psy.fsu.edu/faculty/ericsson.dp.html 
○ http://en.wikipedia.org/wiki/Dave_Thomas_ 
(programmer) 
● Mais informações sobre Dojo 
○ http://www.webgoal.com.br/coding-dojo/ 
○ Edição 62, Revista Mundo J
Referências 
● Sites com sugestões de problemas 
○ http://dojopuzzles.com/problemas 
○ http://dojorio.org/problemas/ 
○ http://apoie.org/Dojo.html

Mais conteúdo relacionado

PDF
Coding Dojo e TDD
ODP
Coding Dojo em 5 Minutos
PPTX
PPTX
Coding Dojo - Aplicando Princípios Ágeis
PDF
Coding dojo
PPTX
Coding Dojo
PDF
Demoiselle Paraguay Dojo 18/01/2012
ODP
Coding Dojo
Coding Dojo e TDD
Coding Dojo em 5 Minutos
Coding Dojo - Aplicando Princípios Ágeis
Coding dojo
Coding Dojo
Demoiselle Paraguay Dojo 18/01/2012
Coding Dojo

Mais procurados (20)

ODP
Coding Dojo - Apresentação / Instruções
PDF
Coding Dojos para Aprendizagem de TDD - Há Evidências Científicas? - Ignite T...
ODP
Coding dojo
PDF
Codding dojos
PDF
Coding Dojo #GuruPI
PDF
Apresentação Coding Dojo em 10 minutos
PDF
Coding Dojo: uma abordagem teórica e prática
PPTX
DojoTuba: Coding Dojo - Tubarão, SC
PDF
Formando Desenvolvedores Efetivos
PPT
Seja Um Programador Pragmatico
PDF
Programação Orientada a Gambiarra
PDF
Palestra: Desafios do desenvolvedor no mercado de trabalho
PPTX
Coding Dojo em 10 Minutos!
PDF
DDD + BDD + TDD + Scrum
PPTX
Coding dojo C# com NUnit
PDF
Piadas de CSS e Javascript
PDF
Pós Ruy - 2 e 3 Camadas - Coding Dojo
PDF
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Coding Dojo - Apresentação / Instruções
Coding Dojos para Aprendizagem de TDD - Há Evidências Científicas? - Ignite T...
Coding dojo
Codding dojos
Coding Dojo #GuruPI
Apresentação Coding Dojo em 10 minutos
Coding Dojo: uma abordagem teórica e prática
DojoTuba: Coding Dojo - Tubarão, SC
Formando Desenvolvedores Efetivos
Seja Um Programador Pragmatico
Programação Orientada a Gambiarra
Palestra: Desafios do desenvolvedor no mercado de trabalho
Coding Dojo em 10 Minutos!
DDD + BDD + TDD + Scrum
Coding dojo C# com NUnit
Piadas de CSS e Javascript
Pós Ruy - 2 e 3 Camadas - Coding Dojo
Profissao-programador-praticas-para-melhoria-continua-unimonte-outubro-2013
Anúncio

Destaque (6)

PDF
Tente desenvolver diferente com TDD
KEY
Tente Desenvolver Diferente com TDD - Agile Brazil 2011
PDF
Conhecimento é o fator mais importante para o sucesso de uma empresa
PDF
Gems para colocar seus testes no trilho
PDF
O que é agilidade sob as lentes do kanban
PDF
Análise de Negócio e Requisitos Ágeis
Tente desenvolver diferente com TDD
Tente Desenvolver Diferente com TDD - Agile Brazil 2011
Conhecimento é o fator mais importante para o sucesso de uma empresa
Gems para colocar seus testes no trilho
O que é agilidade sob as lentes do kanban
Análise de Negócio e Requisitos Ágeis
Anúncio

Semelhante a Coding Dojo - Aprendendo a programar programando (20)

PDF
Coding dojo
PDF
Coding Dojo
PPTX
Coding Dojo Aplicado ao Ambiente Organizacional
PDF
Coding dojo
PPTX
Joinville Dojo 2010
PPT
Codding dojo - Apresentação
PPTX
Coding Dojo - Técnico
PDF
Coding Dojo - Pycon Br 2008 - PT-BR
KEY
Coding Dojo
PDF
Dojo de Programação
PPTX
Dojo #5
PDF
Coding dojo
PPTX
Palestra sobre Coding Dojo
PDF
Coding-Dojo: Uma forma rápida, eficiente e divertida de ensinar e aprender
PDF
Dojo com Processing
PPTX
Apresentação sobre Coding Dojo
PPTX
Coding dojo
PDF
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
PDF
Coding Dojo - FISL 2009 - PT-BR
Coding dojo
Coding Dojo
Coding Dojo Aplicado ao Ambiente Organizacional
Coding dojo
Joinville Dojo 2010
Codding dojo - Apresentação
Coding Dojo - Técnico
Coding Dojo - Pycon Br 2008 - PT-BR
Coding Dojo
Dojo de Programação
Dojo #5
Coding dojo
Palestra sobre Coding Dojo
Coding-Dojo: Uma forma rápida, eficiente e divertida de ensinar e aprender
Dojo com Processing
Apresentação sobre Coding Dojo
Coding dojo
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Coding Dojo - FISL 2009 - PT-BR

Último (20)

PPTX
A História da Europa na Baixa Idade Média.pptx
PDF
A Revolução Francesa de 1789 slides história
PPTX
Filosofia Ocidental Antiga 2025 - versão atualizada
PDF
A provisão de jojuador (ramadã) islamismo
PDF
FLUXOGRAMA CLASSE lll - Acesso estritamente proximal.pdf
PPTX
biossegurança e segurança no trabalho (6).pptx
PDF
Organizador Curricular da Educação em Tempo Integral.pdf
PPTX
O Romantismo e a identidade brasileira..
PPTX
NR11 - Treinamento Direcao Defensiva - 2023.pptx
PPTX
Revolução Industrial - Aula Expositiva - 3U4.pptx
PDF
aulademeiodetransporteemlibras-120304202807-phpapp01_removed.pdf
PPTX
QuestõesENEMVESTIBULARPARAESTUDOSEAPRENDIZADO.pptx
PPTX
Aula 13 - Tópico Frasal - Argumentação.pptx
PPT
Imperio Bbrasileiro-1822-1889 - aspectos gerais
PDF
Uma Introdução às Ciências do Alcorão (Islam)
PPTX
Realismo e Naturalismo: Aluísio Azevedo.
PPTX
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
PPTX
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.
PDF
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
PDF
Metabolismo_energético_3ano_pre_vest_2026.pdf
A História da Europa na Baixa Idade Média.pptx
A Revolução Francesa de 1789 slides história
Filosofia Ocidental Antiga 2025 - versão atualizada
A provisão de jojuador (ramadã) islamismo
FLUXOGRAMA CLASSE lll - Acesso estritamente proximal.pdf
biossegurança e segurança no trabalho (6).pptx
Organizador Curricular da Educação em Tempo Integral.pdf
O Romantismo e a identidade brasileira..
NR11 - Treinamento Direcao Defensiva - 2023.pptx
Revolução Industrial - Aula Expositiva - 3U4.pptx
aulademeiodetransporteemlibras-120304202807-phpapp01_removed.pdf
QuestõesENEMVESTIBULARPARAESTUDOSEAPRENDIZADO.pptx
Aula 13 - Tópico Frasal - Argumentação.pptx
Imperio Bbrasileiro-1822-1889 - aspectos gerais
Uma Introdução às Ciências do Alcorão (Islam)
Realismo e Naturalismo: Aluísio Azevedo.
Lição 8 EBD.pptxtudopossonaquelequemimfortalece
Biologia celular: citologia, é o estudo da célula, a unidade básica da vida.
manual-orientacao-asb_5a8d6d8d87160aa636f63a5d0.pdf
Metabolismo_energético_3ano_pre_vest_2026.pdf

Coding Dojo - Aprendendo a programar programando

  • 1. Coding Dojo Aprendendo a programar programando
  • 2. Coding Dojo Aprendendo a programar programando
  • 4. Agenda ● O que é o Dojo ● Os principais tipos ● Benefícios e dicas ● Dojo na Prática
  • 5. Agenda ● O que é o Dojo ○ Práticas essenciais ○ O que é? ○ Como surgiu? ● Os principais tipos ● Benefícios e Dicas ● Dojo na Prática
  • 7. Coding Dojo Práticas ● As práticas essenciais para fazer um Dojo foram baseadas em conceitos descritos pelas metodologias ágeis Scrum e Extreme Programming (XP) ○ Programação em par ○ Test Driven Development (TDD) ○ Design incremental ○ Reunião de Retrospectiva
  • 8. Programação em par Definição ● Um computador com duas pessoas programando ● Piloto: programador que fica com o teclado e é responsável em codificar a lógica ● Co-piloto: auxilia o piloto a conferir o código que está sendo escrito e como esse código pode afetar negativamente o restante da aplicação
  • 10. TDD Definição Desenvolvimento Dirigido por Testes (TDD) é a capacidade de produzir testes automatizados para código de produção, e usar este processo para dirigir o design e a programação. Para cada pequena funcionalidade no código de produção, você primeiro desenvolve um teste que especifica e valida o que o código deverá fazer. Você então produz somente o código necessário para permitir que o teste passe. Então você refatora (simplifica e clarifica) os códigos de produção e teste. fonte: Agile Alliance
  • 11. Classe TesteCalculadora função testar_soma testar se Calculadora.soma(1,2) igual 3 fim fim TDD Exemplo
  • 12. Classe TesteCalculadora função testar_soma testar se Calculadora.soma(1,2) igual 3 fim fim TDD Exemplo Classe Calculadora função soma(<num1>, <num2>) resultado = num1 + num2 retorna resultado fim fim
  • 13. Classe TesteCalculadora função testar_soma testar se Calculadora.soma(1,2) igual 3 fim fim TDD Exemplo Classe Calculadora função soma(<num1>, <num2>) retorna num1 + num2 fim fim Classe Calculadora função soma(<num1>, <num2>) resultado = num1 + num2 retorna resultado fim fim
  • 15. TDD Ciclo Criar teste Fazer teste passar
  • 16. TDD Ciclo Criar teste Fazer teste passar Refatorar
  • 17. Design incremental Definição ● Criar código aos poucos, para atender cada funcionalidade ● O TDD ajuda bastante a guiar essa prática, pois só haverá código para resolver se algum teste estiver falhando ● Evita ter códigos que não são utilizados
  • 18. Reunião de Retrospectiva Definição ● Uma reunião realizada ao fim de uma interação ● É elencado os pontos positivos e negativos observador pelos participantes ● E tem como objetivo extrair uma lista de ações de melhorias para as próximas interações
  • 20. Coding Dojo O que é?
  • 21. Coding Dojo ou Dojo, ambiente para treinar e aprimorar as práticas de programação
  • 22. Coding Dojo Definição ● A ideia é promover um ambiente ○ Seguro, onde todos se sintar à vontade em programar ○ Não competitivo, pois o objetivo é que todos pensem juntos de forma colaborativa ○ Inclusivo, programadores experientes e iniciantes devem ensinar e aprender juntos
  • 23. Coding Dojo Como surgiu?
  • 24. Coding Dojo Histórico ● O Psicólogo Dr. K. Anders Ericsson na década de 70 apresentou o conceito da Prática Deliberada ● Executar tarefas específicas repetitivamente até alcançar a excelência ● Teoria das 10 mil horas para se tornar um expert
  • 25. Coding Dojo Histórico ● Em 2003 o Programador Dave Thomas apresentou o conceito Code Kata ● Espaço onde os programadores pudesse exercitar a programação ● Inspirado em outras áreas, como na música que há um preparo antes da apresentação em público
  • 26. Coding Dojo Histórico ● Em 2004 Laurent Bossavit e Emmanuel Gaillot fundaram o primeiro Coding Dojo ● Embasados nas teorias de Ericsson e Thomas, a ideia foi criar um cenário diferente do cotidiano de um projeto, em um ambiente descontraído e colaborativo ● Ficou conhecido como Dojo Paris
  • 27. Agenda ● O que é o Dojo ● Os principais tipos ○ Dojo Kata ○ Dojo Randori ○ Dojo Kake ● Benefícios e Dicas ● Dojo na Prática
  • 30. Dojo Kata Características ● Formato indicado para introduzir novos conhecimento de programação ● Um apresentador com o domínio do conhecimento ● A plateia tem uma participação passiva
  • 32. Dojo Kata Como fazer ● Equipamentos ○ Um computador com o ambiente de programação configurado ○ Uma tela de projeção ou uma TV grande
  • 33. Dojo Kata Como fazer ● Moderador ○ Definir a melhor data e local ○ Divulgar o evento para o publico interessado ○ Preparar a infra-estrutura antes do início do Dojo ○ Organizar uma retrospectiva ao final do Dojo
  • 34. Dojo Kata Como fazer ● Apresentador ○ Pode ser uma dupla programando em par e alternando entre os ciclos do TDD ○ Definir um roteiro de como será apresentado ○ Explicar para a plateia cada passo apresentado
  • 35. Dojo Kata Como fazer ● Plateia ○ Não interage diretamente com o código desenvolvido ○ É livre para tirar dúvidas durante a apresentação
  • 37. Dojo Randori Características ● Formato indicado para praticar conhecimentos já aprendidos ● Todos participam ativamente na programação ● Há muita troca de conhecimento entre os participantes
  • 39. Dojo Randori Como fazer ● Equipamentos ○ Um computador com o ambiente de programação configurado ○ Uma tela de projeção ou uma TV grande ○ Uma lousa ou flip-chart
  • 40. Dojo Randori Como fazer ● Moderador ○ Preparar a infra-estrutura antes do início do Dojo ○ Definir o problema e a linguagem com os participantes ○ Escrever na lousa a lista dos participantes ○ Controlar o intervalo de troca da dupla ○ Organizar uma retrospectiva ao final do Dojo
  • 41. Dojo Randori Como fazer ● Piloto ○ Pessoa que está com o teclado programando ○ Deve seguir o ciclo de TDD ○ Explicar em voz alta cada passo executado para que a plateia entenda o raciocínio escolhido ○ Ao fim do ciclo o piloto volta para a plateia
  • 42. Dojo Randori Como fazer ● Co-piloto ○ Pessoa sentada em par ao lado do Piloto ○ Ajuda o Piloto na programação, com uma análise do código de forma ampla ○ Ajuda a explicar o que estão fazendo para a plateia ○ Ao fim do ciclo assume o posto de Piloto
  • 43. Dojo Randori Como fazer ● Plateia ○ Só pode falar quando os testes estiverem passando ou quando a dupla pedir ajuda ○ Ao fim do ciclo o próximo da lista assume o posto de Co-piloto
  • 45. Dojo Kake Características ● Formato indicado para programadores mais experientes ● Muita troca de experiências entre os participantes
  • 47. Dojo Kake Como fazer ● Equipamentos ○ Um computador com o ambiente de programação configurado por dupla
  • 48. Dojo Kake Como fazer ● Moderador ○ Definir o problema com os participantes ○ Controlar o intervalo de troca da dupla ○ Organizar uma retrospectiva ao final do Dojo
  • 49. Dojo Kake Como fazer ● Piloto ○ Pessoa que está com o teclado programando ○ Deve seguir o ciclo de TDD ○ Na primeira rodada escolhe junto com o Co-piloto a linguagem que irá utilizar ○ Ao fim do ciclo assume o Co-piloto em outra dupla
  • 50. Dojo Kake Como fazer ● Co-piloto ○ Pessoa sentada em par ao lado do Piloto ○ Ajuda o Piloto na programação, com uma análise do código de forma ampla ○ Ao fim do ciclo assume o posto de Piloto sem mudar de dupla
  • 51. Dojo Kake Como fazer ● Plateia ○ Não interage diretamente com o código desenvolvido ○ É livre para observar a programação de cada dupla
  • 52. Agenda ● O que é o Dojo ● Os principais tipos ● Benefícios e Dicas ○ Benefícios ○ Dicas e experiências ● Dojo na Prática
  • 54. Coding Dojo Benefícios ● Aprendizado pela observação e pela ação ● Compartilhamento de conhecimento e colaboração na resolução de um problema ● Aprendizado de novas tecnologias ● Aprimoramento das técnicas de programação
  • 55. Coding Dojo Dicas e experiências
  • 56. Coding Dojo Dicas ● Evite utilizar notebook pois dificulta a programação em par e o teclado pode ter um padrão que nem todos estão acostumados ● Certifique que a imagem projetada está legível para a platéia, tanto na nitidez da imagem quanto no tamanho das fontes dos códigos
  • 57. Coding Dojo Dicas ● É sempre bom ter pelo menos uma pessoa experiente no assunto abordado no Dojo Randori ● Se possível intercale pessoas experientes e inexperientes no Dojo Randori
  • 58. Coding Dojo Dicas ● Seguir a risca as regras de cada tipo de Dojo para ter um bom resultado ● Caso um problema não tenha sido finalizado, só continue no próximo Dojo se os participantes forem os mesmos
  • 59. Coding Dojo Dicas ● Aproveite ao máximo, é a oportunidade de todos aprenderem e evoluirem juntos
  • 60. Agenda ● O que é o Dojo ● Os principais tipos ● Benefícios e Dicas ● Dojo na Prática ○ Dojo Kata ○ Dojo Randori
  • 62. Referências ● Biografias ○ http://www.psy.fsu.edu/faculty/ericsson.dp.html ○ http://en.wikipedia.org/wiki/Dave_Thomas_ (programmer) ● Mais informações sobre Dojo ○ http://www.webgoal.com.br/coding-dojo/ ○ Edição 62, Revista Mundo J
  • 63. Referências ● Sites com sugestões de problemas ○ http://dojopuzzles.com/problemas ○ http://dojorio.org/problemas/ ○ http://apoie.org/Dojo.html