Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci,...

Post on 29-Dec-2015

215 views 2 download

Transcript of Coding Dojo: an environment for learning and sharing Agile practices Danilo Sato, Hugo Corbucci,...

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

• 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

Coding Dojo

Background

Principles

Rules

Formats

Dojo@SP

© ThoughtWorks 2008

• Code Kata– Programming exercise– Throwaway code

• Coding Dojo– Solving a Kata in a

group– Learning together

Background

© ThoughtWorks 2008

• Continuous Learning• Safe Environment:

– Non-competitive– Collaborative– Inclusive

• Fail & Redundancy• Baby Steps

Principles

© ThoughtWorks 2008

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

Rules

© ThoughtWorks 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

• 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

Lessons Learned

What went well?

What went less well?

What is still puzzling?

© ThoughtWorks 2008

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

What went well?

© ThoughtWorks 2008

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

• The goal is not to finish

What went well?

© ThoughtWorks 2008

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

• The goal is not to finish• Time-boxing

What went well?

© ThoughtWorks 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

• 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

• Moderating Brazilians

What went less well?

© ThoughtWorks 2008

• Moderating Brazilians• TDD/BDD and algorithms

What went less well?

© ThoughtWorks 2008

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

What went less well?

© ThoughtWorks 2008

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

What went less well?

© ThoughtWorks 2008

• How to reach a wider audience?

What is still puzzling?

© ThoughtWorks 2008

?

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

What is still puzzling?

© ThoughtWorks 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

Coding Dojo and Learning

© ThoughtWorks 2008

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

effort– More than 10 years

Deliberate Practice

© ThoughtWorks 2008

• Novice• Competence• Proficient• Expert• Mastery

Dreyfus Model

© ThoughtWorks 2008

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

novice competent proficient

Coding Dojo

© ThoughtWorks 2008

Questions?

© ThoughtWorks 2008