SlideShare une entreprise Scribd logo
1  sur  55
Coding Dojo
                     AgilePrague 2012
  Johannes Brodwall, Principal Architect
                         Steria Norway

                          @jhannes
Prague Coding Dojo?
http://johannesbrodwall.com/2011/12/18/
             how-to-start-a-coding-dojo/
Motivation
Master programming
through practice
What does good
                  programming mean
                  for you?

What do you want to get
out of the day?

             How do you want to
             apply this tomorrow?
Agenda
•   9:10: Demo of TDD and pair programming
•   9:20: Randori style Leap Years kata with everyone
•   9:40: Paired style Prime Factors
•   10:10: Retrospective
•   10:30: Paired style Prime Factors, take 2
•   11:00: Coding dojo 2:
            Romans if you’re slow,
            Yahtzee if you’re quick,
            minesweeper if you’re smart
•   12:00: Retrospective
•   12:15: Lunch (?)
•   13:00: Extreme startup – first round
•   13:30: Break
•   13:45: Extreme startup – second round
•   15:45: Wrap-up
TDD
TDD
      No code without test
   Just enough test to red
Just enough code to green
              (+ refactor!)
Pair programming
Ping/pong
Driver/Navigator
Failing test

               Write code


               Failing test

Write code


Failing test
Failing test

                            Write code
                      Refactor code
                        and tests
                            Failing test
Write code
      Refactor code
        and tests
Failing test
What benefits can you get
 from pair programming?
Kata 0: Leap Year
Kata 1: Prime
      factors
Kata: Prime factors
                              1 => []
                             2 => [2]
                             3 => [3]
                           4 => [2,2]
                                   …
2*2*13*17*23*23 => [2,2,13,17,23,23]
How did your choice of
      language help/hurt?


                                 Did you change
 What tests did you              drivers at good
 start with?
                                 frequency?
Which tests didn’t
help you?                      How did you determine
                               next test?

                       How did the solution
                       end up looking?
What surprised you?

What did you learn?


             What do you want to
             achieve next round?
Kata 2a:
Minesweeper
Given:
var minefield = new Minefield([
              "....",
              ".*..",
              ".*.*",
              "...*“ ])
What surprised you?

What did you learn?


             What do you want to
             achieve next round?
How did your choice of
      language help/hurt?


                                Did you change
 What tests did you             drivers at good
 start with?
                                frequency?
Which tests didn’t
help you?                      How did you determine
                               next test?
                   How did the boundary
                   conditions affect your
                   test and code?
Kata 2b: Yahtzee
Kata: Yahtzee
                                  ({1,1,1,1,1}, «ones»} => 5
                                 ({1,1,1,1,1}, «sixes»} => 0
                             ({1,1,1,1,1}, «yahtzee»} => 50

                    Ones, twos, threes, fours, fives, sixes
Pair, two pairs, three of a kind, four of a kind, full house
                                                     Yahtzee
                                Little straight, big straight
                                                     Chance
What surprised you?

What did you learn?


             What do you want to
             achieve next round?
How did your choice of
      language help/hurt?


                                  Did you change
 What tests did you               drivers at good
 start with?
                                  frequency?
Which tests didn’t
help you?                      How did you determine
                               next test?
                   What is ({2,2,3,6,6}, «pair»)?
Kata 2c: Romans
Kata: Romans
              1 => I
             5 => V
   1999 => MCMXCIX
What surprised you?

What did you learn?


             What do you want to
             achieve next round?
How did your choice of
      language help/hurt?


                                 Did you change
 What tests did you              drivers at good
 start with?
                                 frequency?
Which tests didn’t
help you?                      How did you determine
                               next test?
                   How did you implement
                   rules for «IV» etc?
Extreme startup
The Extreme startup code
             competition
     By Matt Wynne and Robert Chatly
Orientation
          Download starting point
(http://github.com/steria/extreme_startup_servers)

                              Start server
                                 Register
                   (http://192.168.155.249:3000/)

                       Solve questions
Rules
                    Cheat like mad!
                 Only results matter
         No destruction of property
                    Obey local laws
Don’t f$%! with workshop computer
Guidelines
               Work as you like
(Tip: Use a language you know)
              Help those behind
  Upload your code (if possible)
Orientation
          Download starting point
(http://github.com/steria/extreme_startup_servers)

                              Start server
                                 Register
                      (http://192.168.155.249:3000/)

                       Solve questions
Form teams!
Round 1
Round 1
 (fight!)
Round 1:
Retrospective
What surprised you?

What did you learn?


             What do you want to
             achieve next round?
Round 2
Round 2
 (fight!)
Round 2:
Retrospective
Course
Retrospective
What surprised you?

What did you learn?


             How will you change
             how you work?
Testing?
 How did you mess up?
How did you cheat?
                            Which questions did
                            you solve?

                        Annoying questions?

  Teamwork?
Thank you
     johannes@brodwall.com

  http://johannesbrodwall.com

    http://twitter.com/jhannes

Contenu connexe

Similaire à Agile Prague Coding Dojo

Test Driving Legacy Code Mini Workshop
Test Driving Legacy Code Mini WorkshopTest Driving Legacy Code Mini Workshop
Test Driving Legacy Code Mini WorkshopFernando Cuenca
 
Experience Agile Programming - Kiev
Experience Agile Programming - KievExperience Agile Programming - Kiev
Experience Agile Programming - KievJohannes Brodwall
 
WeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming LiveWeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming LiveJohannes Brodwall
 
Agile Programming Live - AgilePrague2012
Agile Programming Live - AgilePrague2012Agile Programming Live - AgilePrague2012
Agile Programming Live - AgilePrague2012Johannes Brodwall
 
2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming liveJohannes Brodwall
 
Open source bridge testing antipatterns presentation
Open source bridge testing antipatterns presentationOpen source bridge testing antipatterns presentation
Open source bridge testing antipatterns presentationmmrobins
 
The Ultimate Metric
The Ultimate MetricThe Ultimate Metric
The Ultimate MetricArty Starr
 
Test-Driven Development
 Test-Driven Development  Test-Driven Development
Test-Driven Development Amir Assad
 
Experience Agile Programming
Experience Agile ProgrammingExperience Agile Programming
Experience Agile ProgrammingJohannes Brodwall
 
Dark Matter, Public Health, and Scientific Computing
Dark Matter, Public Health, and Scientific ComputingDark Matter, Public Health, and Scientific Computing
Dark Matter, Public Health, and Scientific ComputingGreg Wilson
 
Virtual Teams and Liberating Structures Blended Session at #SFAddis
Virtual Teams and Liberating Structures Blended Session at #SFAddisVirtual Teams and Liberating Structures Blended Session at #SFAddis
Virtual Teams and Liberating Structures Blended Session at #SFAddisNancy Wright White
 
TDD: seriously, try it! 
TDD: seriously, try it! TDD: seriously, try it! 
TDD: seriously, try it! Nacho Cougil
 
The Tiny Game Design Tool
The Tiny Game Design ToolThe Tiny Game Design Tool
The Tiny Game Design ToolFederico Fasce
 
Global Day of Coderetreat Munich 2018
Global Day of Coderetreat Munich 2018Global Day of Coderetreat Munich 2018
Global Day of Coderetreat Munich 2018David Völkel
 
Software Analytics
Software AnalyticsSoftware Analytics
Software AnalyticsAndy Zaidman
 
Intro to Games User Research Methods - March 2013
Intro to Games User Research Methods - March 2013Intro to Games User Research Methods - March 2013
Intro to Games User Research Methods - March 2013Ben Lewis-Evans
 
Scrum Master as a Facilitator
Scrum Master as a FacilitatorScrum Master as a Facilitator
Scrum Master as a FacilitatorIlan Kirschenbaum
 

Similaire à Agile Prague Coding Dojo (20)

Test Driving Legacy Code Mini Workshop
Test Driving Legacy Code Mini WorkshopTest Driving Legacy Code Mini Workshop
Test Driving Legacy Code Mini Workshop
 
Experience Agile Programming - Kiev
Experience Agile Programming - KievExperience Agile Programming - Kiev
Experience Agile Programming - Kiev
 
WeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming LiveWeActuallyBuildStuff - Extreme Programming Live
WeActuallyBuildStuff - Extreme Programming Live
 
Agile Programming Live - AgilePrague2012
Agile Programming Live - AgilePrague2012Agile Programming Live - AgilePrague2012
Agile Programming Live - AgilePrague2012
 
2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live2013 09-11 java zone - extreme programming live
2013 09-11 java zone - extreme programming live
 
Open source bridge testing antipatterns presentation
Open source bridge testing antipatterns presentationOpen source bridge testing antipatterns presentation
Open source bridge testing antipatterns presentation
 
The Ultimate Metric
The Ultimate MetricThe Ultimate Metric
The Ultimate Metric
 
Test-Driven Development
 Test-Driven Development  Test-Driven Development
Test-Driven Development
 
Workshop: Understanding our challenges
Workshop: Understanding our challengesWorkshop: Understanding our challenges
Workshop: Understanding our challenges
 
Code Retreat
Code RetreatCode Retreat
Code Retreat
 
Unit testing-patterns
Unit testing-patternsUnit testing-patterns
Unit testing-patterns
 
Experience Agile Programming
Experience Agile ProgrammingExperience Agile Programming
Experience Agile Programming
 
Dark Matter, Public Health, and Scientific Computing
Dark Matter, Public Health, and Scientific ComputingDark Matter, Public Health, and Scientific Computing
Dark Matter, Public Health, and Scientific Computing
 
Virtual Teams and Liberating Structures Blended Session at #SFAddis
Virtual Teams and Liberating Structures Blended Session at #SFAddisVirtual Teams and Liberating Structures Blended Session at #SFAddis
Virtual Teams and Liberating Structures Blended Session at #SFAddis
 
TDD: seriously, try it! 
TDD: seriously, try it! TDD: seriously, try it! 
TDD: seriously, try it! 
 
The Tiny Game Design Tool
The Tiny Game Design ToolThe Tiny Game Design Tool
The Tiny Game Design Tool
 
Global Day of Coderetreat Munich 2018
Global Day of Coderetreat Munich 2018Global Day of Coderetreat Munich 2018
Global Day of Coderetreat Munich 2018
 
Software Analytics
Software AnalyticsSoftware Analytics
Software Analytics
 
Intro to Games User Research Methods - March 2013
Intro to Games User Research Methods - March 2013Intro to Games User Research Methods - March 2013
Intro to Games User Research Methods - March 2013
 
Scrum Master as a Facilitator
Scrum Master as a FacilitatorScrum Master as a Facilitator
Scrum Master as a Facilitator
 

Plus de Johannes Brodwall

Build Your Stuff with Privacy by Design
Build Your Stuff with Privacy by DesignBuild Your Stuff with Privacy by Design
Build Your Stuff with Privacy by DesignJohannes Brodwall
 
Remote Pair Programming (Agile India)
Remote Pair Programming (Agile India)Remote Pair Programming (Agile India)
Remote Pair Programming (Agile India)Johannes Brodwall
 
Getting your project off the ground (BuildStuffLt)
Getting your project off the ground (BuildStuffLt)Getting your project off the ground (BuildStuffLt)
Getting your project off the ground (BuildStuffLt)Johannes Brodwall
 
Remote pair programming (BuildStuffLt)
Remote pair programming (BuildStuffLt)Remote pair programming (BuildStuffLt)
Remote pair programming (BuildStuffLt)Johannes Brodwall
 
DevDay.lk - Bare Knuckle Web Development
DevDay.lk - Bare Knuckle Web DevelopmentDevDay.lk - Bare Knuckle Web Development
DevDay.lk - Bare Knuckle Web DevelopmentJohannes Brodwall
 
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZoneExtreme Programming Live - JavaZone
Extreme Programming Live - JavaZoneJohannes Brodwall
 
2013 08-07 agile 2013 - remote pair programming
2013 08-07 agile 2013 - remote pair programming2013 08-07 agile 2013 - remote pair programming
2013 08-07 agile 2013 - remote pair programmingJohannes Brodwall
 
Bare-Bones Software Architecture
Bare-Bones Software ArchitectureBare-Bones Software Architecture
Bare-Bones Software ArchitectureJohannes Brodwall
 
Agile Architecture in Odessa
Agile Architecture in OdessaAgile Architecture in Odessa
Agile Architecture in OdessaJohannes Brodwall
 
Bare-knuckle web development
Bare-knuckle web developmentBare-knuckle web development
Bare-knuckle web developmentJohannes Brodwall
 
Agile Contracts - AgilePrague2012
Agile Contracts - AgilePrague2012Agile Contracts - AgilePrague2012
Agile Contracts - AgilePrague2012Johannes Brodwall
 
2011 09-17 tampere - the practicing programmer
2011 09-17 tampere - the practicing programmer2011 09-17 tampere - the practicing programmer
2011 09-17 tampere - the practicing programmerJohannes Brodwall
 
Use Scenarios for your product backlog
Use Scenarios for your product backlogUse Scenarios for your product backlog
Use Scenarios for your product backlogJohannes Brodwall
 
Extending Continuous Integration
Extending Continuous IntegrationExtending Continuous Integration
Extending Continuous IntegrationJohannes Brodwall
 

Plus de Johannes Brodwall (19)

Build Your Stuff with Privacy by Design
Build Your Stuff with Privacy by DesignBuild Your Stuff with Privacy by Design
Build Your Stuff with Privacy by Design
 
The new new mobile web
The new new mobile webThe new new mobile web
The new new mobile web
 
Remote Pair Programming (Agile India)
Remote Pair Programming (Agile India)Remote Pair Programming (Agile India)
Remote Pair Programming (Agile India)
 
Getting your project off the ground (BuildStuffLt)
Getting your project off the ground (BuildStuffLt)Getting your project off the ground (BuildStuffLt)
Getting your project off the ground (BuildStuffLt)
 
Remote pair programming (BuildStuffLt)
Remote pair programming (BuildStuffLt)Remote pair programming (BuildStuffLt)
Remote pair programming (BuildStuffLt)
 
DevDay.lk - Bare Knuckle Web Development
DevDay.lk - Bare Knuckle Web DevelopmentDevDay.lk - Bare Knuckle Web Development
DevDay.lk - Bare Knuckle Web Development
 
Extreme Programming Live - JavaZone
Extreme Programming Live - JavaZoneExtreme Programming Live - JavaZone
Extreme Programming Live - JavaZone
 
2013 08-07 agile 2013 - remote pair programming
2013 08-07 agile 2013 - remote pair programming2013 08-07 agile 2013 - remote pair programming
2013 08-07 agile 2013 - remote pair programming
 
Bare-Bones Software Architecture
Bare-Bones Software ArchitectureBare-Bones Software Architecture
Bare-Bones Software Architecture
 
Agile Architecture in Odessa
Agile Architecture in OdessaAgile Architecture in Odessa
Agile Architecture in Odessa
 
Bare-knuckle web development
Bare-knuckle web developmentBare-knuckle web development
Bare-knuckle web development
 
Agile Architecture
Agile ArchitectureAgile Architecture
Agile Architecture
 
Agile Contracts - AgilePrague2012
Agile Contracts - AgilePrague2012Agile Contracts - AgilePrague2012
Agile Contracts - AgilePrague2012
 
Smidig Stykkpriskontrakt
Smidig StykkpriskontraktSmidig Stykkpriskontrakt
Smidig Stykkpriskontrakt
 
Agile Contracts
Agile ContractsAgile Contracts
Agile Contracts
 
Smidig ansvarsprosjekt
Smidig ansvarsprosjektSmidig ansvarsprosjekt
Smidig ansvarsprosjekt
 
2011 09-17 tampere - the practicing programmer
2011 09-17 tampere - the practicing programmer2011 09-17 tampere - the practicing programmer
2011 09-17 tampere - the practicing programmer
 
Use Scenarios for your product backlog
Use Scenarios for your product backlogUse Scenarios for your product backlog
Use Scenarios for your product backlog
 
Extending Continuous Integration
Extending Continuous IntegrationExtending Continuous Integration
Extending Continuous Integration
 

Dernier

Models in Deira 0567006274 Deira Call girl Service
Models in Deira 0567006274 Deira Call girl ServiceModels in Deira 0567006274 Deira Call girl Service
Models in Deira 0567006274 Deira Call girl ServiceMonica Sydney
 
Gonda Nitya salvi 8617370543 VIP model college girls ...
Gonda Nitya salvi 8617370543 VIP model college girls ...Gonda Nitya salvi 8617370543 VIP model college girls ...
Gonda Nitya salvi 8617370543 VIP model college girls ...Nitya salvi
 
Call Girls in Kollam - 9332606886 Our call girls are sure to provide you with...
Call Girls in Kollam - 9332606886 Our call girls are sure to provide you with...Call Girls in Kollam - 9332606886 Our call girls are sure to provide you with...
Call Girls in Kollam - 9332606886 Our call girls are sure to provide you with...call girls kolkata
 
Deira call girls 0507330913 Call girls in Deira
Deira call girls 0507330913  Call girls in DeiraDeira call girls 0507330913  Call girls in Deira
Deira call girls 0507330913 Call girls in DeiraMonica Sydney
 
Mandvi (Ahemdabad) Escorts 6367492432 with Real Phone number and Model
Mandvi (Ahemdabad) Escorts 6367492432 with Real Phone number and ModelMandvi (Ahemdabad) Escorts 6367492432 with Real Phone number and Model
Mandvi (Ahemdabad) Escorts 6367492432 with Real Phone number and Modelhotbabesbook
 
Dubai Call Girls 0556255850 Call girls in Dubai
Dubai Call Girls 0556255850 Call girls in DubaiDubai Call Girls 0556255850 Call girls in Dubai
Dubai Call Girls 0556255850 Call girls in DubaiMonica Sydney
 
Call Girls Bhubaneswar 0000000000 call me Independent Escort Service Bhubaneswar
Call Girls Bhubaneswar 0000000000 call me Independent Escort Service BhubaneswarCall Girls Bhubaneswar 0000000000 call me Independent Escort Service Bhubaneswar
Call Girls Bhubaneswar 0000000000 call me Independent Escort Service BhubaneswarCall Girls Mumbai
 
Satara call girl 8617370543♥️ call girls in satara escort service
Satara call girl 8617370543♥️ call girls in satara escort serviceSatara call girl 8617370543♥️ call girls in satara escort service
Satara call girl 8617370543♥️ call girls in satara escort serviceNitya salvi
 
Codes and conventions of film magazines.pptx
Codes and conventions of film magazines.pptxCodes and conventions of film magazines.pptx
Codes and conventions of film magazines.pptxCharlotte512934
 
Hire 💕 8617370543 Auraiya Call Girls Service Call Girls Agency
Hire 💕 8617370543 Auraiya Call Girls Service Call Girls AgencyHire 💕 8617370543 Auraiya Call Girls Service Call Girls Agency
Hire 💕 8617370543 Auraiya Call Girls Service Call Girls AgencyNitya salvi
 
VIP Bhiwandi Phone 8250092165 Escorts Service +Call +Girls Along With Ac Room
VIP Bhiwandi Phone 8250092165 Escorts Service +Call +Girls Along With Ac RoomVIP Bhiwandi Phone 8250092165 Escorts Service +Call +Girls Along With Ac Room
VIP Bhiwandi Phone 8250092165 Escorts Service +Call +Girls Along With Ac Roommeghakumariji156
 
Bhubaneswar🌹Call Girls Kalpana Mesuem ❤Komal 0000000000 💟 Full Trusted CALL ...
Bhubaneswar🌹Call Girls Kalpana Mesuem  ❤Komal 0000000000 💟 Full Trusted CALL ...Bhubaneswar🌹Call Girls Kalpana Mesuem  ❤Komal 0000000000 💟 Full Trusted CALL ...
Bhubaneswar🌹Call Girls Kalpana Mesuem ❤Komal 0000000000 💟 Full Trusted CALL ...Call Girls Mumbai
 
Call Girls Bijnor Just Call 8617370543 Top Class Call Girl Service Available
Call Girls Bijnor  Just Call 8617370543 Top Class Call Girl Service AvailableCall Girls Bijnor  Just Call 8617370543 Top Class Call Girl Service Available
Call Girls Bijnor Just Call 8617370543 Top Class Call Girl Service AvailableNitya salvi
 
Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...
Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...
Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...call girls kolkata
 
Call Girls Kozhikode - 9332606886 Our call girls are sure to provide you with...
Call Girls Kozhikode - 9332606886 Our call girls are sure to provide you with...Call Girls Kozhikode - 9332606886 Our call girls are sure to provide you with...
Call Girls Kozhikode - 9332606886 Our call girls are sure to provide you with...call girls kolkata
 
Call Girls in Nizampet / 8250092165 Genuine Call girls with real Photos and N...
Call Girls in Nizampet / 8250092165 Genuine Call girls with real Photos and N...Call Girls in Nizampet / 8250092165 Genuine Call girls with real Photos and N...
Call Girls in Nizampet / 8250092165 Genuine Call girls with real Photos and N...kumargunjan9515
 
Thane Female Escorts-✔9833754194-Kalyan Reasonalble Escorts-Kurla Independent...
Thane Female Escorts-✔9833754194-Kalyan Reasonalble Escorts-Kurla Independent...Thane Female Escorts-✔9833754194-Kalyan Reasonalble Escorts-Kurla Independent...
Thane Female Escorts-✔9833754194-Kalyan Reasonalble Escorts-Kurla Independent...priyasharma62062
 
Call girls Service in Deira 0507330913 Deira Call girls
Call girls Service in Deira 0507330913 Deira Call girlsCall girls Service in Deira 0507330913 Deira Call girls
Call girls Service in Deira 0507330913 Deira Call girlsMonica Sydney
 

Dernier (20)

Models in Deira 0567006274 Deira Call girl Service
Models in Deira 0567006274 Deira Call girl ServiceModels in Deira 0567006274 Deira Call girl Service
Models in Deira 0567006274 Deira Call girl Service
 
Gonda Nitya salvi 8617370543 VIP model college girls ...
Gonda Nitya salvi 8617370543 VIP model college girls ...Gonda Nitya salvi 8617370543 VIP model college girls ...
Gonda Nitya salvi 8617370543 VIP model college girls ...
 
Vip Models Escorts in Lahore 03068178123
Vip Models Escorts in Lahore 03068178123Vip Models Escorts in Lahore 03068178123
Vip Models Escorts in Lahore 03068178123
 
Call Girls in Kollam - 9332606886 Our call girls are sure to provide you with...
Call Girls in Kollam - 9332606886 Our call girls are sure to provide you with...Call Girls in Kollam - 9332606886 Our call girls are sure to provide you with...
Call Girls in Kollam - 9332606886 Our call girls are sure to provide you with...
 
Deira call girls 0507330913 Call girls in Deira
Deira call girls 0507330913  Call girls in DeiraDeira call girls 0507330913  Call girls in Deira
Deira call girls 0507330913 Call girls in Deira
 
Mandvi (Ahemdabad) Escorts 6367492432 with Real Phone number and Model
Mandvi (Ahemdabad) Escorts 6367492432 with Real Phone number and ModelMandvi (Ahemdabad) Escorts 6367492432 with Real Phone number and Model
Mandvi (Ahemdabad) Escorts 6367492432 with Real Phone number and Model
 
Dubai Call Girls 0556255850 Call girls in Dubai
Dubai Call Girls 0556255850 Call girls in DubaiDubai Call Girls 0556255850 Call girls in Dubai
Dubai Call Girls 0556255850 Call girls in Dubai
 
Call Girls Bhubaneswar 0000000000 call me Independent Escort Service Bhubaneswar
Call Girls Bhubaneswar 0000000000 call me Independent Escort Service BhubaneswarCall Girls Bhubaneswar 0000000000 call me Independent Escort Service Bhubaneswar
Call Girls Bhubaneswar 0000000000 call me Independent Escort Service Bhubaneswar
 
Satara call girl 8617370543♥️ call girls in satara escort service
Satara call girl 8617370543♥️ call girls in satara escort serviceSatara call girl 8617370543♥️ call girls in satara escort service
Satara call girl 8617370543♥️ call girls in satara escort service
 
Codes and conventions of film magazines.pptx
Codes and conventions of film magazines.pptxCodes and conventions of film magazines.pptx
Codes and conventions of film magazines.pptx
 
Hire 💕 8617370543 Auraiya Call Girls Service Call Girls Agency
Hire 💕 8617370543 Auraiya Call Girls Service Call Girls AgencyHire 💕 8617370543 Auraiya Call Girls Service Call Girls Agency
Hire 💕 8617370543 Auraiya Call Girls Service Call Girls Agency
 
VIP Bhiwandi Phone 8250092165 Escorts Service +Call +Girls Along With Ac Room
VIP Bhiwandi Phone 8250092165 Escorts Service +Call +Girls Along With Ac RoomVIP Bhiwandi Phone 8250092165 Escorts Service +Call +Girls Along With Ac Room
VIP Bhiwandi Phone 8250092165 Escorts Service +Call +Girls Along With Ac Room
 
Bhubaneswar🌹Call Girls Kalpana Mesuem ❤Komal 0000000000 💟 Full Trusted CALL ...
Bhubaneswar🌹Call Girls Kalpana Mesuem  ❤Komal 0000000000 💟 Full Trusted CALL ...Bhubaneswar🌹Call Girls Kalpana Mesuem  ❤Komal 0000000000 💟 Full Trusted CALL ...
Bhubaneswar🌹Call Girls Kalpana Mesuem ❤Komal 0000000000 💟 Full Trusted CALL ...
 
Call Girls Bijnor Just Call 8617370543 Top Class Call Girl Service Available
Call Girls Bijnor  Just Call 8617370543 Top Class Call Girl Service AvailableCall Girls Bijnor  Just Call 8617370543 Top Class Call Girl Service Available
Call Girls Bijnor Just Call 8617370543 Top Class Call Girl Service Available
 
Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...
Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...
Call Girls in Ernakulam - 9332606886 Our call girls are sure to provide you w...
 
Call Girls Kozhikode - 9332606886 Our call girls are sure to provide you with...
Call Girls Kozhikode - 9332606886 Our call girls are sure to provide you with...Call Girls Kozhikode - 9332606886 Our call girls are sure to provide you with...
Call Girls Kozhikode - 9332606886 Our call girls are sure to provide you with...
 
Abortion pills in Saudi RIYADH (+919707899604 } Get Cytotec
Abortion pills in Saudi RIYADH (+919707899604 } Get CytotecAbortion pills in Saudi RIYADH (+919707899604 } Get Cytotec
Abortion pills in Saudi RIYADH (+919707899604 } Get Cytotec
 
Call Girls in Nizampet / 8250092165 Genuine Call girls with real Photos and N...
Call Girls in Nizampet / 8250092165 Genuine Call girls with real Photos and N...Call Girls in Nizampet / 8250092165 Genuine Call girls with real Photos and N...
Call Girls in Nizampet / 8250092165 Genuine Call girls with real Photos and N...
 
Thane Female Escorts-✔9833754194-Kalyan Reasonalble Escorts-Kurla Independent...
Thane Female Escorts-✔9833754194-Kalyan Reasonalble Escorts-Kurla Independent...Thane Female Escorts-✔9833754194-Kalyan Reasonalble Escorts-Kurla Independent...
Thane Female Escorts-✔9833754194-Kalyan Reasonalble Escorts-Kurla Independent...
 
Call girls Service in Deira 0507330913 Deira Call girls
Call girls Service in Deira 0507330913 Deira Call girlsCall girls Service in Deira 0507330913 Deira Call girls
Call girls Service in Deira 0507330913 Deira Call girls
 

Agile Prague Coding Dojo

  • 1. Coding Dojo AgilePrague 2012 Johannes Brodwall, Principal Architect Steria Norway @jhannes
  • 2.
  • 3.
  • 4.
  • 5.
  • 10. What does good programming mean for you? What do you want to get out of the day? How do you want to apply this tomorrow?
  • 12. 9:10: Demo of TDD and pair programming • 9:20: Randori style Leap Years kata with everyone • 9:40: Paired style Prime Factors • 10:10: Retrospective • 10:30: Paired style Prime Factors, take 2 • 11:00: Coding dojo 2: Romans if you’re slow, Yahtzee if you’re quick, minesweeper if you’re smart • 12:00: Retrospective • 12:15: Lunch (?) • 13:00: Extreme startup – first round • 13:30: Break • 13:45: Extreme startup – second round • 15:45: Wrap-up
  • 13. TDD
  • 14. TDD No code without test Just enough test to red Just enough code to green (+ refactor!)
  • 17. Failing test Write code Failing test Write code Failing test
  • 18. Failing test Write code Refactor code and tests Failing test Write code Refactor code and tests Failing test
  • 19. What benefits can you get from pair programming?
  • 20. Kata 0: Leap Year
  • 21. Kata 1: Prime factors
  • 22. Kata: Prime factors 1 => [] 2 => [2] 3 => [3] 4 => [2,2] … 2*2*13*17*23*23 => [2,2,13,17,23,23]
  • 23. How did your choice of language help/hurt? Did you change What tests did you drivers at good start with? frequency? Which tests didn’t help you? How did you determine next test? How did the solution end up looking?
  • 24. What surprised you? What did you learn? What do you want to achieve next round?
  • 26. Given: var minefield = new Minefield([ "....", ".*..", ".*.*", "...*“ ])
  • 27.
  • 28. What surprised you? What did you learn? What do you want to achieve next round?
  • 29. How did your choice of language help/hurt? Did you change What tests did you drivers at good start with? frequency? Which tests didn’t help you? How did you determine next test? How did the boundary conditions affect your test and code?
  • 31. Kata: Yahtzee ({1,1,1,1,1}, «ones»} => 5 ({1,1,1,1,1}, «sixes»} => 0 ({1,1,1,1,1}, «yahtzee»} => 50 Ones, twos, threes, fours, fives, sixes Pair, two pairs, three of a kind, four of a kind, full house Yahtzee Little straight, big straight Chance
  • 32. What surprised you? What did you learn? What do you want to achieve next round?
  • 33. How did your choice of language help/hurt? Did you change What tests did you drivers at good start with? frequency? Which tests didn’t help you? How did you determine next test? What is ({2,2,3,6,6}, «pair»)?
  • 35. Kata: Romans 1 => I 5 => V 1999 => MCMXCIX
  • 36. What surprised you? What did you learn? What do you want to achieve next round?
  • 37. How did your choice of language help/hurt? Did you change What tests did you drivers at good start with? frequency? Which tests didn’t help you? How did you determine next test? How did you implement rules for «IV» etc?
  • 39. The Extreme startup code competition By Matt Wynne and Robert Chatly
  • 40. Orientation Download starting point (http://github.com/steria/extreme_startup_servers) Start server Register (http://192.168.155.249:3000/) Solve questions
  • 41. Rules Cheat like mad! Only results matter No destruction of property Obey local laws Don’t f$%! with workshop computer
  • 42. Guidelines Work as you like (Tip: Use a language you know) Help those behind Upload your code (if possible)
  • 43. Orientation Download starting point (http://github.com/steria/extreme_startup_servers) Start server Register (http://192.168.155.249:3000/) Solve questions
  • 48. What surprised you? What did you learn? What do you want to achieve next round?
  • 53. What surprised you? What did you learn? How will you change how you work?
  • 54. Testing? How did you mess up? How did you cheat? Which questions did you solve? Annoying questions? Teamwork?
  • 55. Thank you johannes@brodwall.com http://johannesbrodwall.com http://twitter.com/jhannes

Notes de l'éditeur

  1. Note to translator: Here, I willexplainhow pair programmingcanwork in practice:One person writes a failing test and theother person writesthecode to make it pass. Thenthe person whomadethe test pass writesthenext test.In theexamplewithme and Boris, weswitched «drivers» (the person at thekeyboard) aboutonce a minute. On real lifeproject, I usuallyexperiencethatweswitch drivers everytenminutes or so.It’s alsoimportant to refactorbetween tests. I like to onlyrefactorwhenthecode is green. This way I knowthatthecodedoesn’t stop working. Therearetwoways to thinkaboutthis:Either, ifyoucan, refactorthecode and the tests a little to «getready» for thenext testOr, ifyouseethatyoucan’t make the test pass, commentout (or @Ignore) the test and refactoron green.