2017年11月18日(土)に開催されたJJUG CCC 2017 FALLにて。モブプログラミングワークショップの導入資料です。
!5",",*/(:"55".0#130(3"..*/(!5",",*/(5BLBP0ZPCF
View Slide
!5",",*/(5","00:0#&✓ ָఱגࣜձࣾՎͬͯགྷΕΔΤϯδχΞ✓ Ұൠࣾஂ๏ਓΞδϟΠϧνʔϜΛࢧ͑Δձ✓ ΞδϟΠϧϞϯελʔ✓ Ϟϒϓϩάϥϛϯά͓͡͞Μ✓ ਪ͠ϝϯɿࢁຊ࠼
!5",",*/(ϞϒͷਓIUUQTTQFBLFSEFDLDPNUBLBLJOHNPCVQVSPHVSBNJOHVUPJVEPOHLJGBOHOVNCFSEFWMPWF$ISJT-VDJBO!)VOUFS*OEVTUSJFT
!5",",*/(Ϟϒϓϩάϥϛϯάͱ
!5",",*/(νʔϜશһͰ✓ ಉ͡ࣄΛ✓ ಉ࣌ؒ͡ʹ✓ ಉ͡ॴͰ✓ ಉ͡ίϯϐϡʔλʔͰ͢Δ͜ͱϞϒϓϩάϥϛϯάͱ
!5",",*/(Ϟϒϓϩάϥϛϯάͷىݯ✓ ࠒʹ)VOUFS*OEVTUSJFT͕࢝Ίͨ✓ "HJMFͰ8PPEZ;VJMM͕հͨ͠✓ ݄ʹॳΊͯͷ.PC1SPHSBNNJOH$POGFSFODF͕։࠵͞ΕͨIUUQTXXXTMJEFTIBSFOFUBOESFGBSJBNPCQSPHSBNNJOH
!5",",*/(IUUQTXXXZPVUVCFDPNXBUDI [email protected]&*"EBZPG.PC1SPHSBNNJOH)VOUFS*OEVTUSJFTͷݱͰ࣮ࡍʹϞϒϓϩάϥϛϯάΛ͍ͯ͠ΔΛਨΕྲྀͯ͠ࡱӨ͠ɺૣૹΓͰఔʹ·ͱΊͨಈըͰ͢ɻ
!5",",*/("EBZPG.PC1SPHSBNNJOHલͷಈը͔Β΄ͲܦͬͯɺϞϒ͕ෳʹ֦େ͠ɺͦΕͧΕͷϞϒͰਓ͕ߦ͖ަͬͯಇ͍͍ͯΔ༷ࢠΛࡱӨͨ͠ಈըͰ͢ɻIUUQTXXXZPVUVCFDPNXBUDI WE7R6D/,7C:H
!5",",*/()VOUFS*OEVTUSJFTͷϞϒϓϩάϥϛϯά✓ ෦ॺʢਓʣશମͰಋೖΛ͍ͯ͠Δ✓ Ϟϒʹʙਓ͕ଟ͍✕ʙϞϒ✓ ಇ͖ํͱͯ͠ͷϞϒϓϩάϥϛϯά✓ Ϟϒͷग़ೖΓࣗ༝✓ ߩݙͰ͖ͳ͔ͬͨΒྡͷϞϒʹҠಈͯ͠Α͍
!5",",*/(ࢲͨͪͷϞϒϓϩάϥϛϯάͷલʹͳͥϞϒϓϩάϥϛϯάͳͷ͔
!5",",*/(*%FWΤϯδχΞϦϯάେ͖ϓϩάϥϜॻ͘ͷָ͍͠
!5",",*/(
!5",",*/(ιϑτΣΞ։ൃ্ͷͷଟ͘ɺٕज़తͱ͍͏ΑΓࣾձֶతͳͷͰ͋ΔτϜɾσϚϧίςΟϞγʔɾϦελʔʢϐʔϓϧΣΞʣ
!5",",*/(%FW0QT#J[
!5",",*/(We are all in agreement then.
!5",",*/(*%FWνʔϜ͕͏·͍ͬͯ͘ͳ͍ͷʹΤϯδχΞϦϯά͚ͩʹूத͍͍ͯͯ͠ͷʁ ͔Βͳ͍ΤϯδχΞϦϯάͬͯɻɻɻ
!5",",*/(IUUQTTQFBLFSEFDLDPNUBLBLJOHIUUQTXXXTMJEFTIBSFOFU5BLBP0ZPCFQSFTFOUBUJPOT
!5",",*/(ͬͱҰॹʹಇ͜͏
!5",",*/(IUUQTXXXTMJEFTIBSFOFUBOESFGBSJBNPCQSPHSBNNJOH
!5",",*/(ࢲͨͪͷϞϒϓϩάϥϛϯά
!5",",*/(σΟεϓϨΠ1$
!5",",*/(υϥΠόʔφϏήʔλʔφϏήʔλʔφϏήʔλʔφϏήʔλʔ(6&45
!5",",*/(ϓϩςΠϯ).#
!5",",*/(ࢲͨͪͷνʔϜ
!5",",*/(ݸਓ࣌ؒϞϒϓϥϯχϯάϞϒϞϯΩʔςετϞϒϫʔΫϞϒϥϯνϞϒϫʔΫϞϒ;Γ͔͑Γͷεέδϡʔϧ
!5",",*/(✓ ;Γ͔͑Γ✓ ӦۀˍσϞि࣍ͷεέδϡʔϧ
!5",",*/(✓ ϞϒϓϩݱݟֶπΞʔϥϯμϜͳεέδϡʔϧ
!5",",*/(ෳਓ͕ू·ͬͯͷίϯϐϡʔλʔͰࣄΛ͢ΔͳΜͯੜ࢈ੑԼ͕ΔΜ͡Όͳ͍ʁੜ࢈ੑ͓͡͞Μ
!5",",*/(λεΫΞαΠϯܕ
!5",",*/(ϞϒϫʔΫ
1IPUPCZ*XBO(BCPWJUDID IUUQTHPPHMLH7ZPੜ࢈ੑΛഁյ͢Δͷͨͪ✓ ݴήʔϜ✓ ϛείϛϡχέʔγϣϯ✓ ҙࢥܾఆ✓ ڊେͳϫʔΫϑϩʔ✓ ݫ֨ͳϧʔϧ✓ ͨ͘͞ΜͷϛʔςΟϯά
!5",",*/(ϞϒΛ࢝Ίͯͳ͘ͳͬͨͷ✓ ேྱ✓ ίϛϡχέʔγϣϯͷͨΊͷϛʔςΟϯά✓ ߹ҙܗͷͨΊͷυΩϡϝϯτ✓ ϨϏϡʔશൠʢιʔείʔυɺυΩϡϝϯτʣ✓ (JU'MPX✓ Χϯόϯ✓ ݟੵΓ
!5",",*/(ݴήʔϜΛపఈతʹഉআ1IPUPCZϑϦʔࣸਅૉࡐͺͨͦ͘ IUUQTXXXQBLVUBTPDPN
!5",",*/(#J[ %FWཁ݅ϓϩμΫτBoss BossOPSUser
!5",",*/(ϓϩμΫτ.PCBoss BossUserୡ͢ΔͷΛΊͯใΛूΊΔد͔ͬͯͨͬͯϑϧϘοίʹ͢Δ
!5",",*/(✓ τϥϒϧͳͲͷۓٸࣄଶʹɺ୭͔ͷ੮ʹू·ͬͯνʔϜશһͰ ը໘ʹ͔͍ͳ͕Βղܾͨ͠ܦݧ͕͋Γ·ͤΜ͔ʁ✓ ͳͥͦ͏͢Δͷ͔Λߟ͑ͯΈΔͱɺશһͰΛϑϧϘοίʹ͠ɺ ҙࢥܾఆϨϏϡʔͦͷͰ݁ͤͯ͞͠·͏ํ͕ Ұ൪ޮ͕͍͍͔ΒͰ͢✓ ͜ͷࣄͷਐΊํۓٸࣄଶҎ֎ʹ Ԡ༻Ͱ͖ΔͣͰͦΕʹ໊લ͕͍ͭͨͷ͕ Ϟϒϓϩάϥϛϯάͩͱࢲߟ͍͑ͯ·͢τϥϒϧରԠͷ࣌Λࢥ͍ग़ͯ͠Լ͍͞
!5",",*/(ෳਓ͕ू·ͬͯͷίϯϐϡʔλʔͰࣄΛ͢ΔͳΜͯੜ࢈ੑԼ͕ΔΜ͡Όͳ͍ʁੜ࢈ੑ͓͡͞Μੜ࢈ྔԼ͕Δ͔͠Εͳ͍͚ΕͲੜ࢈ੑམͪͨؾ͕͠ͳ͍ Ή͠Ζ্͕ͬͨϞϒϓϩάϥϛϯάϦʔϯͩͱ࣮ײ
!5",",*/(ϑΟʔυόοΫΛૣ͘Ͱ͖ΔมԽΛ͙͢ʹөͰ͖Δ։ൃ͢ΔڥϦʔϯʹ
!5",",*/(৺ཧత҆શੑ
!5",",*/(νʔϜͷࣝൣғͱͯ͠ͷϕετ#͞Μ $͞Μ"͞Μࣄࣝൣғ
!5",",*/(νʔϜͷࣝൣғͱͯ͠ͷϕετ#͞Μ $͞Μ"͞Μ"͞ΜͷࣝൣғͳͷͰରԠՄೳ"͞Μͷࣝൣғ֎Ͱɺ #͞ΜʹϨϏϡʔͯ͠Βͬͨ߹ͷΈϑΥϩʔՄೳ"͞Μͷࣝൣғ֎Ͱɺ$͞ΜʹϨϏϡʔͯ͠Βͬͨ߹ͷΈϑΥϩʔՄೳλεΫΞαΠϯܕ
!5",",*/(νʔϜͷࣝൣғͱͯ͠ͷϕετ#͞Μ $͞Μ"͞ΜରԠՄೳϞϒϫʔΫ
!5",",*/(Ϡολʔʂʂ
!5",",*/(8PSLJOH4PGUXBSF
!5",",*/(IUUQBHJMFNBOJGFTUPPSHJTPKBNBOJGFTUPIUNM
!5",",*/(࠷ۙͷτϐοΫ✓ Χϯόϯ෮׆ʂʂ✓ ;FSP#VHT✓ Ϟϒϓϩάϥϛϯάʹ͓͚ΔධՁ✓ Ϟϒϓϩάϥϛϯάͷ֦େ✓ ϞϒϓϩάϥϛϯάͰ࠾༻
!5",",*/(·ͱΊ
!5",",*/(ͳͥ୲͢ΔͷͩΖ͏͔1IPUPCZ&WBO%FOOJTPO6OTQMBTI5PVHI2VFTUJPO
!5",",*/(զʑ୲࡞ۀલఏʹͳ͍ͬͯͨͷͰͳ͍͔୲͢Δ͜ͱΛલఏͱͯͦ͠ΕΛ͍͔ʹ͏·͘Δ͔ʹऴ͍࢝ͯͨ͠ʁ
!5",",*/(ࣄͷ࣭ɺνʔϜͷঢ়گͳͲʹ߹Θ͍͚ͤͯΒΕΔ͜ͱ͕େࣄ
!5",",*/(ϞϒϓϩάϥϛϯάԿΛղܾͯ͘͠Εͳ͍͠ɺ୭͕ϞϒϓϩάϥϛϯάΛؾʹೖΔΘ͚Ͱͳ͍ҙ
!5",",*/(1IPUPCZ$ISJT1PUUFS IUUQTHPPHM:7V/
!5",",*/(5FBN1SPEVDU 1SPDFTT#J[ %FW
!5",",*/(5FBN1SPEVDU1SPDFTT#J[ %FWνʔϜʹ͖߹Θͣʹ্ลͷΓํ͚ͩਅࣅͯ͠͏·͍͘͘Θ͚͕ͳ͍
!5",",*/(Πϝʔδਓͷಈ͖ ू·ͬͯ͘Δ ूΊΒΕΔଘࡏ ਓͷू߹ࣄͷྲྀΕ νʔϜʹߩݙ͢Δ ΞαΠϯ͞Εͯ͜ͳ࢟͢ ೳಈత डಈతνʔϜ ूஂ
!5",",*/(νʔϜʹͳͥਓ͕ू·ͬͯ͘Δͷ͔
!5",",*/(νʔϜʹͳͥਓ͕ू·ͬͯ͘Δͷ͔৺ཧతʹ҆શ͔ͩΒਓ͕ू·ͬͯ͘Δ
!5",",*/(͜ͷߏਤ͕·͞ʹϞϒϓϩάϥϛϯά.PC
!5",",*/(ϓϩμΫτ͕ಈ͍ͨ࣌ɺϓϩμΫτΛ͓ͬͨ٬͞Μ͕تΜͰ͘Εͨ࣌ɺؒͱҰॹʹʮͬͨʔʂʂʯͱݴ͍ͬͯ·͔͢ʁ
!5",",*/(*%FW
!5",",*/(ࢥ͍ग़ͤͯ͘͞Εͨͷ͕Ϟϒϓϩάϥϛϯάͩͬͨ
!5",",*/(͓·͚
!5",",*/(ϞϒϓϩάϥϛϯάͷΠϕϯτʹࢀՃ͢ΔIUUQTXXXGBDFCPPLDPNHSPVQT.PC-07&IUUQTWBMMBCPDPOOQBTTDPN.PC1SPHSBNNJOH7BM.PC-07&✓ ϞϒϓϩϫʔΫγϣοϓ✓ ฏʹ͓ञΛҿΈͳ͕ΒϞϒϓϩ✓ ϰΝϧݚڀॴ͞ΜͰෆఆظ։࠵த✓ 'BDFCPPLίϛϡχςΟ✓ Ϟϒϓϩʹؔ͢ΔΠϕϯτͳͲͷใ Λ·ͱΊΔΑ͏ʹ͍ͯ͠·͢
!5",",*/(ϞϒϓϩάϥϛϯάͷݱΛݟʹߦ͘✓ ࣋ଓՄೳͳϖʔεͰ࣮ࢪத✓ ࣮ࡍͷϞϒνʔϜʹೖͬͯϞϒΛମݧͰ͖·͢✓ ϊϯΤϯδχΞͰίʔυॻ͚·͢✓ ମݧޙʹࣄྫڞ༗ˍ͍ٞͯ͠·͢✓ ීஈͷϞϒݱݟֶ͍ͯͨͩ͘͜͠ͱ͕Ͱ͖·͢ϞϒϓϩݱମݧπΞʔڵຯ͕͋Δํ͓ؾܰʹ͝࿈བྷԼ͍͞'BDFCPPLIUUQTXXXGBDFCPPLDPNUBLBLJOH5XJUUFSIUUQTUXJUUFSDPN5",",*/(
!5",",*/(ϞϒϓϩάϥϛϯάͷΛฉ͖͍ͨࢲͨͪͷͰΑ͚ΕɺՄೳͳݶΓରԠ͍͖ͤͯͨͩ͞·͢ڵຯ͕͋Δํ͓ؾܰʹ͝࿈བྷԼ͍͞'BDFCPPLIUUQTXXXGBDFCPPLDPNUBLBLJOH5XJUUFSIUUQTUXJUUFSDPN5",",*/(͖ͯͨΓɺ͔ͬͨ͠Γɺձ͔ࣾΒ͍ͳ͘ͳͬͯͨΒ͝ΊΜͳ͍͞ɻɻɻ
!5",",*/(IUUQTTQFBLFSEFDLDPNUBLBLJOHNPCQSPHSBNNJOHTUBSUVQNBOVBMOVNCFSNPCQSPHSBNNJOHOVNCFSNPCVQVSPελʔτΞοϓΨΠυ࡞Γ·ͨ͠
!5",",*/(-FUTFOKPZ.PC1SPHSBNNJOH