SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Coding Dojo
Sabrina Andrade
sgtab@cesar.school
Source: www.codingdojo.com
O que é um dojo?
Source: wallpaper4me.com
• A palavra dojo (em japonês, 道場) é um termo emprestado do Zen-
Budismo que significa literalmente "o lugar onde se pratica o caminho”
• Um local em que o que importa é a prática em si
O que é um dojo?
E o que isso tem a ver
com programação?
• Pessoas de TI dedicam pouco tempo ao refinamento de habilidades
• Acabamos por adquirir e desenvolver competências durante o nosso dia a
dia de trabalho, o que representa um risco ao projeto
• Esperar que criadores de soluções façam seu trabalho ao mesmo tempo
que buscam alternativas melhores é permitir que errem quando deveriam
estar fazendo o melhor trabalho possível
Coding Dojo
Coding Dojo é um "local de treinamento de código" ou
"local de treinamento de programação"
Coding Dojo
Source: www.codingdojo.com
Trata-se de um ambiente:
• Seguro, inclusivo e sem preconceitos
• De colaboração e aprendizado contínuo
• Onde as atividades são realizadas através de baby steps
• Para testar novas ideias, compartilhar conhecimentos, praticar habilidades
e, principalmente, se divertir
Coding Dojo
Assim como em um dojo de artes marciais, 

a atenção deve ser à prática
Coding Dojo
Como funciona um
Coding Dojo?
1. Criar um ambiente adequado e com os equipamentos necessários
• Criar um ambiente seguro, confortável e propício ao compartilhamento de
conhecimento é mandatório
• De acordo com o formato escolhido, também precisamos ter à disposição
uma quantidade de computadores compatível com a quantidade de
pessoas que irão codificar (pelo menos um computador)
• Também temos um projetor para que todos possam visualizar os códigos e
um quadro branco para discutir soluções
Como funciona?
2. Definir a periodicidade e o objetivo das reuniões
• Um coding dojo não se trata de apenas uma única reunião
• Preferencialmente, os encontros acontecem em um mesmo local e no
mesmo horário
• O que faremos neste encontro?
Como funciona?
3. Definir o formato
• Kata (ou kata preparado)
• Randori
• Kake
Como funciona?
Source: waxingonoff.blogspot.com
• Uma pessoa demonstra passo a passo uma solução previamente
desenvolvida para o problema
• Esses passos são baby steps
• Interrupções são permitidas para sanar quaisquer dúvidas
Kata Preparado
• A solução final não é demonstrada até que cada passo seja testado,
codificado e entendido por todos
• O objetivo é que as pessoas que participam do encontro sejam capazes de
reproduzir esta solução
Kata Preparado
• No randori, há o uso de Test-Driven Development (TDD) e programação
em pares realizada em rodadas
• Cada pessoa assume um papel específico
Randori
Papéis
• Piloto: a pessoa responsável por codificar, refatorar e testar cada parte da
solução que está sendo criada
• Co-piloto: pessoa que auxilia o piloto na resolução dos passos que estão
sendo trabalhados
• Platéia: as outras pessoas que estão participando do dojo
apenas observam o desenvolvimento da solução, que está sendo exibida
através de um projetor
Randori
• Cada rodada dura aproximadamente 5–7 minutos
• Ao final de uma rodada, o piloto volta para a platéia, o co-piloto se torna o
piloto e alguém da platéia se torna o novo co-piloto
• A dupla que está trabalhando na solução não deve ser alterada enquanto
o teste não for atendido
• Quando a solução for aprovada, é possível fazer comentários que ajudem
na refatoração
Randori
Randori
Source: apiconz.wordpress.com
• Definir o objetivo e escolher um desafio (~10 minutos)
• Discussão do problema (~20 minutos): os participantes discutem diferentes
possibilidades de resolução e geram uma lista de tarefas para guiar as
duplas durante a fase de codificação
• Codificação (~60 a 120 minutos): os participantes definem qual será a
forma do Dojo e começam a codificação, aplicando as técnicas para a
opção escolhida
• Retrospectiva (~30 minutos)
Estrutura dos encontros
E para quem
trabalha com testes?
• Testing dojos, ou dojos de teste, fornecem uma estrutura similar a de um
dojo de programação
• Os testers, porém, praticam habilidades individuais dentro de um grupo
• O desafio do dojo pode ser testar um produto, gerar ideias de teste para
um software em particular, exercitar geração de relatórios de bugs, ou até
mesmo avaliar ferramentas
Testing Dojo
• Tester: a pessoa que interage com o programa
• Registrador (recorder): a pessoa que registra informações relativas às
atividades
• Facilitador: pessoa que define a missão para o dojo, facilita o feedback e
garante que as regras sejam seguidas
• Observador(es): a platéia. Cada pessoa que observa a criação da solução
deve fazer notas sobre o processo, o que inclui monitorar as atividades e
as interações entre os participantes
Testing Dojo
• Um dojo é um processo contínuo com intuito de refinar as habilidades de
um time, permitir que pessoas com diferentes níveis de conhecimento
interajam, experimentem e aprendam em conjunto
• Além disso, também treina habilidades de comunicação. Times que se
comunicam e interagem bem são capazes de produzir produtos com a
mais alta qualidade
• A intenção jamais é chegar a uma solução final absoluta, mas ser capaz de
melhorar a cada encontro
Conclusão
Dúvidas?
Coding Dojo
Sabrina Andrade
sgtab@cesar.school
Source: www.codingdojo.com

Mais conteúdo relacionado

Semelhante a Coding dojo

Codding dojo - Apresentação
Codding dojo - ApresentaçãoCodding dojo - Apresentação
Codding dojo - ApresentaçãoMarcus Costa
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Developer Academy
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do MantraDionatan default
 
Test driven development teste e design no mundo real by mauricio aniche (z-li...
Test driven development teste e design no mundo real by mauricio aniche (z-li...Test driven development teste e design no mundo real by mauricio aniche (z-li...
Test driven development teste e design no mundo real by mauricio aniche (z-li...GessdaSilvaMachado
 
Seja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinhoSeja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinhoAlexandre Andrade
 
Coding Dojo - Funcionamento
Coding Dojo - FuncionamentoCoding Dojo - Funcionamento
Coding Dojo - Funcionamentothiagodp
 
TDC2018SP | Trilha Arquitetura Corporativa - Design thinking para arquitetos ...
TDC2018SP | Trilha Arquitetura Corporativa - Design thinking para arquitetos ...TDC2018SP | Trilha Arquitetura Corporativa - Design thinking para arquitetos ...
TDC2018SP | Trilha Arquitetura Corporativa - Design thinking para arquitetos ...tdc-globalcode
 
TDC2018 - Adriano Tavares - Design Thinking para arquitetos de software
TDC2018 - Adriano Tavares - Design Thinking para arquitetos de softwareTDC2018 - Adriano Tavares - Design Thinking para arquitetos de software
TDC2018 - Adriano Tavares - Design Thinking para arquitetos de softwareAdriano Tavares
 
Palestra sobre Coding Dojo
Palestra sobre Coding DojoPalestra sobre Coding Dojo
Palestra sobre Coding DojoGabriel Grahl
 
Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !
Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !
Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !Ari Amaral
 

Semelhante a Coding dojo (20)

Coding Dojo Aplicado ao Ambiente Organizacional
Coding Dojo Aplicado ao Ambiente OrganizacionalCoding Dojo Aplicado ao Ambiente Organizacional
Coding Dojo Aplicado ao Ambiente Organizacional
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Coding dojo
Coding dojo Coding dojo
Coding dojo
 
Codding dojo - Apresentação
Codding dojo - ApresentaçãoCodding dojo - Apresentação
Codding dojo - Apresentação
 
Dojo abril
Dojo abrilDojo abril
Dojo abril
 
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
Apresentação do Workshop BDD (Desenvolvimento Guiado por Comportamento) com V...
 
Dojo
DojoDojo
Dojo
 
#safaDojo com Android
#safaDojo com Android#safaDojo com Android
#safaDojo com Android
 
#safaDojo com Android
#safaDojo com Android#safaDojo com Android
#safaDojo com Android
 
DojoTuba 01
DojoTuba 01DojoTuba 01
DojoTuba 01
 
TDD: A Essência do Mantra
TDD: A Essência do MantraTDD: A Essência do Mantra
TDD: A Essência do Mantra
 
Test driven development teste e design no mundo real by mauricio aniche (z-li...
Test driven development teste e design no mundo real by mauricio aniche (z-li...Test driven development teste e design no mundo real by mauricio aniche (z-li...
Test driven development teste e design no mundo real by mauricio aniche (z-li...
 
Seja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinhoSeja um júnior não seja um sobrinho
Seja um júnior não seja um sobrinho
 
Coding Dojo #GuruPI
Coding Dojo #GuruPICoding Dojo #GuruPI
Coding Dojo #GuruPI
 
Coding Dojo - Funcionamento
Coding Dojo - FuncionamentoCoding Dojo - Funcionamento
Coding Dojo - Funcionamento
 
DojoTuba: Coding Dojo - Tubarão, SC
DojoTuba: Coding Dojo - Tubarão, SCDojoTuba: Coding Dojo - Tubarão, SC
DojoTuba: Coding Dojo - Tubarão, SC
 
TDC2018SP | Trilha Arquitetura Corporativa - Design thinking para arquitetos ...
TDC2018SP | Trilha Arquitetura Corporativa - Design thinking para arquitetos ...TDC2018SP | Trilha Arquitetura Corporativa - Design thinking para arquitetos ...
TDC2018SP | Trilha Arquitetura Corporativa - Design thinking para arquitetos ...
 
TDC2018 - Adriano Tavares - Design Thinking para arquitetos de software
TDC2018 - Adriano Tavares - Design Thinking para arquitetos de softwareTDC2018 - Adriano Tavares - Design Thinking para arquitetos de software
TDC2018 - Adriano Tavares - Design Thinking para arquitetos de software
 
Palestra sobre Coding Dojo
Palestra sobre Coding DojoPalestra sobre Coding Dojo
Palestra sobre Coding Dojo
 
Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !
Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !
Palestra : Scrum : A arte de fazer o dobro do trabalho na metade do tempo !
 

Coding dojo

  • 2. O que é um dojo?
  • 4. • A palavra dojo (em japonês, 道場) é um termo emprestado do Zen- Budismo que significa literalmente "o lugar onde se pratica o caminho” • Um local em que o que importa é a prática em si O que é um dojo?
  • 5. E o que isso tem a ver com programação?
  • 6. • Pessoas de TI dedicam pouco tempo ao refinamento de habilidades • Acabamos por adquirir e desenvolver competências durante o nosso dia a dia de trabalho, o que representa um risco ao projeto • Esperar que criadores de soluções façam seu trabalho ao mesmo tempo que buscam alternativas melhores é permitir que errem quando deveriam estar fazendo o melhor trabalho possível Coding Dojo
  • 7. Coding Dojo é um "local de treinamento de código" ou "local de treinamento de programação" Coding Dojo Source: www.codingdojo.com
  • 8. Trata-se de um ambiente: • Seguro, inclusivo e sem preconceitos • De colaboração e aprendizado contínuo • Onde as atividades são realizadas através de baby steps • Para testar novas ideias, compartilhar conhecimentos, praticar habilidades e, principalmente, se divertir Coding Dojo
  • 9. Assim como em um dojo de artes marciais, 
 a atenção deve ser à prática Coding Dojo
  • 11. 1. Criar um ambiente adequado e com os equipamentos necessários • Criar um ambiente seguro, confortável e propício ao compartilhamento de conhecimento é mandatório • De acordo com o formato escolhido, também precisamos ter à disposição uma quantidade de computadores compatível com a quantidade de pessoas que irão codificar (pelo menos um computador) • Também temos um projetor para que todos possam visualizar os códigos e um quadro branco para discutir soluções Como funciona?
  • 12. 2. Definir a periodicidade e o objetivo das reuniões • Um coding dojo não se trata de apenas uma única reunião • Preferencialmente, os encontros acontecem em um mesmo local e no mesmo horário • O que faremos neste encontro? Como funciona?
  • 13. 3. Definir o formato • Kata (ou kata preparado) • Randori • Kake Como funciona? Source: waxingonoff.blogspot.com
  • 14. • Uma pessoa demonstra passo a passo uma solução previamente desenvolvida para o problema • Esses passos são baby steps • Interrupções são permitidas para sanar quaisquer dúvidas Kata Preparado
  • 15. • A solução final não é demonstrada até que cada passo seja testado, codificado e entendido por todos • O objetivo é que as pessoas que participam do encontro sejam capazes de reproduzir esta solução Kata Preparado
  • 16. • No randori, há o uso de Test-Driven Development (TDD) e programação em pares realizada em rodadas • Cada pessoa assume um papel específico Randori
  • 17. Papéis • Piloto: a pessoa responsável por codificar, refatorar e testar cada parte da solução que está sendo criada • Co-piloto: pessoa que auxilia o piloto na resolução dos passos que estão sendo trabalhados • Platéia: as outras pessoas que estão participando do dojo apenas observam o desenvolvimento da solução, que está sendo exibida através de um projetor Randori
  • 18. • Cada rodada dura aproximadamente 5–7 minutos • Ao final de uma rodada, o piloto volta para a platéia, o co-piloto se torna o piloto e alguém da platéia se torna o novo co-piloto • A dupla que está trabalhando na solução não deve ser alterada enquanto o teste não for atendido • Quando a solução for aprovada, é possível fazer comentários que ajudem na refatoração Randori
  • 20. • Definir o objetivo e escolher um desafio (~10 minutos) • Discussão do problema (~20 minutos): os participantes discutem diferentes possibilidades de resolução e geram uma lista de tarefas para guiar as duplas durante a fase de codificação • Codificação (~60 a 120 minutos): os participantes definem qual será a forma do Dojo e começam a codificação, aplicando as técnicas para a opção escolhida • Retrospectiva (~30 minutos) Estrutura dos encontros
  • 21. E para quem trabalha com testes?
  • 22. • Testing dojos, ou dojos de teste, fornecem uma estrutura similar a de um dojo de programação • Os testers, porém, praticam habilidades individuais dentro de um grupo • O desafio do dojo pode ser testar um produto, gerar ideias de teste para um software em particular, exercitar geração de relatórios de bugs, ou até mesmo avaliar ferramentas Testing Dojo
  • 23. • Tester: a pessoa que interage com o programa • Registrador (recorder): a pessoa que registra informações relativas às atividades • Facilitador: pessoa que define a missão para o dojo, facilita o feedback e garante que as regras sejam seguidas • Observador(es): a platéia. Cada pessoa que observa a criação da solução deve fazer notas sobre o processo, o que inclui monitorar as atividades e as interações entre os participantes Testing Dojo
  • 24. • Um dojo é um processo contínuo com intuito de refinar as habilidades de um time, permitir que pessoas com diferentes níveis de conhecimento interajam, experimentem e aprendam em conjunto • Além disso, também treina habilidades de comunicação. Times que se comunicam e interagem bem são capazes de produzir produtos com a mais alta qualidade • A intenção jamais é chegar a uma solução final absoluta, mas ser capaz de melhorar a cada encontro Conclusão