Your SlideShare is downloading. ×
0
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Coding Dojo - Aplicando Princípios Ágeis
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Coding Dojo - Aplicando Princípios Ágeis

969

Published on

Apresentação sobre Coding Dojo realizada na XII Semana da Computação na Udesc em 2010.

Apresentação sobre Coding Dojo realizada na XII Semana da Computação na Udesc em 2010.

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
969
On Slideshare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
18
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Coding Dojo<br />AplicandoPrincípiosÁgeis<br />LorivalSmolskiChapuis<br />MCP, MCTS ASP.NET, MCPD ASP.NET<br />http://blog.lorival.com / lorival@chapuis.com.br<br />XII Semana da Computação<br />Universidade do Estado de Santa Catarina – UDESC 2010<br />
  • 2. Considerações iniciais<br />2<br />The Curious Case of the CHAOS Report 2009 – Standish Group<br />http://www.projectsmart.co.uk/the-curious-case-of-the-chaos-report-2009.html<br />
  • 3. Porque treinar?<br />Dojo?<br />O que é um CodingDojo<br />Princípios ágeis:<br />Pair Programming<br />TDD e Refactory<br />Baby Steps<br />Como funciona um CodingDojo<br />Joinville Dojo<br />Considerações finais<br />Dúvidas<br />Agenda<br />3<br />
  • 4. O Brasil teria conseguido chegar a penta campeão do mundo sem treino?<br /> O dia-a-dia de um desenvolvedor são os campeonatos. Quando são os treinos?<br /> Um campeonato serve como treino?<br />Por que treinar?<br />4<br />
  • 5. A expressão treinamento refere-se à aquisição de conhecimento, habilidades e competências como resultado de formação profissional ou do ensino de habilidades práticas relacionadas à competências úteis específicas.<br />Fonte: Wikipedia<br />Definição de treinamento<br />5<br />
  • 6. 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.<br /> Artes marciais que utilizam dojo:<br /> Judô, Jiu-Jitsu, Ninjutsu, Karatê e Taekwondo.<br />Dojo<br />6<br />
  • 7. Dojo<br />7<br />
  • 8. CodingDojo<br />Um Coding Dojo é uma reunião presencial para estudar e praticardesenvolvimento de software. <br />Seus praticantes estão lá para se divertir e para participar em prática expontânea de forma a melhorar suas habilidades.<br />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. <br />Para tanto, é utilizado algumas práticas ágeis como Pair Programming, Test Driven Development (TDD), Refactoring e Baby Steps.<br />
  • 9. Pair programming<br />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 duaspessoasjuntas, diante do mesmo computador, revezando-se no teclado. <br />
  • 10. Pair programming<br />Será que funciona?<br />Já imaginou um avião apenas com o piloto sem um co-piloto? Você jamais voaria em um avião assim. Mesmo que você não se preocupe com isso a companhia aérea se preocupa e muito.<br />Piloto e co-piloto possuem visões diferentes.<br />
  • 11. Pair programming<br />Em 1971, em um livro chamado The Psychology of Computer Programming (Gerald Weinberg) mostrou que o olho humano tem uma incrível capacidade de só enxergar aquilo que deseja e, naturalmente, ignorar aquilo que não quer ver<br />“Programadores, se deixados por conta própria, ignoram os erros mais gritantes, os quais qualquer pessoa seria capaz de detectar instantaneamente“<br />Princípio da dissonância cognitiva.<br />
  • 12. Pair programming<br />Desenvolvedores rendemmais em duplas.<br />Disseminação de conhecimento é uma das importantes características da programação em par.<br />Eleva a capacidade técnica dos desenvolvedores.<br />Aumenta a confiança do desenvolvedor e no software.<br />
  • 13. Pair programming<br /> Programar em par exige que as pessoas envolvidas sejam receptivas, compreensivas umas com as outras, engajadas e, sobretudo, humildes. É necessário aceitar que somos falíveis para que possamos programar em par. Weinberg criou o termo egoless programming, ou seja, programação sem ego.<br />
  • 14. TestDrivenDevelopment<br />Desenvolvimento Guiado por Testes, ou simplesmente TDD.<br />Consiste numa técnica de desenvolvimento de software onde primeiro são criados os testes e somente depois é escrito o código necessário para passar por eles.<br />
  • 15. Fonte: http://www.joinvilledojo.com.br<br />
  • 16. Entrada<br />Saída<br />Verificação<br />Fonte: http://www.joinvilledojo.com.br<br />
  • 17. Feedback Instantâneo<br />Fonte: http://www.joinvilledojo.com.br<br />
  • 18. Fonte: http://www.joinvilledojo.com.br<br />
  • 19. Segurança<br />Fonte: http://www.joinvilledojo.com.br<br />
  • 20. Cenário comum<br />
  • 21. Diversasiteraçõesparaumaúnicafuncionalidade.<br />Cenário com TDD<br />
  • 22.
  • 23. Refactoring<br />Revisão, simplificação e evolução do código.<br />A história do apartamento sujo...<br />
  • 24. Baby Steps<br />Trabalhe em passos e pense simples.<br />Escreva códigos simplificados que atuem e resolvam apenas o seu respectivo teste.<br />Não crie 10 testes e saia codificando. Crie um teste e faça a codificação para que ele funcione.<br />Não crie testes gigantes e codificações de mesma proporção. <br />
  • 25. Requisitos para o CodingDojo<br />No mínimo 5 participantes<br />Uma sala<br />Um computador com projetor (apenas um)<br />Um problema<br />Um contador de tempo<br />
  • 26. Requisitos dos participantes<br />Desejo de aprender e compartilhar conhecimento<br />Respeito ao próximo<br />Mente sempre aberta<br />Disciplina<br />Comprometimento<br />
  • 27. Como funciona um encontro<br /><ul><li>Passado (30 min), Presente (10 min) e Futuro (2 min)
  • 28. Retrospectiva
  • 29. Define o Kata (problema)
  • 30. Define data do próximo encontro
  • 31. Sessão (90 min – intervalo de 10 min)
  • 32. PreparedKata ou RandoriKata</li></ul>Exemplo grupo ParisDojo. Fonte: http://codingdojo.org<br />
  • 33. Como funciona um encontro<br /><ul><li>Piloto: Escreve o código
  • 34. Co-piloto: Explica o que o Piloto está fazendo e o ajuda
  • 35. Rodada:
  • 36. Dura 7 minutos
  • 37. Piloto se une ao grupo, Co-piloto vira piloto e alguêm do grupo vira Co-piloto.
  • 38. Grupo só fala:
  • 39. Teste está verde (passou)
  • 40. Antes de escrever um teste (para decidir o que será feito)</li></li></ul><li>Joinville Dojo<br />29<br />
  • 41. Surgimento<br />30<br /><ul><li>Fundadores: Guilherme Oenning e LorivalChapuis
  • 42. Objetivo: Criar um grupo de estudos para praticar técnicas de desenvolvimento de sistema em Joinville
  • 43. Iniciou em 2009 na Sociesc</li></li></ul><li>Fotos<br />31<br />
  • 44. Fotos<br />32<br />
  • 45. Como funciona um encontro<br /><ul><li>Passado (2 min), Presente (10 min) e Futuro (2 min)
  • 46. Retrospectiva das melhorias
  • 47. Define o Kata (problema)
  • 48. Define data do próximo encontro
  • 49. Sessão (90 min – intervalo de 10 min)
  • 50. RandoriKata
  • 51. Retrospectiva
  • 52. Pontos negativos, positivos e melhorias (20 min)</li></li></ul><li>Contatos<br /><ul><li>Blog: http://www.joinvilledojo.com.br/
  • 53. Posts das sessões e informações sobre o grupo
  • 54. Twitter: www.twitter.com/joinvilledojo
  • 55. Lembretes
  • 56. Grupo: http://groups.google.com.br/group/joinville-dojo
  • 57. Confirmação dos próximos encontros e algumas discussões</li></li></ul><li>Depoimento<br />35<br /> “O Coding Dojo, além promover o aprimoramento das técnicas de desenvolvimento, ajuda a desenvolver o pensamento colaborativo, melhora a capacidade de exposição de idéias além de promover o networking entre os participantes.”<br />Igor Kondrasovas<br />
  • 58. Considerações finais<br />36<br />Não aperte o botão de desistência<br />
  • 59. Dúvidas?CodingDojo<br />LorivalSmolskiChapuis<br />MCP, MCTS ASP.NET, MCPD ASP.NET<br />http://blog.lorival.com / lorival@chapuis.com.br<br />XII Semana da Computação<br />Universidade do Estado de Santa Catarina – UDESC 2010<br />

×