SlideShare ist ein Scribd-Unternehmen logo
1 von 35
Coding Dojo
Aplicando Práticas Agéis
Guilherme Oenning
Contato: guilherme@oenning.eti.br
Twitter: @goenning
Site: http://oenning.eti.br
Agenda
1. Apresentação sobre a situação da área de TI, Coding Dojo,
Práticas Ágeis;
2. Apresentação e escolha do Kata (problema);
3. Realização do Dojo (Parte 1);
4. Intervalo;
5. Realização do Dojo (Parte 2);
6. Retrospectiva;
Cenário Atual
1994
2000
2004
2006
2009
31%
23%
18%
19%
24%
53%
49%
53%
46%
44%
16%
28%
29%
35%
32%
Chaos Report
Falha Mudança Successo
eXtreme Programming
• Primeiro livro sobre o assunto
é recente, 11 anos atrás, em
1999;
• Escrito por Kent Beck;
• Está em alta ultimamente;
eXtreme Programming
• Valores: Comunicação, Simplicidade, Feedback, Coragem, Respeito
• Princípios: Feedback rápido, Presumir simplicidade, Mudanças
incrementais, Abraçar mudanças, Trabalho de alta qualidade.
• Práticas:
• Pair Programming;
• Refactoring;
• Test Driven Development;
• Baby Step;
Pair Programming
• Programação em par é uma das práticas mais conhecidas e
mais polêmicas utilizadas pelos que adotam o Extreme
Programming. Ela sugere que todo e qualquer código
produzido no projeto seja sempre implementado por duas
pessoas juntas, diante do mesmo computador, revezando-se
no teclado.
• Funciona?
• O Piloto e o copiloto;
Refactoring
Teoria da Janela Quebrada
Refactoring
Boy Scout Rule: Leave the campground cleaner than
you found it.
Refactoring
Código Sujo Código Limpo
Test Driven Development
Automatização dos Testes
• Feedback Instantâneo;
• Segurança;
• Rápido;
• Barato;
Entrada
Saída
Verificação
Green. Nosso software está funcionando.

Red = Temos um Bug

Test Driven Development
Test Driven Development
Escreva
um teste
Veja ele
falhar
Faça-o
passar
Veja ele
passar
Refatore
Baby Steps
1. Vá com calma;
2. Suba um degrau de cada vez;
3. Não tente dar um passo
maior que a perna;
4. Quando se sentir confortável,
comece a acelerar;
5. Caso ocorra algo errado,
volte a engatinhar;
Test Driven Development
Dojo
• O dojo ou dojô (pronuncia-se DÔ-JÔ) é o local onde se treinam
artes marciais, especialmente as nipônicas. Muito mais do que
uma simples área, o dojo deve ser respeitado como se fosse a
casa dos praticantes. Por isso, é comum ver o praticante fazendo
uma reverência antes de adentrar, tal como se faz nos lares
japoneses.
Coding Dojo
• Um Coding Dojo é uma reunião presencial para estudar e praticar
desenvolvimento de software;
• Seus praticantes estão lá para se divertir e para participar em prática
expontânea de forma a melhorar suas habilidades;
• Em um ambiente não competivivo e colaborativo, todos os
participantes possuem um objetivo em comum: resolver o
problema que foi proposto no início da sessão;
• Para tanto, é utilizado algumas práticas ágeis como Pair
Programming, Test Driven Development (TDD), Refactoring e Baby
Steps;
• Excelente ambiente para aumentar seu network;
Requisitos para o Coding Dojo
• No mínimo 5 participantes;
• Uma sala;
• Um computador com projetor (apenas um);
• Um problema (kata);
• Um contador de tempo;
• Uma caixa de chocolate (Joinville Dojo)
Requisitos dos participantes
• Desejo de aprender e compartilhar conhecimento;
• Respeito ao próximo;
• Mente sempre aberta;
• Disciplina;
• Comprometimento;
Como funciona a dinâmica
 Piloto: Escreve o código
 Copiloto: Explica o que o Piloto está acontecendo e ajuda o
piloto
 Rodada:
 Cada rodada dura 7 minutos;
 Ao terminar, o piloto une-se ao grupo, Copiloto vira piloto
e alguém do grupo vira Copiloto.
 Grupo só fala:
 Quando o teste está verde;
 Antes de escrever um teste;
 Retrospectiva;
Contato
 Blog: http://www.joinvilledojo.com.br/
 Posts das sessões e informações sobre o grupo
 Twitter: @joinvilledojo
 Lembretes
 Grupo: http://groups.google.com.br/group/joinville-dojo
 Confirmação dos próximos encontros e algumas discussões
Katas
•Happy Numbers
•Numeric Maze
Fonte: rubyquiz.com
Happy Numbers
• O processo para descobrir se um número é feliz é:
• 72 = 49
• 42 + 92 = 97
• 92 + 72 = 130
• 12 + 32 + 02 = 10
• 12 + 02 = 1.
• Caso o resultado seja 1, então o número é feliz. Caso ele entre em loop,
o número é considerado infeliz.
• Exemplos de 1 até 500: 1, 7, 10, 13, 19, 23, 28, 31, 32, 44, 49, 68, 70, 79,
82, 86, 91, 94, 97, 100, 103, 109, 129, 130, 133, 139, 167, 176, 188, 190,
192, 193, 203, 208, 219, 226, 230, 236, 239, 262, 263, 280, 291, 293,
301, 302, 310, 313, 319, 320, 326, 329, 331, 338, 356, 362, 365, 367,
368, 376, 379, 383, 386, 391, 392, 397, 404, 409, 440, 446, 464, 469,
478, 487, 490, 496
• Curiosidade: Motivo da criação é desconhecida, a utilidade também.
Numeric Maze
• Dado um número inicial e um final, encontrar o caminho mais rápido do
início a fim. As operações possíveis são:
• Dobrar;
• Dividir;
• Adicionar 2;
• Exemplo 1 – De 2 até 9:
• 2 * 2 = 4
• 4 * 2 = 8
• 8 * 2 = 16
• 16 + 2 = 18
• 18 / 2 = 9
• Exemplo 2 – de 2 até 10:
• 2 * 2 = 4
• 4 * 2 = 8
• 8 + 2 = 10

Weitere ähnliche Inhalte

Andere mochten auch

Elinanda kellisson fabricio
Elinanda kellisson fabricioElinanda kellisson fabricio
Elinanda kellisson fabricioPaulo Sérgio
 
Menangga kekata
Menangga kekataMenangga kekata
Menangga kekataNur Yusuf
 
Quiz desenvolvimento sustentável
Quiz desenvolvimento sustentávelQuiz desenvolvimento sustentável
Quiz desenvolvimento sustentávelGustavo
 
Thales alisson-joao vitorteixieira
Thales alisson-joao vitorteixieiraThales alisson-joao vitorteixieira
Thales alisson-joao vitorteixieiraPaulo Sérgio
 
¿hasta donde puedes llegar ?
¿hasta donde puedes llegar ?¿hasta donde puedes llegar ?
¿hasta donde puedes llegar ?mamenchu
 
Baloia patioan 2 eusk
Baloia patioan 2 euskBaloia patioan 2 eusk
Baloia patioan 2 euskJavi Muñoz
 
Fear and Trembling—the Borderlands of the Sane
Fear and Trembling—the Borderlands of the SaneFear and Trembling—the Borderlands of the Sane
Fear and Trembling—the Borderlands of the SaneImantra e-magazine
 
Bossa norte
Bossa norte Bossa norte
Bossa norte msamaciel
 
áLbum de fotografías
áLbum de fotografíasáLbum de fotografías
áLbum de fotografías0998976024
 
El canton independiente_de_lebrija2 (1)
El canton independiente_de_lebrija2 (1)El canton independiente_de_lebrija2 (1)
El canton independiente_de_lebrija2 (1)2bachilleratoc
 
Apresentação juntos vendemos mais setembro
Apresentação juntos vendemos mais setembroApresentação juntos vendemos mais setembro
Apresentação juntos vendemos mais setembroDaniel Lima
 

Andere mochten auch (20)

Elinanda kellisson fabricio
Elinanda kellisson fabricioElinanda kellisson fabricio
Elinanda kellisson fabricio
 
Menangga kekata
Menangga kekataMenangga kekata
Menangga kekata
 
Quiz desenvolvimento sustentável
Quiz desenvolvimento sustentávelQuiz desenvolvimento sustentável
Quiz desenvolvimento sustentável
 
Xarxes locals
Xarxes localsXarxes locals
Xarxes locals
 
Thales alisson-joao vitorteixieira
Thales alisson-joao vitorteixieiraThales alisson-joao vitorteixieira
Thales alisson-joao vitorteixieira
 
Ash max gracaluisa
Ash max gracaluisaAsh max gracaluisa
Ash max gracaluisa
 
Basededatosquipo11
Basededatosquipo11Basededatosquipo11
Basededatosquipo11
 
Suelene.apresentação
Suelene.apresentaçãoSuelene.apresentação
Suelene.apresentação
 
Beeld portfolio Corfu
Beeld portfolio CorfuBeeld portfolio Corfu
Beeld portfolio Corfu
 
UTE diversida en el aula
UTE diversida en el aulaUTE diversida en el aula
UTE diversida en el aula
 
¿hasta donde puedes llegar ?
¿hasta donde puedes llegar ?¿hasta donde puedes llegar ?
¿hasta donde puedes llegar ?
 
Baloia patioan 2 eusk
Baloia patioan 2 euskBaloia patioan 2 eusk
Baloia patioan 2 eusk
 
Fear and Trembling—the Borderlands of the Sane
Fear and Trembling—the Borderlands of the SaneFear and Trembling—the Borderlands of the Sane
Fear and Trembling—the Borderlands of the Sane
 
Cas 2 carme taula
Cas 2 carme taulaCas 2 carme taula
Cas 2 carme taula
 
Bossa norte
Bossa norte Bossa norte
Bossa norte
 
áLbum de fotografías
áLbum de fotografíasáLbum de fotografías
áLbum de fotografías
 
Juez Calatayud Por.No.Parecer.Fachas
Juez Calatayud Por.No.Parecer.FachasJuez Calatayud Por.No.Parecer.Fachas
Juez Calatayud Por.No.Parecer.Fachas
 
Oo hub 20130111
Oo hub 20130111Oo hub 20130111
Oo hub 20130111
 
El canton independiente_de_lebrija2 (1)
El canton independiente_de_lebrija2 (1)El canton independiente_de_lebrija2 (1)
El canton independiente_de_lebrija2 (1)
 
Apresentação juntos vendemos mais setembro
Apresentação juntos vendemos mais setembroApresentação juntos vendemos mais setembro
Apresentação juntos vendemos mais setembro
 

Ähnlich wie Coding Dojo - Técnico (20)

Dojo
DojoDojo
Dojo
 
Joinville Dojo 2010
Joinville Dojo   2010Joinville Dojo   2010
Joinville Dojo 2010
 
Coding Dojo #GuruPI
Coding Dojo #GuruPICoding Dojo #GuruPI
Coding Dojo #GuruPI
 
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOSAULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
AULA 06 - REVISÃO DE CONCEITOS INICIAIS DE ALGORITMOS
 
EAD Evolutions - FISL 2009
EAD Evolutions - FISL 2009EAD Evolutions - FISL 2009
EAD Evolutions - FISL 2009
 
Dojo #5
Dojo #5Dojo #5
Dojo #5
 
Fisl 10 - EAD Evolutions
Fisl 10 - EAD EvolutionsFisl 10 - EAD Evolutions
Fisl 10 - EAD Evolutions
 
Coding dojo
Coding dojoCoding dojo
Coding dojo
 
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 dojoCoding dojo
Coding dojo
 
Dojo abril
Dojo abrilDojo abril
Dojo abril
 
Desenvolver é...
Desenvolver é...Desenvolver é...
Desenvolver é...
 
Clean Coder
Clean CoderClean Coder
Clean Coder
 
Codding dojo - Apresentação
Codding dojo - ApresentaçãoCodding dojo - Apresentação
Codding dojo - Apresentação
 
Clean Code
Clean CodeClean Code
Clean Code
 
Dojo UECE - javaCE
Dojo UECE - javaCEDojo UECE - javaCE
Dojo UECE - javaCE
 
Clean Code
Clean CodeClean Code
Clean Code
 
Coding Dojo
Coding DojoCoding Dojo
Coding Dojo
 
Metodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introduçãoMetodologias Ágeis: Uma breve introdução
Metodologias Ágeis: Uma breve introdução
 

Coding Dojo - Técnico

  • 1. Coding Dojo Aplicando Práticas Agéis Guilherme Oenning Contato: guilherme@oenning.eti.br Twitter: @goenning Site: http://oenning.eti.br
  • 2. Agenda 1. Apresentação sobre a situação da área de TI, Coding Dojo, Práticas Ágeis; 2. Apresentação e escolha do Kata (problema); 3. Realização do Dojo (Parte 1); 4. Intervalo; 5. Realização do Dojo (Parte 2); 6. Retrospectiva;
  • 4. eXtreme Programming • Primeiro livro sobre o assunto é recente, 11 anos atrás, em 1999; • Escrito por Kent Beck; • Está em alta ultimamente;
  • 5. eXtreme Programming • Valores: Comunicação, Simplicidade, Feedback, Coragem, Respeito • Princípios: Feedback rápido, Presumir simplicidade, Mudanças incrementais, Abraçar mudanças, Trabalho de alta qualidade. • Práticas: • Pair Programming; • Refactoring; • Test Driven Development; • Baby Step;
  • 6.
  • 7. Pair Programming • Programação em par é uma das práticas mais conhecidas e mais polêmicas utilizadas pelos que adotam o Extreme Programming. Ela sugere que todo e qualquer código produzido no projeto seja sempre implementado por duas pessoas juntas, diante do mesmo computador, revezando-se no teclado. • Funciona? • O Piloto e o copiloto;
  • 8.
  • 9.
  • 11. Refactoring Boy Scout Rule: Leave the campground cleaner than you found it.
  • 14. Automatização dos Testes • Feedback Instantâneo; • Segurança; • Rápido; • Barato;
  • 15.
  • 17. Green. Nosso software está funcionando. 
  • 18.
  • 19. Red = Temos um Bug 
  • 20.
  • 22. Test Driven Development Escreva um teste Veja ele falhar Faça-o passar Veja ele passar Refatore
  • 23. Baby Steps 1. Vá com calma; 2. Suba um degrau de cada vez; 3. Não tente dar um passo maior que a perna; 4. Quando se sentir confortável, comece a acelerar; 5. Caso ocorra algo errado, volte a engatinhar;
  • 25. Dojo • O dojo ou dojô (pronuncia-se DÔ-JÔ) é o local onde se treinam artes marciais, especialmente as nipônicas. Muito mais do que uma simples área, o dojo deve ser respeitado como se fosse a casa dos praticantes. Por isso, é comum ver o praticante fazendo uma reverência antes de adentrar, tal como se faz nos lares japoneses.
  • 26. Coding Dojo • Um Coding Dojo é uma reunião presencial para estudar e praticar desenvolvimento de software; • Seus praticantes estão lá para se divertir e para participar em prática expontânea de forma a melhorar suas habilidades; • Em um ambiente não competivivo e colaborativo, todos os participantes possuem um objetivo em comum: resolver o problema que foi proposto no início da sessão; • Para tanto, é utilizado algumas práticas ágeis como Pair Programming, Test Driven Development (TDD), Refactoring e Baby Steps; • Excelente ambiente para aumentar seu network;
  • 27. Requisitos para o Coding Dojo • No mínimo 5 participantes; • Uma sala; • Um computador com projetor (apenas um); • Um problema (kata); • Um contador de tempo; • Uma caixa de chocolate (Joinville Dojo)
  • 28. Requisitos dos participantes • Desejo de aprender e compartilhar conhecimento; • Respeito ao próximo; • Mente sempre aberta; • Disciplina; • Comprometimento;
  • 29. Como funciona a dinâmica  Piloto: Escreve o código  Copiloto: Explica o que o Piloto está acontecendo e ajuda o piloto  Rodada:  Cada rodada dura 7 minutos;  Ao terminar, o piloto une-se ao grupo, Copiloto vira piloto e alguém do grupo vira Copiloto.  Grupo só fala:  Quando o teste está verde;  Antes de escrever um teste;  Retrospectiva;
  • 30.
  • 31. Contato  Blog: http://www.joinvilledojo.com.br/  Posts das sessões e informações sobre o grupo  Twitter: @joinvilledojo  Lembretes  Grupo: http://groups.google.com.br/group/joinville-dojo  Confirmação dos próximos encontros e algumas discussões
  • 32.
  • 34. Happy Numbers • O processo para descobrir se um número é feliz é: • 72 = 49 • 42 + 92 = 97 • 92 + 72 = 130 • 12 + 32 + 02 = 10 • 12 + 02 = 1. • Caso o resultado seja 1, então o número é feliz. Caso ele entre em loop, o número é considerado infeliz. • Exemplos de 1 até 500: 1, 7, 10, 13, 19, 23, 28, 31, 32, 44, 49, 68, 70, 79, 82, 86, 91, 94, 97, 100, 103, 109, 129, 130, 133, 139, 167, 176, 188, 190, 192, 193, 203, 208, 219, 226, 230, 236, 239, 262, 263, 280, 291, 293, 301, 302, 310, 313, 319, 320, 326, 329, 331, 338, 356, 362, 365, 367, 368, 376, 379, 383, 386, 391, 392, 397, 404, 409, 440, 446, 464, 469, 478, 487, 490, 496 • Curiosidade: Motivo da criação é desconhecida, a utilidade também.
  • 35. Numeric Maze • Dado um número inicial e um final, encontrar o caminho mais rápido do início a fim. As operações possíveis são: • Dobrar; • Dividir; • Adicionar 2; • Exemplo 1 – De 2 até 9: • 2 * 2 = 4 • 4 * 2 = 8 • 8 * 2 = 16 • 16 + 2 = 18 • 18 / 2 = 9 • Exemplo 2 – de 2 até 10: • 2 * 2 = 4 • 4 * 2 = 8 • 8 + 2 = 10