Coding Dojospå arbetstidfredrik.wendt@squeed.comPST, PSD, PSM I, CSM
This work byFredrik Wendtis licensed under aCreative CommonsAttribution-ShareAlike3.0 Unported Licensehttp://creativecommo...
Ditt namn, vad du gör!Vad är det?Har du eller vän deltagit?Erfarenheter från deltagande?Förväntning(-ar) på denna session!...
Learning Objectives• why you dont want to run typical generic katas• how different exercise styles matches learning patter...
➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by DoingTL;DR
➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by Doing➔ Background, context
Based on What?2 regular user groups12 teams, 9 customerspast ~ 2 years50 / 50
Taxonomy: Coding Dojo“Dojo” from martial arts/budoMeans “place for the way”
More on Coding Dojos?15% off: scrum-alliance-las-vegas-2013
Taxonomy: Kata“Kata” from martialarts/budoStart from scratch, nexttime – trynew approachPractice until masteredSmall, 1-2 ...
Presentation
Randori
Roundori
Break-out
bizCHANGE!new skillsPracticeCoding Dojo
Examples of ”Skills”TDD, Good Tests – Test DesignWorking with Legacy CodeBDD, ATDDClean Code, RefactoringPatterns, New Tec...
Examples of ”Change”New Tests Are Written!Old Tests starts passing!Code Coverage Goes Up!Everyone Cares when the build Fai...
Skill AdvancementHow comfortable were/are you with SKILL?Beginner ExpertBeforeAfterToday... ... ...
Programming LanguageHow comfortable were/are you with the programming language?Beginner ExpertBeforeAfterToday... ... ...
IDE-editorHow comfortable were/are you with the IDE-editor?Beginner ExpertBeforeAfterToday... ... ...
Unit TestsHow often did/do you write unit tests?Beginner ExpertBeforeAfterToday... ... ...
Test-Driven DevelopmentHow good at test-driven development were/are you?Beginner ExpertBeforeAfterToday... ... ...
Mock ObjectsHow comfortable were/are you at using Mock objects?Beginner ExpertBeforeAfterToday... ... ...
RefactoringHow good at refactoring were/are you?Beginner ExpertBeforeAfterToday... ... ...
➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by Doing➔ Background, context
Coding dojo!Vad tror du behövs för lärande på arbetsplatsen?(Skills, Change – subjektiva resultat)Pros/cons – olika sätt a...
➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by Doing➔ Background, context
➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by Doing
Safe Environment for LearningNo salary setting managers in the roomTalk about how humans learn!Show attendees –what: learn...
➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by Doing
➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by Doing
Different Mind-Set!Attend out of own interest vs told to attendTelling is not enoughShowing is not enoughNeed to experienc...
Must Feel Real!Enterprise Java BeansJava Persistence APIjavax.servlet.*String Calculator? Fizz Buzz?Roman Numerals? MMXIII...
Example: servlet.Filter• Kata Java EE Authentication Filter• Uses javax.servlet.* API• Uses 2 custom interfaces• Show clas...
request is part ofHTTP Session?get token from sessionSSO token is valid?pass request ondown the filter chainreturn;throw A...
public interface UserAccountRegistry {boolean credentialsAreValid(String username,String password);}public interface Singl...
Break-out
Break-out
Break-out
➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by Doing
➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by Doing
Format15 90 1540 – 10 – 40ContextUnderstand exerciseFail in order to learnTools? Techniques?“Seeing is believing”DOReview,...
Learning by DoingRepeat exercisewithout trainer,same time, place, people”I can do this on my own”vs”only works for others”
Repetition Mother of LearningE-mail with kata,retrospective notes,learning objectives,ask if theyve uncovered newinsights/...
➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by DoingSummary
Learning Objectives• why you dont want to run typical generic katas• how different exercise styles matches learning patter...
MORE!• Fruit, Candy, Coffee, Sugar!• Whole team vs mixed teams• Management buy-in – S-curve/hockey stick in learning• Prod...
NO MORE!”Anti patterns”:• Too complex problem• Too complex biz rules (or game rules)• Too huge data model – poker hands ka...
Upcoming SlideShare
Loading in …5
×

Coding dojos på arbetstid

381 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
381
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
5
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Coding dojos på arbetstid

  1. 1. Coding Dojospå arbetstidfredrik.wendt@squeed.comPST, PSD, PSM I, CSM
  2. 2. This work byFredrik Wendtis licensed under aCreative CommonsAttribution-ShareAlike3.0 Unported Licensehttp://creativecommons.org/licenses/by-sa/3.0/
  3. 3. Ditt namn, vad du gör!Vad är det?Har du eller vän deltagit?Erfarenheter från deltagande?Förväntning(-ar) på denna session!Coding Dojo!
  4. 4. Learning Objectives• why you dont want to run typical generic katas• how different exercise styles matches learning patterns,skills and objectives of the dojo• some things to think about when facilitating dojo sessions• how I convince companies to see coding dojos as an investwith short ROI• what skill advancements you might expect from codingdojos• how a successfully run dojo may impact "soft values"
  5. 5. ➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by DoingTL;DR
  6. 6. ➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by Doing➔ Background, context
  7. 7. Based on What?2 regular user groups12 teams, 9 customerspast ~ 2 years50 / 50
  8. 8. Taxonomy: Coding Dojo“Dojo” from martial arts/budoMeans “place for the way”
  9. 9. More on Coding Dojos?15% off: scrum-alliance-las-vegas-2013
  10. 10. Taxonomy: Kata“Kata” from martialarts/budoStart from scratch, nexttime – trynew approachPractice until masteredSmall, 1-2 hrs
  11. 11. Presentation
  12. 12. Randori
  13. 13. Roundori
  14. 14. Break-out
  15. 15. bizCHANGE!new skillsPracticeCoding Dojo
  16. 16. Examples of ”Skills”TDD, Good Tests – Test DesignWorking with Legacy CodeBDD, ATDDClean Code, RefactoringPatterns, New TechnologiesPair Programming
  17. 17. Examples of ”Change”New Tests Are Written!Old Tests starts passing!Code Coverage Goes Up!Everyone Cares when the build Fails!Technology Shift – “On” Plan
  18. 18. Skill AdvancementHow comfortable were/are you with SKILL?Beginner ExpertBeforeAfterToday... ... ...
  19. 19. Programming LanguageHow comfortable were/are you with the programming language?Beginner ExpertBeforeAfterToday... ... ...
  20. 20. IDE-editorHow comfortable were/are you with the IDE-editor?Beginner ExpertBeforeAfterToday... ... ...
  21. 21. Unit TestsHow often did/do you write unit tests?Beginner ExpertBeforeAfterToday... ... ...
  22. 22. Test-Driven DevelopmentHow good at test-driven development were/are you?Beginner ExpertBeforeAfterToday... ... ...
  23. 23. Mock ObjectsHow comfortable were/are you at using Mock objects?Beginner ExpertBeforeAfterToday... ... ...
  24. 24. RefactoringHow good at refactoring were/are you?Beginner ExpertBeforeAfterToday... ... ...
  25. 25. ➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by Doing➔ Background, context
  26. 26. Coding dojo!Vad tror du behövs för lärande på arbetsplatsen?(Skills, Change – subjektiva resultat)Pros/cons – olika sätt att organisera sig?(Presentation, Randori, break-out)
  27. 27. ➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by Doing➔ Background, context
  28. 28. ➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by Doing
  29. 29. Safe Environment for LearningNo salary setting managers in the roomTalk about how humans learn!Show attendees –what: learning objectivehow: seeing is believing
  30. 30. ➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by Doing
  31. 31. ➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by Doing
  32. 32. Different Mind-Set!Attend out of own interest vs told to attendTelling is not enoughShowing is not enoughNeed to experience to believe & understandProduction like, see its doable outside dojo
  33. 33. Must Feel Real!Enterprise Java BeansJava Persistence APIjavax.servlet.*String Calculator? Fizz Buzz?Roman Numerals? MMXIII?Bowling? Poker Games?
  34. 34. Example: servlet.Filter• Kata Java EE Authentication Filter• Uses javax.servlet.* API• Uses 2 custom interfaces• Show classical vs mockist style• 2nd time around Clean Code
  35. 35. request is part ofHTTP Session?get token from sessionSSO token is valid?pass request ondown the filter chainreturn;throw AuthException;resp.setStatus(401);request containsSSO cookie?SSO token is valid?request contains un& pw parameters?get token from cookieget un & pw from requestun & pw valid in LDAP?get new SSO tokenstore SSO token in cookiestore SSO token in sessionNoNoNoYesYesYesYesKataJavaEEAuthenticationFilter
  36. 36. public interface UserAccountRegistry {boolean credentialsAreValid(String username,String password);}public interface SingleSignOnRegistry {boolean tokenIsValid(String ssoToken);String requireToken(String username);void revokeToken(String ssoToken);}KataJavaEEAuthenticationFilter
  37. 37. Break-out
  38. 38. Break-out
  39. 39. Break-out
  40. 40. ➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by Doing
  41. 41. ➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by Doing
  42. 42. Format15 90 1540 – 10 – 40ContextUnderstand exerciseFail in order to learnTools? Techniques?“Seeing is believing”DOReview, FeedbackRepetitionParticipants ownwords means learning!Input to next session
  43. 43. Learning by DoingRepeat exercisewithout trainer,same time, place, people”I can do this on my own”vs”only works for others”
  44. 44. Repetition Mother of LearningE-mail with kata,retrospective notes,learning objectives,ask if theyve uncovered newinsights/experiences
  45. 45. ➔ Safe Learning Env➔ Like Production➔ Practice, Repetition –Learning by DoingSummary
  46. 46. Learning Objectives• why you dont want to run typical generic katas• how different exercise styles matches learning patterns,skills and objectives of the dojo• some things to think about when facilitating dojo sessions• how I convince companies to see coding dojos as an investwith short ROI• what skill advancements you might expect from codingdojos• how a successfully run dojo may impact "soft values"
  47. 47. MORE!• Fruit, Candy, Coffee, Sugar!• Whole team vs mixed teams• Management buy-in – S-curve/hockey stick in learning• Production like kata – 90 minute problems != realistic• 1h topic-intro (clean code), lunch, 2h exercise• 2h kata, lunch, 2h kata• 1600-1800• Come prepared, know your audience – 20 Questions• Plant a mystery
  48. 48. NO MORE!”Anti patterns”:• Too complex problem• Too complex biz rules (or game rules)• Too huge data model – poker hands kata?• Too great skill differences, depends on kata & style• “Hero”?

×