チーム開発におけるリモートワークについて、話者の経験を元に資料をまとめました。 Rails Developers Meetup 2018 での発表資料です。 https://techplay.jp/event/655769
2018.03.25ϦϞʔτͳνʔϜ։ൃRails Developers Meetup 2018Ryunosuke Sato(@tricknotes)
View Slide
@tricknotes✤ ྲྀ͠ͷ web ܥϓϩάϥϚ✤ Rails Ͱ͓ࣄͯ͠·͢ɻ✤ JavaScript ͪΐͬͱॻ͖·͢
2018.03.25Rails Developers Meetup 2018ϦϞʔτͳνʔϜ։ൃRyunosuke Sato(@tricknotes)
✤ ͜͜ͰɺϦϞʔτϫʔΫͷࣄྫΛΑ͘ฉ͘Α͏ʹͳ͖ͬͯͨ✤ ͍Ζ͍ΖͳɺΑ͞ɾɾ͠͞✤ ͨͩͦ͠ΕΒɺͦͷͻͱɾͦͷνʔϜͷ✤ ·ͨɺʮϦϞʔτϫʔΫʯͰΠϝʔδ͢Δಇ͖ํ͕ͻͱʹΑͬͯҧ͍ͬͯͦ͏લஔ͖
ࢲʹ͍ͭͯ✤ ڌࡳຈ✤ ଟ͘ͷνʔϜʹϦϞʔτͰࢀՃ͖ͯͨ͠✤ 7͘Β͍✤ ؔΘΓํνʔϜͷঢ়گ৭ʑ✤ ্ख͍ͬͨ͘Γ͍͔ͳ͔ͬͨΓ
✤ νʔϜ։ൃͱͯ͠ͷϦϞʔτϫʔΫ✤ ͠͞ʹ͍ͭͯͪΐͬͱߟ͑ͯΈΔ✤ ࣗͷελϯε✤ ࣗͷ͍··Ͱͷ͍͔ͭ͘ͷମݧஊࠓ͢͜ͱ
ରऀ✤ ͜Ε͔ΒϦϞʔτϫʔΫΛ࢝Ί͍ͨνʔϜ✤ ͍·ϦϞʔτϫʔΫΛ͍ͬͯΔ͚Ͳ্ख͍ͬͯ͘ͳ͍ͻͱͳʹ͔ͷώϯτʹͳΕʂ
νʔϜ։ൃͱͯ͠ͷϦϞʔτϫʔΫ
“ձ͔ࣾΒΕͨʢϦϞʔτʣॴͰۀΛߦ͢Δۈܗଶ”– https://jinjibu.jp/keyword/detl/766/ͦͦϦϞʔτϫʔΫͬͯʁ
✤ ͨͩԕִͰಇ͘͜ͱɺҎ্ͷҙຯͳ͍ͦͦϦϞʔτϫʔΫͬͯʁ
✤ ΕΔϞνϕʔγϣϯ·ͪ·ͪ✤ Εํ·ͪ·ͪͦͦϦϞʔτϫʔΫͬͯʁ
ϦϞʔτϫʔΫͷϞνϕʔγϣϯ✤ ܦӦऀ✤ ޏ༻ػձͷ֦େ✤ ΦϑΟεΛͳͯ͘͠ܦඅݮ✤ νʔϜ✤ ಇ͖͢͞✤ ϝϯόʔ✤ ϫʔΫϥΠϑόϥϯε✤ Ո
ϦϞʔτϫʔΫͷΕํ✤ िҰճɺ͖ͳॴͰಇ͘✤ ͖ͳॴ͔Β͖ͳ࣌ؒʹಇ͘✤ Ֆคͷ࣌ظ͚ͩผͷҬͰಇ͘✤ …Α͘ฉ͘ϦϞʔτϫʔΫͷྫ
“ϦϞʔτϫʔΫ”ͷ࣮͍Ζ͍ΖͦͦϦϞʔτϫʔΫͬͯʁ
͠͞ʹ͍ͭͯߟ͑ͯΈΔ
ಉظͱඇಉظ✤ νʔϜͱͷಉظ✤ ࣌ؒతɾཧతʹಉظͷλΠϛϯάΛઃ͚Δ✤ සΛ্͛Δͷ͕Φεεϝ✤ νʔϜ֎ͱͷಉظ✤ Ͳ͜·Ͱ͕νʔϜʁ
ϦϞʔτͷม✤ ཧ✤ ࣌ؒଳ✤ ίϛϡχέʔγϣϯํ๏ॴ͕ΕΔͷʹͱͳͬͯɺ͍Ζ͍ΖͱඇಉظʹͳΓ͕ͪ
ϦϞʔτͷม✤ ཧ✤ ΦϑΟεҎ֎ͷॴͰࣄΛ͢Δ✤ ࣌ؒଳ✤ ίΞλΠϜ͕ҧ͏✤ ίϛϡχέʔγϣϯํ๏✤ ωοτϫʔΫଳҬ͕ڱ͍✤ ϏσΦνϟοτͰ͖ͳ͍✤ ݴޠ͕ҧ͏
ϦϞʔτͷมʮ͍͠ʂʯͱײͨ͡Βɺ͠͞Λ͍͔ͭ͘ͷมʹղͯͦ͠ΕͧΕʹ͍ͭͯௐͰ͖Δ͔ࢼͯ͠ΈΔ
ϦϞʔτͷม✤ ཧ✤ ΦϑϥΠϯͷසΛ૿͢✤ ࣌ؒଳ✤ ίΞλΠϜΛἧ͑Δ✤ ίϛϡχέʔγϣϯํ๏✤ιϑτΣΞͰղܾͰ͖Δʁ͖͋ΒΊΔ…ʁΦϑϥΠϯʹ͍ۙঢ়ଶʹͳͬͨΒͲ͏ͳΔʁ
✤ ϦϞʔτνʔϜ։ൃʹ͓͍ͯίϛϡχέʔγϣϯʹ੍Λ՝͢✤ ͜Εؒҧ͍ͳ͍✤ ͰͲ͏νʔϜͰड͚ೖΕΔ͔ʁ੍ࣄ߲
ͻͱͷࣄ✤ ࣄͻͱͦΕͧΕ✤ ʮৗ࣌ଓʯ͕͍͠߹✤ ίΞλΠϜ͕߹Θͳ͍߹✤ ϜϦΛ͠ͳ͍✤ ϜϦ͢Δͱিಥ͕ى͜Γ͕ͪ
ෛͷϑΥʔε✤ ಉظසΛԼ͛ΔͱɺͩΜͩΜ͕ࠩେ͖͘ͳΔ✤ શһ͕ผεϨου✤ దٓϚʔδ͢Δ✤ λΠϜϥάʹΑΔෆ৴ײ✤ ͢Εҧ͍
ෛͷΥʔε✤ ෛͷϑΥʔε͕ՃΘΔͱɺͳ͓͞Βಉظͨ͘͠ͳ͍ɾ͘͠ϜϦϠϦಉظ͍ͤͨ͞ϑΥʔε͕ಇ͘✤ ఆظΠϕϯτΛڬΉͷ͕Φεεϝ✤ ࣍ɾि࣍ɾ݄࣍̋̋̋
͍ͨͤͭͳ͜ͱ✤ ͬͱͨ͠Β૬खͷ߹Λฉ͍ͯΈΑ͏✤ ձ͢ΔλΠϛϯάΛܾΊ͓ͯ͘ͷ͕؆୯✤ ΓํʹϑΥʔΧε͠ͳ͍✤ ্ख͘Ͱ͖ͳ͍ࣗͨͪʹओ؟Λஔ͍ͯ͠·͍͕ͪ✤ ୭ʹͱͬͯͷ “ϕετϓϥΫςΟε” ʁ
ࣗͷελϯε
@tricknotes ͷ੍ࣄ߲✤ ຊڌ͕ࡳຈ✤ ཧత੍✤ (͚ͲɺΦϑϥΠϯͷํ͕͖)✤ ͍͔ͭ͘ࣄΛֻ͚͍࣋ͪͯ͠Δ✤ ύʔτλΠϚʔ✤ ࣌ؒత੍
·ͣɺҰ൪͍͍ͭΛߟ͑Δ✤ શһϑϧλΠϜ✤ ׂΓࠐΈ͠์ɾ͞Ε์✤ ఆظతʹಉظ͢Δ(ேձɾ༦ձ)͍͍ͭ = Θ͕ͨ͠νʔϜʹߩݙͰ͖ͦ͏ͳํ๏
Ҿ͖ࢉͰߟ͑Δ✤ શһϑϧλΠϜ✤ →ͳΔ͘ίΞλΠϜΛͦΖ͑Δ✤ ׂΓࠐΈ͠์ɾ͞Ε์✤ →νϟοτͷϨεϙϯεΛ࠷༏ઌ✤ →ϏσΦνϟοτৗ࣌ଓ✤ ఆظతʹಉظ͢Δ(ேձɾ༦ձ)✤ →Δ
✤ ϦϞʔτͷมΛۃྗݮΒ͢✤ ͨͩ͠ແཧڧ͍͠ͳ͍✤ ૬खͷ߹ɺͷ߹✤ Ή͠Ζݱʹԡ͔͚͠Δ✤ ʮͨͩͦͷʹ͍ͳ͍͚ͩʯΛࢦ͢
Ҿ͖ࢉ͗͢͠ͳ͍Α͏ʹ✤ ΈΜͳ͘͠ϦϞʔτͰ͋ΔͨΊʹ…✤ΦϑϥΠϯͰձ͠ͳ͍✤ΦϑϥΠϯͰͨ͜͠ͱΛ࠶ݱ͢Δ✤ ใୡͷͨΊʹ…✤ͨ͜͠ͱΛ”ڞ༗"͢Δ✤ࢥͬͨλΠϛϯάͰձΛ࢝ΊΔ
✤ ϦϞʔτ͕ݪҼͰࣦഊͨ͜͠ͱͳ͍✤ ࣦഊ͢Δͱ͖ผͷ͕͋Δ✤ ϦϞʔτ͕ݪҼͰ·͕֦ͣ͞େ͢Δ͜ͱ͋Δ͔͠Εͳ͍✤ Ή͠Ζɺௐ͢Δػձͳ͍͚͔ͩ…✤ ͋ͳͨͷ”Ұ൪͍͍ͭ”ʁ
͍͔ͭ͘ͷ࣮ྫ
έʔε1νʔϜͷલఏ✤ ϑϥοτͳνʔϜ✤ Ո͔ΒͰͨ͘ͳ͍Ͱ͟͝Δ✤ Ոఉͷ߹✤ PO ͱΦϑϥΠϯͰिҰճϛʔςΟϯά✤ ಇ֤࣌ؒࣗ͘Γ͍࣌ؒ͢Ͱ
έʔε1՝ͱߦಈ✤ ૬ஊ͕ϦΞϧλΠϜʹߦ͑ͳ͍✤ →ேձͱ༦ձͷ͚࣌ؒͩݻఆ✤ ͍·ͲΕΛͲ͏͍͏ํͰͬͯΔΜ͚ͩͬʁ✤ →िҰճͷ PO ͱͷϛʔςΟϯάޙɺΦϑϥΠϯͰܭըήʔϜ✤ ࡉ͔͍Λߟ͑ΔΑΓɺ࣌ؒΛܾΊͯձ͢Δ͜ͱͰ͍͍ͩͨղܾͨ͠
έʔε2νʔϜͷલఏ✤ ͱͱΦϑϥΠϯͷνʔϜ✤ ͋ΔಥવࢀՃ✤ εςʔΫϗϧμʔ͕ଟ͘ɺྲྀΕ͕ૣ͍✤ ಓ۩ཱͯΦϑϥΠϯ͕த৺✤ ϗϫΠτϘʔυ✤ ཧΧϯόϯ✤ ேձɾ༦ձ
έʔε2՝ͱߦಈ✤ ཧͷಓ۩ཱͯ܈✤ ͜Ε͜Εͷྑ͕͋͞Δ✤ →ఆظతʹϗϫΠτϘʔυͷεΫγϣΛૹͬͯΒ͏✤ →ேձɾ༦ձελϯσΟϯά✤ ΧϯόϯΦϯϥΠϯʹ͠ͳ͔ͬͨ✤ νʔϜͱͯ͠ɺͦͷ΄͏͕Χϯόϯ͕׆͖͍ͯΔײ͕͋ͬͨ͡✤ ྲྀΕ͕ૣ͍ͷͰɺີʹίϛϡχέʔγϣϯͱΓ͍ͨ✤ →ϏσΦνϟοτͰৗ࣌ଓ
έʔε3νʔϜͷલఏ✤ ͪ͜Β͕ଟͷϦϞʔτ✤ ͱͱΦϑϥΠϯͰͷ։ൃΛܦݧ͍ͯͨ͠✤ ৗ࣌ϏσΦνϟοτଓɺ͙͢ʹ͕ಧ͘ঢ়ଶΛҡ࣋
έʔε3՝ͱߦಈ✤ ίϛϡχέʔγϣϯͷີΛۉʹอͭ✤ →ΦϑϥΠϯͰࣄͷձΛ΄΅ःஅ✤ →શମతʹ্ख͍͔͘ͳ͍…✤ શһۉʹϦϞʔτࢼͯ͠Έͨ✤ →શһۉʹෆศͳঢ়گʹ…
ͦͷଞͷνʔϜͰͷΤϐιʔυ✤ ΦϑϥΠϯ/ΦϑϥΠϯͷνʔϜͷதܧ✤ ৗ࣌ଓ͚ͩͲ୭͍ͳ͍…✤ ผͷνʔϜ͔Β૽͕͍͠ͱౖΒΕͨΓ…✤ …
✤ ʮ͍͍ϦϞʔτϫʔΫͷܗʯɺνʔϜʹΑͬͯຖճҧͬͨ✤ ΓํΛݟ͚͍ͭͯ͘ͷָͰͳ͍✤ ͨͩ͠ɺϦϞʔτͰͳ͍ͱҰॹʹࣄ͕Ͱ͖ͳ͔ͬͨͻͱͨͪɾ࡞Εͳ͔ͬͨϓϩμΫτ͕͋Δ
·ͱΊ
·ͱΊ✤ ϦϞʔτ߹͍✤ “͍͍ܗ”νʔϜʹΑΓ͚Γ✤ Γ͍͢ܗΛৗʹߟ͍͖͑ͯ·͠ΐ͏