14. What did you see?
• How often did we switch ”driver”?
• Effects of pairing?
• What did the ”non-driver” do?
15. What did you see?
• Was the step size right?
• What was the first test?
• How did we decide next test?
• What was the final test?
16. What did you see?
• Language tricks?
• Did we refactor the right amount?
• How long was the code red?
• Strengths in final design
•Weaknesses in final design
51. Thank you
johannes.brodwall@steria.no
http://johannesbrodwall.com
http://twitter.com/jhannes
(Please tweet in Cyrillic with
english-like words)
Notes de l'éditeur
Note to translator: I willexplainthe game of minesweeper whileshowingthis slide.The game initiallypresents a fieldwheretherearehidden minesWhentheplayerclickson a cell, eitherhe «steps» on a mine or he reveals thecellIf he «stepson a mine», the game is over, player losesIf he reveals thecell, thecelltellshowmany mines arenext to it
Note to translator: I willexplainthe game of minesweeper whileshowingthis slide.The game initiallypresents a fieldwheretherearehidden minesWhentheplayerclickson a cell, eitherhe «steps» on a mine or he reveals thecellIf he «stepson a mine», the game is over, player losesIf he reveals thecell, thecelltellshowmany mines arenext to it
Note to translator:Here I willexplaintheworkingofthe program wewillcreate:Given a definitionof a minefieldwith mines as stars and non-mines as periods, the program should output the hints for eachcell (as in theprevious screen shot)«If you’re not familiarwith mine sweeper, youcan just ask a project manager»
Note to translator: Here, Iwill ask the English speakingmembersoftheaudience to give feedback onwhattheysaw. I will hand outchocolates to those to answer.
Note to translator: If there’s not toomany questions beforethis, I willdemonstratethiscodewith in Eclipse, ratherthan talk about it.
Note to translator: If there’s not toomany questions beforethis, I willdemonstratethiscodewith in Eclipse, ratherthan talk about it.
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.
Note to translator:Here I willexplain a «pair programming star».If the team feels it wouldbenefit from more programmers pair programmingwitheachother, youcancreate a «pair programming star».First, writethenamesofeach team member in a circleWhensomeone pair program withsomeoneelse, put a line betweentheirnamesThe resulting «star» can be used to reflectonyour team. It’s not necessarily a bad thingthat Sergey and Dmitro program together a lot, butit’sworthnoting
Note to translator: I may show a practical demo here, iftheaudiencewants it
Note to translator: On thefollowing screenshots, therearepictures from Oslo CodingDojo and Kiev CodingDojo. I willexplain (eachbulletpointononeofthefollowing slides):WemeetaboutonceeverymonthWeusuallymeet in a pub and program around a projector (withbeer!)We have also done a Code Retreat, where 24 peoplesetaside a full Saturday to practicecoding. «During theweek, youcode for money. Today, youcode for you»After I gave this talk in Kiev, AlekseySolntsev and othersorganized Kiev codingdojoAnyvolunteers to organize a CodingDojo in Moscow?