26
Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008 © ThoughtWorks 2008

Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

Embed Size (px)

Citation preview

Page 1: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

Coding Dojo: an environment for learning and sharing Agile practices

Danilo Sato, Hugo Corbucci, Mariana Bravo

Agile 2008 – Toronto - Canada

6th Aug 2008

© ThoughtWorks 2008

Page 2: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• Met Paris Dojo/Brighton Dojo @ XP2007• Since then:

– Dojo @ University of São Paulo– Dojo @ FISL– Dojo @ Campus Party– Ruby Tuesdays @ ThoughtWorks– Dojo @ Grenoble

Who are we?

© ThoughtWorks 2008

Page 3: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

Coding Dojo

Background

Principles

Rules

Formats

Dojo@SP

© ThoughtWorks 2008

Page 4: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• Code Kata– Programming exercise– Throwaway code

• Coding Dojo– Solving a Kata in a

group– Learning together

Background

© ThoughtWorks 2008

Page 5: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• Continuous Learning• Safe Environment:

– Non-competitive– Collaborative– Inclusive

• Fail & Redundancy• Baby Steps

Principles

© ThoughtWorks 2008

Page 6: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• Computer + Projector• TDD (red » green » refactor)• Everyone should understand• Always start from scratch

Rules

© ThoughtWorks 2008

Page 7: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

Formats

• Prepared Kata– Presentation of someone’s

solution from scratch– Everyone should be able to

reproduce– Interruptions allowed

• Randori– Pair programming– Time-boxed rounds (5-7m):

– Interruptions only on green

© ThoughtWorks 2008

Page 8: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• Most active Dojo in Brazil– Weekly since 12th July 2007

– 85 members (mailing list)

– 3~16 participants/meeting

• Roles: Moderator & Scribe• Process

– Problem choosing

– Problem discussion

– Coding session

– Retrospective

Coding Dojo @ São Paulo

© ThoughtWorks 2008

Page 9: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

Lessons Learned

What went well?

What went less well?

What is still puzzling?

© ThoughtWorks 2008

Page 10: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• Retrospectives– What have we learned?– What has hindered learning?

What went well?

© ThoughtWorks 2008

Page 11: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• Retrospectives– What have we learned?– What has hindered learning?

• The goal is not to finish

What went well?

© ThoughtWorks 2008

Page 12: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• Retrospectives– What have we learned?– What has hindered learning?

• The goal is not to finish• Time-boxing

What went well?

© ThoughtWorks 2008

Page 13: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• Retrospectives– What have we learned?– What has hindered learning?

• The goal is not to finish• Time-boxing• Information radiators

What went well?

© ThoughtWorks 2008

Page 14: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• Retrospectives– What have we learned?– What has hindered learning?

• The goal is not to finish• Time-boxing• Information radiators• Inspiration for the meeting

What went well?

© ThoughtWorks 2008

Page 15: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• Moderating Brazilians

What went less well?

© ThoughtWorks 2008

Page 16: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• Moderating Brazilians• TDD/BDD and algorithms

What went less well?

© ThoughtWorks 2008

Page 17: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• Moderating Brazilians• TDD/BDD and algorithms• Balancing randoris/katas

What went less well?

© ThoughtWorks 2008

Page 18: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• Moderating Brazilians• TDD/BDD and algorithms• Balancing randoris/katas• Programming Environment

What went less well?

© ThoughtWorks 2008

Page 19: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• How to reach a wider audience?

What is still puzzling?

© ThoughtWorks 2008

?

Page 20: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• How to reach a wider audience?• How to share efforts with the community?

What is still puzzling?

© ThoughtWorks 2008

Page 21: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• How to reach a wider audience?• How to share efforts with the community?• How to keep attendees engaged?

What is still puzzling?

© ThoughtWorks 2008

Page 22: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

Coding Dojo and Learning

© ThoughtWorks 2008

Page 23: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• Ericson et. Al– Expert performance is the end result of prolonged

effort– More than 10 years

Deliberate Practice

© ThoughtWorks 2008

Page 24: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• Novice• Competence• Proficient• Expert• Mastery

Dreyfus Model

© ThoughtWorks 2008

Page 25: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

• Collaboration• Self-organization• No single master• Sharing knowledge

novice competent proficient

Coding Dojo

© ThoughtWorks 2008

Page 26: Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci, Mariana Bravo Agile 2008 – Toronto - Canada 6 th Aug 2008

Questions?

© ThoughtWorks 2008