Coding Dojo - Técnico

1.868 visualizações

Publicada em

Publicada em: Tecnologia
0 comentários
1 gostou
Estatísticas
Notas
  • Seja o primeiro a comentar

Sem downloads
Visualizações
Visualizações totais
1.868
No SlideShare
0
A partir de incorporações
0
Número de incorporações
847
Ações
Compartilhamentos
0
Downloads
14
Comentários
0
Gostaram
1
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Coding Dojo - Técnico

  1. 1. Coding Dojo Aplicando Práticas Agéis Guilherme Oenning Contato: guilherme@oenning.eti.br Twitter: @goenning Site: http://oenning.eti.br
  2. 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;
  3. 3. 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
  4. 4. eXtreme Programming • Primeiro livro sobre o assunto é recente, 11 anos atrás, em 1999; • Escrito por Kent Beck; • Está em alta ultimamente;
  5. 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. 6. 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;
  7. 7. Refactoring Teoria da Janela Quebrada
  8. 8. Refactoring Boy Scout Rule: Leave the campground cleaner than you found it.
  9. 9. Refactoring Código Sujo Código Limpo
  10. 10. Test Driven Development
  11. 11. Automatização dos Testes • Feedback Instantâneo; • Segurança; • Rápido; • Barato;
  12. 12. Entrada Saída Verificação
  13. 13. Green. Nosso software está funcionando. 
  14. 14. Red = Temos um Bug 
  15. 15. Test Driven Development
  16. 16. Test Driven Development Escreva um teste Veja ele falhar Faça-o passar Veja ele passar Refatore
  17. 17. 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;
  18. 18. Test Driven Development
  19. 19. 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.
  20. 20. 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;
  21. 21. 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)
  22. 22. Requisitos dos participantes • Desejo de aprender e compartilhar conhecimento; • Respeito ao próximo; • Mente sempre aberta; • Disciplina; • Comprometimento;
  23. 23. 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;
  24. 24. 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
  25. 25. Katas • Happy Numbers • Numeric Maze Fonte: rubyquiz.com
  26. 26. 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.
  27. 27. 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

×