Upgrade to Pro — share decks privately, control downloads, hide ads and more …

モブプログラミングという働き方 #DevLOVE

モブプログラミングという働き方 #DevLOVE

2017年6月18日(日)DevLOVE 200 Bridgeにて。

TAKAKING22

June 18, 2017
Tweet

More Decks by TAKAKING22

Other Decks in Technology

Transcript

  1. !5",",*/(
    Ϟϒϓϩάϥϛϯάͱ͍͏ಇ͖ํ
    ϞϒϓϩάϥϛϯάΛ௨ͯ͠ݟͨΞδϟΠϧͷਅ਷
    2017/06/18 DevLOVE 200 Bridge
    Takao Oyobe (@TAKAKING22)
    Rakuten, Inc.

    View Slide

  2. !5",",*/(
    ݩؾ
    ࠓ೔ͷ͓౔࢈

    View Slide

  3. !5",",*/(
    ஫ҙࣄ߲
    0,
    ࣸਅࡱӨ0,Ͱ͢
    γϟολʔԻʹ͝஫ҙΛ
    εϥΠυ͸ެ։ࡁͰ͢
    ձࣾશମͷ࿩͸͠·ͤΜ
    ࢲୡͷ࿩Ͱ͢ʢυϯʣ
    ڭՊॻͷ࿩͸͠·ͤΜ
    ࢲୡͷ࿩Ͱ͢ʢυϯʣ
    Ϟϒϓϩάϥϛϯά͸
    ۜͷ஄ؙͰ͸͋Γ·ͤΜ
    ແԻΧϝϥΞϓϦ͕͋Δͦ͏Ͱ͢

    View Slide

  4. !5",",*/(
    ճ͓ΊͰͱ͏͍͟͝·͢

    View Slide

  5. !5",",*/(
    ॳΊͯͷίϛϡχςΟࢀՃˍൃද͸%FW-07&Ͱͨ͠
    IUUQTXXXTMJEFTIBSFOFUEBJQSFTFOUTEFWMPWFIBOHBSGMJHIUTOPXCBSSBHF

    View Slide

  6. !5",",*/(
    !5",",*/(
    ٴ෦ܟ༤
    ָఱגࣜձࣾΠϯΩϡϕʔγϣϯ։ൃ෦
    Ұൠࣾஂ๏ਓΞδϟΠϧνʔϜΛࢧ͑ΔձΛࢧ͑Δձ

    ۭલઈޙͷΞδϟΠϧϞϯελʔ
    ௒ઈౖ౭ͷے೑୲౰
    ਪ͠ϝϯɿࢁຊ࠼

    View Slide

  7. !5",",*/(
    ΤϯδχΞྺ೥
    ΞδϟΠϧྺ೥

    View Slide

  8. !5",",*/(
    ࢲͷΞϓϩʔνํ๏
    ΤϯδχΞͷཱ৔Ͱ
    lϓϩμΫτͷ੒ޭͷͨΊz
    νʔϜͱҰॹʹվળ׆ಈΛͯ͠Ұॹʹ੒௕͢Δ
    CZ64"SNZ$PSQTPG&OHJOFFST IUUQTHPPHM38+QK

    View Slide

  9. !5",",*/(
    Α͘΍Δ͜ͱ
    ✓ ;Γ͔͑Γ
    ✓ 4DSVN
    ✓ 91
    ✓ %FW0QT
    ✓ ૊৫վળʢະདྷձٞʣ

    View Slide

  10. !5",",*/(
    େ੾ͩͱࢥ͏͜ͱ
    8IZ
    8IBU
    )PX
    4501

    $0/5*/6&
    )PXͷલʹ
    8IZͱ8IBUΛߟ͑Δ
    ਎ͷৎʹ߹Θͤͨ
    վળΛண࣮ʹ౿Ή
    ΍ΊΔ͜ͱɾଓ͚Δ͜ͱ
    Λৗʹҙࣝ͢Δ
    νʔϜશһͰ
    νʔϜͷͨΊʹߟ͑ͯ
    νʔϜͷखʹΑͬͯਐΊΔ

    View Slide

  11. !5",",*/(
    IUUQTTQFBLFSEFDLDPNUBLBLJOH
    IUUQTXXXTMJEFTIBSFOFU5BLBP0ZPCFQSFTFOUBUJPOT

    View Slide

  12. !5",",*/(
    ෳ਺ͷݱ৔Ͱ܁Γฦ͠࠶ݱ͖ͯͯ͠
    ͜Ε͔Β΋ͨͿΜͰ͖ΔͰ͋Ζ͏ࣗ৴͸͋Δ
    ݱঢ়Λ஌Γɺ
    ໰୊Λચ͍ग़͢
    ༏ઌॱҐΛ͚ͭΔ ࣮ͭͣͭ֬ʹ
    ໰୊ղܾΛ͢Δ
    νʔϜͷ੒௕ͱ
    Ϗδωε΁ͷߩݙ

    View Slide

  13. !5",",*/(
    ΤϯδχΞϦϯά
    νʔϜ
    Ϗδωε
    ϓϩμΫτ։ൃʹ͓͚Δཁૉ

    View Slide

  14. !5",",*/(
    ΤϯδχΞϦϯά
    νʔϜ
    Ϗδωε
    ϓϩμΫτ։ൃʹ͓͚Δཁૉ
    ͜ͷ͋ͨΓ͔Βೖͬͯ

    View Slide

  15. !5",",*/(
    ΤϯδχΞϦϯά
    νʔϜ
    Ϗδωε
    ϓϩμΫτ։ൃʹ͓͚Δཁૉ
    গͣͭ͠޿͍͛ͯ͘
    Πϝʔδ

    View Slide

  16. !5",",*/(
    ͕͔͔ͦͦ࣌ؒ͜͜Δ͠ɺ
    ຊ౰ͷಆ͍͸ͦͷઌʹ͋Δ
    1IPUPCZ4QFODFS)BSSJT IUUQTHPPHMJ)C3O

    View Slide

  17. !5",",*/(
    IUUQRJJUBDPN5",",*/(JUFNTFEGCFBCBE

    View Slide

  18. !5",",*/(
    ࠓ೔ͷ͓࿩
    ΞδϟΠϧ։ൃΛ௨ͯ͡
    ݱ৔ͷ໰୊ղܾͱ޲͖߹͍ଓ͚͖ͯͨࢲ͕ɺ
    Ϟϒϓϩάϥϛϯάͱ͍͏ಇ͖ํΛ
    ͸͡ΊͯΈͯಘΒΕֶͨͼ΍ؾ෇͖ͱɺ
    ͦͷதͰݟͨΞδϟΠϧͷਅ਷ʹ͍͓ͭͯ࿩͠·͢ɻ

    View Slide

  19. !5",",*/(
    Ϟϒϓϩάϥϛϯάͱ͸
    ✓ νʔϜશһ͕Օॴʹू·ͬͯɺ

    ͭͷը໘ɾͭͷ1$Ͱ࡞ۀΛߦ͏͜ͱ
    ✓ ೥ࠒʹ)VOUFS͕ࣾऔΓ૊Έ࢝Ίͨ
    ✓ "HJMFͰ8PPEZ;VJMM͕঺հͨ͠
    ✓ ೥݄ʹ͸ॳΊͯͷ.PC1SPHSBNNJOH
    $POGFSFODF͕։࠵͞Εͨ

    View Slide

  20. !5",",*/(
    IUUQTXXXZPVUVCFDPNXBUDI WQ@QWTM4H&*

    View Slide

  21. !5",",*/(
    )VOUFSࣾͷϞϒϓϩάϥϛϯά
    ✓ ͭͷ෦ॺʢ໿ਓʣ͕ಋೖΛ͍ͯ͠Δ
    ✓ ͭͷϞϒʹ෇͖ʙਓ͕ଟ͍
    ✓ ৗʹϞϒϓϩάϥϛϯάΛ͍ͯ͠Δ
    ✓ Ϟϒ΁ͷग़ೖΓ͸ࣗ༝
    ✓ ߩݙͰ͖ͳ͔ͬͨΒྡͷϞϒʹҠಈͯ͠΋Α͍

    View Slide

  22. !5",",*/(
    )VOUFSࣾͷ൴Β͸ɺ
    ϓϥΫςΟεͱͯ͠Ͱ͸ͳ͘
    ಇ͖ํͱͯ͠Ϟϒϓϩάϥϛϯά
    Λ΍͍ͬͯΔײ͡
    )VOUFSࣾΛ๚໰ͨ͠઒ޱ͞Μᐌ͘

    View Slide

  23. !5",",*/(
    ॳΊͯͷϞϒϓϩάϥϛϯά

    View Slide

  24. !5",",*/(
    :΍ͬͨ͜ͱ
    ✓ (8୩ؒͷ೔ؒͰ͓ࢼ͠Ϟϒϓϩάϥϛϯά
    ✓ ̐ਓνʔϜ
    ✓ ৽نࣄۀ্ཱͪ͛ͷͨΊͷ10$
    ✓ ٕज़ݕূΛ݉ͶͯϑΝʔετϓϩτλΠϓΛ࡞੒
    ˎ10$1SPPG0G$PODFQUʢ֓೦࣮ূʣ

    View Slide

  25. !5",",*/(

    View Slide

  26. !5",",*/(
    σΟεϓϨΠ
    1$

    View Slide

  27. !5",",*/(
    υϥΠόʔ
    φϏήʔλʔ
    φϏήʔλʔ
    φϏήʔλʔ
    φϏήʔλʔ
    (6&45

    View Slide

  28. !5",",*/(
    ϓϩςΠϯ
    ).#

    View Slide

  29. !5",",*/(
    ૝ఆΑΓ΋͏·͍ͬͨ͘ͷͰʜ
    ✓ ೔ؒͯ͠࠷ऴ೔ʹϏδωεϝϯόʔ޲͚ʹ

    σϞΛ൸࿐ͨ͠
    ✓ σϞ൸࿐·Ͱʹࣾ಺ʹ͍Δ૝ఆϢʔβʔʹ

    ෳ਺ճϑΟʔυόοΫΛ΋Βͬͯଈ࣌൓ө

    View Slide

  30. !5",",*/(
    8Θ͔ͬͨ͜ͱɾͰ͖ͨ͜ͱ
    ✓ ϋϚͬͨΓ͠ͳ͕Β΋࣮֬ͳखԠ͑ΛಘΒΕͨ
    ✓ ೔ؒͰϑΟʔυόοΫϧʔϓΛ਺ճճͤΒΕͨ
    ✓ ૝ఆϢʔβʔɾϏδωεϝϯόʔΛεϐʔυײͰ

    ڻ͔ͤΔ͜ͱ͕Ͱ͖ͨ
    Ϟϒϓϩάϥϛϯά͸ୡ੒ײ͕͋ͬͯർΕΔ͚Ͳָ͍͠

    View Slide

  31. !5",",*/(
    5࣍ʹ΍Δ͜ͱ
    ✓ ಇ͖ํͱͯ͠ͷϞϒϓϩάϥϛϯάΛଓ͚ͯΈΔ

    View Slide

  32. !5",",*/(
    ࢲͨͪͷϞϒϓϩάϥϛϯά

    ʲܧଓதʳ

    View Slide

  33. !5",",*/(
    ࢲͨͪͷϞϒϓϩάϥϛϯά
    ✓ ৗʹϞϒϓϩάϥϛϯά
    ✓ Ϟϒ΁ͷग़ೖΓ͸ࣗ༝
    ✓ ϧʔϧ͸ࡉ͔ܾ͘Ίͣʹ΍Γͳ͕Βม͍͑ͯ͘
    ✓ ϦʔϯελʔτΞοϓ
    ✓ ։ൃ΋Ӧۀ΋ͳΜͰ΋ϞϒͰߦ͏
    ಇ͖ํͱͯ͠ͷϞϒϓϩάϥϛϯάΛऔΓೖΕΔ

    View Slide

  34. !5",",*/(
    ݸਓͷ׆ಈ࣌ؒ
    લ೔;Γ͔͑Γˍࠓ೔΍Δ͜ͱ
    Ϟϒϓϩάϥϛϯά
    ன৯
    Ϟϒϓϩάϥϛϯά
    Ϟϒ;Γ͔͑Γ
    Ұ೔ͷྲྀΕ

    View Slide

  35. !5",",*/(
    ϞϒϓϩάϥϛϯάΛϲ݄ܦͬͨͷͰৼΓฦͬͯΈͨ

    View Slide

  36. !5",",*/(
    ੜ࢈ੑɾεϐʔυ ৺ཧత҆શੑ ϓϩμΫτ։ൃ
    ϊ΢ϋ΢ɾεΩϧ఻ൖ

    View Slide

  37. !5",",*/(
    ੜ࢈ੑɾεϐʔυ ৺ཧత҆શੑ ϓϩμΫτ։ൃ
    ϊ΢ϋ΢ɾεΩϧ఻ൖ

    View Slide

  38. !5",",*/(
    ✓ ૝ఆϢʔβʔɾϏδωεϝϯόʔʹ

    εϐʔυͰڻ͖Λ༩͑ΒΕͨ
    ✓ ٕज़తʹϋϚΔ͕࣌ؒ࠷খݶʹͳΔ
    ✓ ޙ௥͍ίϛϡχέʔγϣϯ͕ෆཁʹͳΔ
    ✓ ಇ͘͜ͱʹूதͰ͖Δ
    ੜ࢈ੑɾ։ൃεϐʔυ

    View Slide

  39. !5",",*/(
    ✓ ேྱ
    ✓ υΩϡϝϯτ
    ✓ ϨϏϡʔ
    ✓ (JU'MPX
    ✓ Χϯόϯ
    ✓ εϓϦϯτϓϥϯχϯά
    ✓ εϓϦϯτόοΫϩά
    ✓ ݟੵ΋Γ
    ϞϒΛ࢝Ίͯͳ͘ͳͬͨ΋ͷ
    ˰࡞ۀใࠂ͸ෆཁ
    ˰ඞཁ࠷௿ݶͷΈ
    ˰ෆཁ
    ˰࡞ۀϒϥϯν͸ෆཁ
    ˰ΧονϦͨ͠΋ͷ͸ෆཁ
    ˰ࠓͷϑΣʔζͰ͸ෆཁ
    ˰ࠓͷϑΣʔζͰ͸ෆཁ
    ˰ࠓͷϑΣʔζͰ͸ෆཁ

    View Slide

  40. !5",",*/(
    ෼୲࡞ۀͷ৔߹
    ࡞ۀͷ಺༰Λਂ۷Γͯ͠ΈΔͱʜ
    ෼୲ͨ͠࡞ۀͷಉظ΍
    ෼୲͢ΔͨΊͷίϛϡχέʔγϣϯ
    ͷ͕࣌ؒҙ֎ͱଟ͍
    FY ✓ ϨϏϡʔ
    ✓ ೝࣝ߹Θͤ
    ✓ ใࠂձ
    ✓ ேྱ

    View Slide

  41. !5",",*/(
    ෼୲࡞ۀͷ৔߹
    ࡞ۀͷ಺༰Λਂ۷Γͯ͠ΈΔͱʜ
    ΋ͪΖΜϛείϛϡχέʔγϣϯʹ
    Αͬͯख໭ΓΛ͢ΔՄೳੑ΋͋Δ

    View Slide

  42. !5",",*/(
    Ϟϒͷ৔߹
    ࡞ۀͷ಺༰Λਂ۷Γͯ͠ΈΔͱʜ
    ✓ ෼୲͢ΔͨΊͷίϛϡχέʔγϣϯ͸ඞཁͳ͍
    ✓ νʔϜ಺ͷϛείϛϡχέʔγϣϯʹΑΔ

    ख໭Γ΋جຊతʹ͸ͳ͍

    View Slide

  43. !5",",*/(
    Ϟϒͷ৔߹
    ࡞ۀͷ಺༰Λਂ۷Γͯ͠ΈΔͱʜ
    ʮ΍ͬͯͳ͍ʯͰ͸ͳͯ͘ৗʹʮ΍͍ͬͯΔʯঢ়ଶ
    ;Γ͔͑ΓɺϨϏϡʔɺઃܭɺೝࣝ߹Θͤɺݟੵ΋Γɺܭըʜ

    View Slide

  44. !5",",*/(
    ੜ࢈ੑɾεϐʔυ ৺ཧత҆શੑ ϓϩμΫτ։ൃ
    ϊ΢ϋ΢ɾεΩϧ఻ൖ

    View Slide

  45. !5",",*/(
    ✓ ͓ޓ͍ͷಘҙ෼໺Λิ׬͠߹͑Δ
    ✓ Θ͔Βͳ͍͜ͱΛڭ͑߹͑Δ
    ✓ ॻ͖ํ΍ਐΊํʹର͢Δߟ͑ํ΍૝͍Λ

    ৗʹ͢Γ߹ΘͤΔ͜ͱ͕Ͱ͖Δ
    ✓ શһͰμϝͳΒ͠ΐ͏͕ͳ͍ͱࢥ͑Δ
    ✓ ୡ੒ײΛڞ༗Ͱ͖Δ
    ৺ཧత҆શੑ

    View Slide

  46. !5",",*/(
    ʮ΍ͬͨʔʂʂʯΛڞ༗Ͱ͖Δ

    View Slide

  47. !5",",*/(
    ੜ࢈ੑɾεϐʔυ ৺ཧత҆શੑ ϓϩμΫτ։ൃ
    ϊ΢ϋ΢ɾεΩϧ఻ൖ

    View Slide

  48. !5",",*/(
    ✓ ৗʹશһ͕஌͍ͬͯΔঢ়ଶΛ࡞ΕΔ
    ✓ ݁Ռ͚ͩ͡Όͳ͘աఔɾܦҢ͕Θ͔Δ
    ✓ ํ਑Λৗʹ͢Γ߹ΘͤΒΕΔ
    ϊ΢ϋ΢ɾεΩϧ఻ൖ

    View Slide

  49. !5",",*/(
    νʔϜͷ஌ࣝൣғͱͯ͠ͷϕετ
    #͞Μ $͞Μ
    "͞Μ

    View Slide

  50. !5",",*/(
    νʔϜͷ஌ࣝൣғͱͯ͠ͷϕετ
    #͞Μ $͞Μ
    "͞Μ
    ෼୲࡞ۀͷ৔߹
    "͞Μͷ஌ࣝൣғ
    ͳͷͰରԠՄೳ
    "͞Μͷ஌ࣝൣғ֎Ͱɺ

    #͞ΜʹϨϏϡʔͯ͠
    ΋Βͬͨ৔߹ͷΈ
    ϑΥϩʔՄೳ
    "͞Μͷ஌ࣝൣғ֎Ͱɺ
    $͞ΜʹϨϏϡʔͯ͠
    ΋Βͬͨ৔߹ͷΈ
    ϑΥϩʔՄೳ

    View Slide

  51. !5",",*/(
    νʔϜͷ஌ࣝൣғͱͯ͠ͷϕετ
    #͞Μ $͞Μ
    "͞Μ
    Ϟϒͷ৔߹
    ରԠՄೳ

    View Slide

  52. !5",",*/(
    ੜ࢈ੑɾεϐʔυ ৺ཧత҆શੑ ϓϩμΫτ։ൃ
    ϊ΢ϋ΢ɾεΩϧ఻ൖ

    View Slide

  53. !5",",*/(
    ✓ ৗʹνʔϜʹର࿩͕ੜ·Ε͍ͯΔ
    ✓ ಈ͘ϓϩμΫτ͕νʔϜͷத৺ʹ͋Δ
    ✓ िϖʔεͰސ٬ʹ௚઀ձ͍͑ͯΔ
    ✓ ܭը͸ৗʹมԽ͍ͯ͠Δ
    ϓϩμΫτ։ൃ

    View Slide

  54. !5",",*/(
    ͦ΋ͦ΋ৗʹର࿩Λ͠ͳ͍ͱ࢓ࣄ͕ਐ·ͳ͍

    View Slide

  55. !5",",*/(
    ಈ͘ϓϩμΫτ
    ϝλϑΝͱͯ͠ಈ͘ϓϩμΫτ͕ৗʹνʔϜͷத৺ʹ͋Δ

    View Slide

  56. !5",",*/(
    ✓ ৗʹνʔϜʹର࿩͕ੜ·Ε͍ͯΔ
    ✓ ಈ͘ϓϩμΫτ͕νʔϜͷத৺ʹ͋Δ
    ✓ िϖʔεͰސ٬ʹ௚઀ձ͍͑ͯΔ
    ✓ ܭը͸ৗʹมԽ͍ͯ͠Δ
    ϓϩμΫτ։ൃ
    ͜Εͬͯɾɾɾʂʁ

    View Slide

  57. !5",",*/(
    IUUQBHJMFNBOJGFTUPPSHJTPKBNBOJGFTUPIUNM

    View Slide

  58. !5",",*/(
    ࠓ೔͸ࣄྫͷ࿩Λத৺ʹͨ͠ͷͰ
    Ϟϒϓϩάϥϛϯάͷίπ΍)PXUPͷ࿩Λ͍ͯ͠·ͤΜ

    View Slide

  59. !5",",*/(
    ࢲୡͱҰॹʹಇ͖·ͤΜ͔ʁ
    Ϟϒ͠
    ✓ ϞϒݟֶˍମݧπΞʔ
    ✓ Ϟϒϓϩάϥϛϯάษڧձ
    $POUBDUNF!5",",*/(

    View Slide

  60. !5",",*/(
    ·ͱΊ

    View Slide

  61. !5",",*/(
    IUUQTTQFBLFSEFDLDPNUBLBLJOH
    IUUQTXXXTMJEFTIBSFOFU5BLBP0ZPCFQSFTFOUBUJPOT
    ࠷ऴతʹʮ΋ͬͱҰॹʹಇ͚͹͍͍ʯ
    ͱ͍͏݁࿦ʹͳΔ͜ͱ͕ଟ͍

    View Slide

  62. !5",",*/(
    ✓ ͳͥ࢓ࣄΛ෼୲͢Δඞཁ͕͋Δͷ͔
    ✓ Ұॹʹ΍ΔΑΓ΋࢓ࣄΛ෼୲͢Δํ͕ޮ཰తͳͷ͔
    ✓ ͳͥόʔδϣϯ؅ཧ͕ඞཁͳͷ͔
    ઌೖ؍ʹͱΒΘΕ͍ͯͳ͔͔ͬͨʁ

    View Slide

  63. !5",",*/(
    ιϑτ΢ΣΞ։ൃ্ͷ໰୊ͷଟ͘͸ɺ
    ٕज़తͱ͍͏ΑΓࣾձֶతͳ΋ͷͰ͋Δ
    τϜɾσϚϧίςΟϞγʔɾϦελʔʢϐʔϓϧ΢ΣΞʣ

    View Slide

  64. !5",",*/(
    ෼୲͢Δ͜ͱΛલఏʹɺ
    ͦͷͨΊͷίϛϡχέʔγϣϯΛ
    ͏·͘΍Ζ͏ͱ͍͗ͯ͢͠ͳ͔ͬͨͩΖ͏͔

    View Slide

  65. !5",",*/(
    %FW -07&

    View Slide

  66. !5",",*/(
    ϓϩμΫτ͕ಈ͍ͨ࣌ɺ
    ϓϩμΫτΛ࢖͓ͬͨ٬͞Μ͕تΜͰ͘Εͨ࣌ɺ
    ஥ؒͱҰॹʹʮ΍ͬͨʔʂʂʯͱݴ͍ͬͯ·͔͢ʁ

    View Slide

  67. !5",",*/(
    IUUQBHJMFNBOJGFTUPPSHJTPKBNBOJGFTUPIUNM
    ΞδϟΠϧͷਅ਷͸ͦ͜ʹ͋ΔΜ͡Όͳ͍͔ͳʁ

    View Slide

  68. !5",",*/(
    ࢥ͍ग़ͤͯ͘͞Εͨͷ͕Ϟϒϓϩάϥϛϯάͩͬͨ

    View Slide

  69. !5",",*/(
    ୭΋͕͜ͷಇ͖ํΛؾʹೖΔΘ͚Ͱ͸ͳ͍
    ஫ҙ

    View Slide

  70. !5",",*/(
    1IPUPCZ5IF64"SNZ IUUQTHPPHM:F7VX

    ೃΕ߹͍Ͱ͸ͳܹࢗ͘͠߹͑Δ
    ᪳᪯͏͜ͱͳ͘ڞʹӽڥͰ͖Δ
    ઓ༑

    View Slide

  71. !5",",*/(
    ͦ͏͍͏ਓୡͱࢲ͸ҰॹʹϞϒ͍ͨ͠
    ͸ͨΒ͖

    View Slide

  72. !5",",*/(
    %FW -07&Ͱ͔͢ʁ
    ͸
    !5",",*/(

    View Slide