モブプログラミングをやろう!!アジャイルモンスターのモブプロ入門 #koberb

モブプログラミングをやろう!!アジャイルモンスターのモブプロ入門 #koberb

2018年3月2日(金)Kobe.rbの「モブプログラミングをやろう!! 〜アジャイルモンスターのモブプロ入門〜」にて。

95aaab3d693889550fd2e7ae02f2f789?s=128

TAKAKING22

March 02, 2018
Tweet

Transcript

  1. !5",",*/( ϞϒϓϩάϥϛϯάΛ΍Ζ͏ ʙΞδϟΠϧϞϯελʔͷϞϒϓϩೖ໳ʙ LPCFSC

  2. !5",",*/( !5",",*/( ٴ෦ܟ༤ ָఱגࣜձࣾϚοεϧΤϯδχΞ Ұൠࣾஂ๏ਓΞδϟΠϧνʔϜΛࢧ͑Δձཧࣄ ΞδϟΠϧϞϯελʔ Ϟϒϓϩάϥϛϯά͓͡͞Μ ਪ͠ϝϯɿࢁຊ࠼

  3. !5",",*/( νʔϜશһͰ ✓ ಉ͡࢓ࣄΛ ✓ ಉ࣌ؒ͡ʹ ✓ ಉ͡৔ॴͰ ✓ ಉ͡ίϯϐϡʔλʔͰ

    ͢Δ͜ͱ Ϟϒϓϩάϥϛϯάͱ͸
  4. !5",",*/( IUUQTXXXZPVUVCFDPNXBUDI WQ@QWTM4H&* "EBZPG.PC1SPHSBNNJOH )VOUFS*OEVTUSJFTͷݱ৔Ͱ ࣮ࡍʹϞϒϓϩάϥϛϯάΛ ͍ͯ͠Δ೔ΛਨΕྲྀͯ͠ࡱӨ͠ɺ ૣૹΓͰ෼ఔ౓ʹ·ͱΊͨಈըͰ͢ɻ

  5. !5",",*/( "EBZPG.PC1SPHSBNNJOH લͷಈը͔Β೥΄Ͳܦͬͯɺ Ϟϒ͕ෳ਺ʹ֦େ͠ɺ ͦΕͧΕͷϞϒͰਓ͕ߦ͖ަͬͯ ಇ͍͍ͯΔ༷ࢠΛࡱӨͨ͠ಈըͰ͢ɻ IUUQTXXXZPVUVCFDPNXBUDI WE7R6D/,7C:H

  6. !5",",*/( ✓ ָఱͷ৽نࣄۀ։ൃνʔϜ ✓ ਓνʔϜ ✓ ಇ͖ํʹϞϒϓϩάϥϛϯά ✓ Ӧۀ΋։ൃ΋اը΋ϞϒͰ ✓

    ೥݄ʙܧଓத ࢲͨͪͷϞϒϓϩάϥϛϯά
  7. !5",",*/(

  8. !5",",*/( σΟεϓϨΠ ίϯϐϡʔλʔ ͭͷσΟεϓϨΠͱͭͷίϯϐϡʔλʔ

  9. !5",",*/( υϥΠόʔ φϏήʔλʔ φϏήʔλʔ φϏήʔλʔ φϏήʔλʔ ਓͷυϥΠόʔͱෳ਺ਓͷφϏήʔλʔ

  10. !5",",*/( ϓϩςΠϯ͸͙͢ʹิڅͰ͖ΔΑ͏ʹ ϓϩςΠϯ

  11. ݸਓ࣌ؒ Ϟϒϓϥϯχϯά ϞϒϞϯΩʔςετ ϞϒϫʔΫ Ϟϒϥϯν ϞϒϫʔΫ Ϟϒ;Γ͔͑Γ ಇ͖ํͱͯ͠ͷϞϒϓϩάϥϛϯά

  12. ࡉ͔ͳϧʔϧ͸࠷ॳ͔Βઃ͚͗͢ͳ͍ Ϟϒ΁ͷग़ೖΓ͸ࣗ༝ ަ୅͸զ͕Ոํࣜʢʮ୅ΘΕʂʂʯʣ ߹Θͳ͍ͱࢥͬͨΒ΍ΊΔ ࢲͨͪͷϞϒϓϩͷάϥϯυϧʔϧ

  13. !5",",*/( IUUQTTQFBLFSEFDLDPNUBLBLJOH

  14. !5",",*/( Ϟϒϓϩάϥϛϯάݱ৔ମݧձ

  15. !5",",*/(

  16. !5",",*/( Ϟϒϓϩάϥϛϯά͸ ΍ͬͯΈͳ͍ͱΘ͔Βͳ͍͜ͱ͕ଟ͍

  17. !5",",*/( ͡Ό͋ɺΈΜͳͰ΍ͬͯΈΑ͏ʂ

  18. !5",",*/(

  19. !5",",*/( ໌೔͔ΒͰ͖Δಇ͖ํվֵ ࣗ෼ʹͱͬͯͦΕ͘Β͍িܸతͳֶͼ͕͋Γ·ͨ͠ ࣮ࡍʹݱ৔ʹϞϒϓϩάϥϛϯάΛऔΓೖΕΔ͔Ͳ͏͔͸Ͳ͏Ͱ΋͍͍ͷͰ ͦͷֶͼΛօ͞Μʹ΋఻͍͑ͨ

  20. !5",",*/( ඞཁͳ४උ ✓ σΟεϓϨΠ ✓ ίϯϐϡʔλʔ ✓ ϗϫΠτϘʔυ ϓϩδΣΫλͳͲͰ͖Δ͚ͩେ͖ͳ΋ͷΛ ༻ҙͰ͖Δͱ΍Γ΍͍͢

    ࠷௿୆͋Ε͹࣮ࢪͰ͖·͕͢ɺ ௐ΂෺ͳͲΛ͢ΔͷͰෳ਺୆͋ΔͱΑ͍ ٞ࿦΍ܾΊͨ৘ใΛ࢒ͨ͢Ίʹ͋ΔͱΑ͍
  21. !5",",*/( ࣮ߦ͢Δ؀ڥ SFQMJU ✓ ϒϥ΢β͚ͩͰ؆୯ʹ࣮ߦՄೳ ✓ ෳ਺ݴޠରԠ ✓ ൺֱతܰྔ 

    IUUQTSFQMJU
  22. !5",",*/( ·ͣ͸ϞϒʢνʔϜʣ෼͚Λ͠·͠ΐ͏ ✓ Ϟϒʹ͖ͭɺ
 ଟͯ͘΋ʙ̒ਓఔ౓͕͓͢͢ΊͰ͢ ✓ શһ͕ࢀՃऀͳͷͰ࢓ࣄʹߩݙ͠·͠ΐ͏

  23. !5",",*/( ࠓ೔ͷ͓୊ ✓ γϣοϐϯάΧʔτ

  24. !5",",*/( ։ൃݴޠΛܾΊ·͠ΐ͏ ✓ طʹϞϒϓϩάϥϛϯάελʔτ͍ͯ͠·͢
 ϞϒͰऔΓ૊Ή࢓ࣄΛબ୒͍͖ͯ͠·͠ΐ͏ ✓ ࣮ߦ؀ڥ͕͋Ε͹ͲͷݴޠͰ΋͔·͍·ͤΜ ✓ શһ͕஌Βͳ͍ݴޠͩͱฏ౳Ͱ໘ന͍Ͱ͕͢ɺ
 ௐ΂Δ͕࣌ؒଟ͘ͳͬͯ໰୊ղܾͷମݧྔ͸


    ݮͬͯ͠·͏͔΋͠Ε·ͤΜ
  25. !5",",*/( ަ୅͢ΔλΠϛϯάΛܾΊ·͠ΐ͏ ✓ ࣌ؒͰަ୅͢Δ ✓ ΩϦ͕͍͍ͱ͜ΖͰަ୅͢Δ શһۉ౳ʹυϥΠόʔΛճ͍ͨ͠৔߹͸ɺ
 ෼ؒܦͬͨΒަ୅ͳͲ࣌ؒͰަ୅͠·͢ ˞.PCTUFSͱ͍͏πʔϧ͕͓͢͢ΊͰ͢˰˰˰ IUUQTHJUIVCDPNEJMMPOLFBSOTNPCTUFS

    ໰୊ղܾʹूத͍ͨ͠৔߹͸ɺΩϦ͕͍͍ͱ͜ΖͰަ୅͠·͢ ूத͢ΔͱͣͬͱυϥΠόʔݻఆʹͳΓ͕ͪͳͷͰ஫ҙ͠·͠ΐ͏ มΘͬͯཉ͍࣌͠ʹʮมΘΕʂʂʯͱ͍͏zզ͕Ոํࣜz΋ΦεεϝͰ͢
  26. !5",",*/( ͏·͘΍Δίπ ✓ ΍Δ͜ͱΛͱʹ͔͘ޱʹग़͢ ✓ ʮΘ͔Βͳ͍ʯͱಊʑͱݴ͏ ✓ ͓ޓ͍ΛϦεϖΫτ͢Δ ૬खΛ൱ఆɾඇ೉͢Δ͜ͱ͸ېࢭͰ͢ Ϟϒͷ৺ཧత҆શੑ͸શһͰอͭ౒ྗΛ͠·͠ΐ͏

    ʮΘ͔Βͳ͍ʯͱ͍͏ൃ৴΋େ੾ͳνʔϜ΁ͷߩݙͰ͢ υϥΠόʔΛ΍Δ࣌͸ࣗ෼ͷ಄ͷதΛৗʹݴ༿ʹ͠·͠ΐ͏ʢҙ֎ͱ೉͍͠ʣ
  27. !5",",*/( ͏·͘΍Δίπ ✓ খ͞ͳ੒ޭͷ౓ʹʮϠολʔʂʯ ʮϠολʔʂʯ͸ੈքΛٹ͍·͢

  28. !5",",*/( ϫʔΫγϣοϓ͕ऴΘͬͨΒ ✓ ;Γ͔͑Γɺ࣭ٙԠ౴ ࣗ෼ͨͪͷݱ৔ʹ࣋ͪؼΔֶͼ͸͋ͬͨͩΖ͏͔

  29. !5",",*/( -FUTTUBSU.PC1SPHSBNNJOH

  30. !5",",*/( 3FUSPTQFDUJWF

  31. !5",",*/( ͨͩͦΕ͚ͩ lҰॹʹಇ͘z

  32. !5",",*/( ✓ τϥϒϧͳͲͷۓٸࣄଶʹɺ୭͔ͷ੮ʹू·ͬͯνʔϜશһͰ
 ը໘ʹ޲͔͍ͳ͕Β໰୊ղܾͨ͠ܦݧ͕͋Γ·ͤΜ͔ʁ ✓ ͳͥͦ͏͢Δͷ͔Λߟ͑ͯΈΔͱɺશһͰ໰୊ΛϑϧϘοίʹ͠ɺ
 ҙࢥܾఆ΋ϨϏϡʔ΋ͦͷ৔Ͱ׬݁ͤͯ͞͠·͏ํ͕
 Ұ൪ૣ͍͔ΒͰ͢ ✓ ͜ͷ࢓ࣄͷਐΊํ͸ۓٸࣄଶҎ֎ʹ΋


    Ԡ༻Ͱ͖Δ͸ͣͰͦΕʹ໊લ͕͍ͭͨ΋ͷ͕
 Ϟϒϓϩάϥϛϯάͩͱࢲ͸ߟ͍͑ͯ·͢ τϥϒϧରԠΛ͢Δ࣌Λࢥ͍ग़ͯ͠Լ͍͞
  33. !5",",*/( ෼୲࡞ۀ FY ϨϏϡʔɺঝೝɺҾ͖ܧ͗ FY λεΫ෼ׂɺઃܭɺΩοΫΦϑ ෼୲࡞ۀͷલޙʹ ಉظ͢Δ࡞ۀ͕ඞཁʹͳΔ

  34. !5",",*/( ෼୲࡞ۀ ϛείϛϡχέʔγϣϯʹΑͬͯ ख໭Γ͢ΔՄೳੑ΋͋Δ

  35. !5",",*/( ϞϒϫʔΫ FY ઃܭɺϨϏϡʔɺϊ΢ϋ΢ڞ༗ ಉظ͍ͯ͠ͳ͍Ͱ͸ͳͯ͘ ৗʹಉظ͍ͯ͠Δ

  36. !5",",*/( IUUQTXXXTMJEFTIBSFOFUBOESFGBSJBNPCQSPHSBNNJOH νʔϜશମͷ׆ಈ Ͱ͋Δ͜ͱ͕ϙΠϯτ ϖΞϓϩͱϞϒϓϩͷҰ൪ͷҧ͍

  37. !5",",*/( ✓ ேྱ ✓ ίϛϡχέʔγϣϯͷͨΊͷϛʔςΟϯά ✓ ߹ҙܗ੒ͷͨΊͷυΩϡϝϯτ ✓ ϨϏϡʔશൠʢιʔείʔυɺυΩϡϝϯτʣ ✓

    (JU'MPX ✓ Χϯόϯ ✓ ϓϥϯχϯάϙʔΧʔʢݟੵ΋Γʣ ϞϒϓϩΛ࢝Ίͯͳ͘ͳͬͨ΋ͷ ͜ΕΒ͸͢΂ͯಉظ࡞ۀ
  38. !5",",*/( 5FBNXPSL3FWPMVUJPOνʔϜͱ΋ͷͮ͘Γʹਅਖ਼໘͔Β޲͖߹͏Ϟϒϓϩάϥϛϯά

  39. !5",",*/( ෼୲͢Δ͜ͱ͕લఏʹͳ͍ͬͯͳ͍͔

  40. !5",",*/( ࢓ࣄͷ࣭ɺνʔϜͷঢ়گͳͲʹ߹Θͤͯ ࢖͍෼͚ΒΕΔํ͕๬·͍͠ ࢲͨͪ΋ৗʹϞϒϓϩάϥϛϯάΛ͍ͯ͠Δͱݴ͍ͬͯΔ͕ ࣮ࡍʹ͸ࣗવͱ࢖͍෼͚Λ͍ͯ͠Δ

  41. !5",",*/( 1IPUPCZßUFGBOßUFGBOčÍLPO6OTQMBTI ࣄ࣮ͱͯ͠ࠓ೔ࢀՃͯ͘͠Εͨͨօ͞Μ͸ɺ ࠓ೔ͭͬͨ͘ػೳʹ͍ͭͯͦͦ͜͜ͷ৘ใΛ͍࣋ͬͯΔ ✓ ͳͥͭͬͨ͘ͷ͔ ✓ Ͳ͏΍ͬͯͭͬͨ͘ͷ͔ ✓ Ͳ͏ͯ͜͠͏͍͏ΠϯλϑΣʔεʹͳͬͨͷ͔

  42. !5",",*/( 1IPUPCZ"EBN4IFSF[PO6OTQMBTI ݁Ռ͚ͩͰ͸఻ΘΒͳ͍৘ใ͕աఔʹ͸ͨ͘͞Μଘࡏ͢Δ ܗࣜ஌΋҉໧஌΋߹Θͤͯڞ௨ମݧʹ͢Δ

  43. !5",",*/( ͨͩͦΕ͚ͩ lҰॹʹಇ͘z

  44. !5",",*/( ΋ͬͱઓུతʹ࢓ࣄʹऔΓೖΕΔ lҰॹʹಇ͘z

  45. !5",",*/( ໌೔͔ΒͰ͖Δಇ͖ํվֵ 'JO