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

Team Refactoring -強いチームをつくる技術- #dotsconf

95aaab3d693889550fd2e7ae02f2f789?s=47 TAKAKING22
February 27, 2016

Team Refactoring -強いチームをつくる技術- #dotsconf

2016年2月27日(土)Dots Conference Spring 2016にて。
「Team Refactoring -強いチームをつくる技術-」。

95aaab3d693889550fd2e7ae02f2f789?s=128

TAKAKING22

February 27, 2016
Tweet

Transcript

  1. 5FBN3FGBDUPSJOH ڧ͍νʔϜΛͭ͘Δٕज़ ٴ෦ܟ༤ !5",",*/( 1IPUPCZ/BUVSBM)FBSU IUUQTHPPHMWK;-

  2. !5",",*/( ٴ෦ܟ༤ !5",",*/( ✓ָఱגࣜձࣾ ✓ՎͬͯགྷΕΔΤϯδχΞ ✓໺ੜͷΞδϟΠϥʔ ✓अಓεΫϥϜϚελʔ ✓νΣϯδΤʔδΣϯτ ✓ΞΠυϧϚελʔ ✓ϨΠϯϝʔΧʔ

  3. !5",",*/( ετϨονλΠϜ 1IPUPCZ4*-)06&55&%&4*(/ IUUQLBHFEFTJHODPN

  4. !5",",*/( ·ΘΓΛݟ͍ͯͩ͘͞ ✓͙͢ʹཱͬͯ΍Δਓ ✓·ΘΓΛݟͯ͸͡ΊΔਓ ✓ઈରʹ΍Ζ͏ͱ͠ͳ͍ਓ ✓ϊϦϊϦͳਓ ✓ΠϠΠϠͳਓ

  5. !5",",*/( 1IPUPCZ.FMBOJF IUUQTHPPHM#R("/X ͍ΖΜͳਓ͕͍Δத νʔϜͰ΋ͷͮ͘Γ͢Δͷ͸େม

  6. !5",",*/( ։ൃݱ৔ͰΑ͘ݟΔ໰୊ ✓ϨΨγʔγεςϜ ✓ϝϯόʔͷεΩϧ͕௿͍ ✓ਓࡐ͕ෆ଍͍ͯ͠Δ ✓ׂΓࠐΈλεΫ͕ଟ͍ ✓͍ͭ΋Ԍ্͍ͯ͠Δ

  7. !5",",*/( 1IPUPCZϑϦʔࣸਅૉࡐͺͨͦ͘ IUUQTXXXQBLVUBTPDPN ࣮͸ຆͲ͕ٕज़తͳ໰୊Ͱ͸ͳ͘ νʔϜɾίϛϡχέʔγϣϯͷ໰୊

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

  9. !5",",*/( ։ൃͷ࢓૊Έ͸޿·͍ͬͯΔ͕ɺ ݱ৔ͷ໰୊͸͋·ΓมΘͬͯͳ͍

  10. !5",",*/( 1IPUPCZMPBCBDPO IUUQTHPPHMKQ697: l;ͭ͏zʹ΍͍ͬͯΔ͚ͩͰ͸ ͏·͍͔͘ͳ͍ͷ͔΋͠Εͳ͍

  11. !5",",*/( 1IPUPCZ$ISJT1PUUFS IUUQTHPPHM7/L['( ࠩ෼͸ͳΜͩΖ͏͔ʁ

  12. !5",",*/( ✓μϝͳϓϩμΫτΛΑ͍ͭ͘ΓํͰ
 ͭ͘Δͱμϝͳ΋ͷ͕ੜ·ΕΔ ✓Α͍ϓϩμΫτΛμϝͳͭ͘ΓํͰ
 ͭ͘Δͱμϝͳ΋ͷ͕ੜ·ΕΔ Α͍ϓϩμΫτΛΑ͍ͭ͘ΓํͰ
 ͭ͘Δඞཁ͕͋Δ

  13. !5",",*/( 1IPUPCZ(JVTFQQF.JMP IUUQTHPPHM/2797 ϓϩμΫτ͸ܧଓ͢Δ

  14. !5",",*/( Ϗδωε ։ൃ νʔϜ ϓϩμΫτ։ൃͷߏ੒ཁૉ

  15. !5",",*/( νʔϜ ։ൃ Ϗδωε νʔϜ͕Ϗδωεͱ։ൃͷج൫

  16. νʔϜ !5",",*/( νʔϜ͕༳Β͛͹่Εͯ͠·͏ ։ൃ Ϗδωε

  17. !5",",*/( Α͍ϓϩμΫτΛ Α͍ͭ͘ΓํͰ
 ͭ͘Γଓ͚Δ ڧ͍νʔϜ͕ඞཁ 1IPUPCZ/BUVSBM)FBSU IUUQTHPPHMWK;-

  18. !5",",*/( 4MJEFCZ3ZV[FF͞Μ IUUQHPPHM-NDRK1

  19. !5",",*/( ΤϯδχΞͷࣗ෼͕ɺ ࣮ࡍͷݱ৔ͰԿ౓΋খ͞ͳࣦഊ Λ܁Γฦ͠ͳ͕Βڧ͍νʔϜΛ ͭ͘ΔͨΊʹ΍͖ͬͯͨ͜ͱɺ ͦͷதͰಘͨνʔϜͮ͘Γͷ ίπͱඞཁͳϚΠϯυηοτ ࠓ೔࿩͢͜ͱ

  20. !5",",*/(  ڧ͍νʔϜͱ͸

  21. !5",",*/( νʔϜ͸ɺڞ௨ͷ໨తɺୡ੒͢΂͖ ໨ඪɺͦͷͨΊͷ΍ΓํΛڞ༗͠ɺ ࿈ଳ੹೚ΛՌͨͤΔิ׬తͳεΩϧ Λඋ͑ͨগਓ਺ͷू߹ମ CZ8JLJQFEJB

  22. !5",",*/( 1IPUPCZ'MBWJPd IUUQTHPPHM(;'J νʔϜʺӊ߹ͷऺ

  23. !5",",*/( 1IPUPCZ(SPVOEIPQQJOH.FSTFCVSH IUUQTHPPHMZI[3Y ڞ௨ͷ໨తɺίϥϘϨʔγϣϯ

  24. !5",",*/( ڧ͞ͷఆٛ͸νʔϜʹΑͬͯҧ͏ 1IPUPCZϑϦʔࣸਅૉࡐͺͨͦ͘ IUUQTXXXQBLVUBTPDPN

  25. !5",",*/( ڞ௨͍ͯ͠Δ͜ͱ ✓  ʜ OҎ্Ͱ͋Δ ✓มԽʹڧ͍ ✓νʔϜͷจԽ͕ଘࡏ͢Δ ✓վળαΠΫϧ͕·Θ͍ͬͯΔ ✓νʔϜ͕ܧଓతͰ͋Δ

    O
  26. !5",",*/(  νʔϜϦϑΝΫλϦϯάͷਐΊํ

  27. 1IPUPCZ/BUVSBM)FBSU IUUQTHPPHMWK;- !5",",*/( ڧ͍νʔϜ͸ҙࣝతʹͭ͘Δ

  28. !5",",*/( 2୭͕ʁ "νʔϜ͕

  29. 1IPUPCZ&MJ$ISJTUNBO IUUQTHPPHM[P28 !5",",*/( ୭͔͕΍͍ͬͯΔ಺͸ܧଓ͠ͳ͍ ࣗసंΛԡ͘͢Β͍ͷΠϝʔδ

  30. !5",",*/( ࣗ෼ୡͰࣗ෼ୡΛڧ͘͢Δ ͦͯͦ͠ΕΛࣗ෼ୡͰଓ͚Δ

  31. !5",",*/( 5FBN3FGBDUPSJOH 1IPUPCZ3BJOJFS.BSUJO"NQPOHBO IUUQTHPPHMXW;37

  32. !5",",*/( ࠓ νʔϜͷࠓΛ஌Δ

  33. !5",",*/( ࠓ ڧ ڞ௨ͷ໨తΛͭ͘Δ

  34. !5",",*/( ࠓ ڧ ࣍ ϒϨΠΫμ΢ϯͨ͠໨ඪΛઃఆ

  35. !5",",*/( ࠓ ڧ ࣍ ࣮ࢪ˰ৼΓฦΓ˰࣍ͷ໨ඪΛઃఆ

  36. !5",",*/( ࠓ ڧ ͦΕΛͻͨ͢Β܁Γฦ͢

  37. !5",",*/( 5FBN3FGBDUPSJOH νʔϜͷࠓΛ஌Δ ڞ௨ͷ໨తΛͭ͘Δ ໨తΛϒϨΠΫμ΢ϯͯ͠໨ඪΛઃఆ ݁ՌΛͰ͖Δ͚ͩ7JTVBMͰ;Γ͔͑Δ ͦΕΛͻͨ͢Β܁Γฦ͢

  38. !5",",*/( 4MJEFCZ3ZV[FF͞Μ IUUQHPPHM-NDRK1 ࠞཚ͍ͯ͠ΔνʔϜ͸ ͜ͷ͋ͨΓΛ͏Ζ͏Ζ ͍ͯ͠Δ͜ͱ͕ଟ͍

  39. !5",",*/( CZ7MBEJNFS4IJPTIWJMJ IUUQTHPPHM$NO&.# ࠞཚ͍ͯ͠Δͱ͜ΖͰ ௅ઓͯ͠΋͞ΒͳΔࠞཚΛੜΉ

  40. !5",",*/( 5FBN3FGBDUPSJOH νʔϜͷࠓΛ஌Δ ࠔ͍ͬͯΔ໰୊͔Βղܾ͢Δ ৼΓฦΓͷ৔Λͭͬͯ͘੒ޭΛتͿ ͠͹Β͘ଓ͚ͯश׳Խ͢Δ ڞ௨ͷ໨తΛͭ͘Δ ໨తΛϒϨΠΫμ΢ϯͯ͠໨ඪΛઃఆ ݁ՌΛͰ͖Δ͚ͩ7JTVBMͰ;Γ͔͑Δ ͦΕΛͻͨ͢Β܁Γฦ͢

  41. !5",",*/( ࣮ࡍͷݱ৔Ͱ΍͍ͬͯΔ 5FBN3FGBDUPSJOHΛ Ұ෦͝঺հ

  42. !5",",*/( $BTF POΧϑΣτʔΫ ✓νʔϜʹೖͬͨΒ࣮ࢪ͢Δ ✓֤νʔϜϝϯόʔͱPOͰ࿩͢ ✓ίʔώʔΛҿΈͳ͕Βؾܰʹ࿩͢ ✓ͳΔ΂͘૬खʹ࿩ͯ͠΋Β͏ ✓૬खͷߟ͍͑ͯΔ͜ͱΛௌ͘ ✓ʮ͜͏ͳͬͨΒ͍͍ͷʹͳʯ ✓ͦͷޙ΋ఆظతʹ࣮ࢪ͢Δ

  43. !5",",*/( $BTF CZ.BUUIFX)VSTU IUUQTHPPHMD36Z9 େ͖ͳ໰୊ʹ͸օؾ͍͍ͮͯΔ ݸਓݸਓͷຊԻΛ࿩͢৔ Ωʔύʔιϯ͕Θ͔Δ

  44. !5",",*/( $BTF ;Γ͔͑Γʢॳظʣ ✓νʔϜʹೖͬͨΒ౓ػձΛ໯͏ ✓࠷ॳ͸ΞΠεϒϨΠΫʹྗΛೖΕΔ ✓֤ݸਓ͕࿩͢ػձΛͭ͘Δ ✓શһͰߟ͑ͯબ୒͢Δ ✓খ͞ͳ੒ޭΛେ͖͘تͿ ✓࠷ޙʹଓ͚Δ͔Ͳ͏͔Λ໰͏ ✓ఆظతʹ࣮ࢪ͢Δ

  45. !5",",*/( $BTF গͣͭ͠Φʔφʔγοϓ͕ੜ·ΕΔ ҰఆͷϦζϜ͕ੜ·ΕΔ

  46. !5",",*/( $BTF νʔϜΠϯηϓγϣϯσοΩ ✓ࣗ෼ୡͰνʔϜͷڞ௨ͷ໨తΛ࡞Δ ✓Ͱ͖Δ͚ͩݟ͑Δ੒ՌΛઃఆʹ͢Δ ✓ఆظతʹ;Γ͔͑ͬͯߋ৽͢Δ ✓Ϛωʔδϟʔͱ͢Γ߹ΘͤΔ ✓͕࣌ؒऔΓʹ͚͘Ε͹ɺݸผʹώΞ Ϧϯάͯ͠Ұ෦·ͱΊ͓ͯ͘ ✓ͨͩ͠࠷ޙ͸νʔϜશһͰ߹ҙ͢Δ

  47. !5",",*/( $BTF

  48. !5",",*/( $BTF ✓νʔϜͷϛογϣϯ ✓νʔϜͷςʔϚ ✓νʔϜ๊͕͍͑ͯΔ໰୊ ✓νʔϜϨʔμʔνϟʔτ ✓νʔϜϩʔυϚοϓ ✓ݸਓͷνʔϜ΁ͷߩݙ

  49. !5",",*/( $BTF νʔϜͷڞ௨ͷΰʔϧ͕ ໌จԽ͞ΕΔ

  50. !5",",*/( $BTF νʔϜϨʔμʔνϟʔτ ✓νʔϜʹͱͬͯॏཁͳτϐοΫΛ
 ֤ࣗͰॻ͖ग़ͯ͠ڞ༗͢Δ ✓ಛʹେࣄͩͱࢥ͏ͭʹ౤ථ ✓બΜͩͭʹ͍֤ͭͯࣗͰ఺
 ຬ఺ͰݱࡏͷνʔϜΛධՁ͢Δ ✓શһͷฏۉΛϨʔμʔԽ͢Δ ✓ఆظతʹৼΓฦΓਐ௙Λه࿥͢Δ

  51. !5",",*/( $BTF

  52. !5",",*/( $BTF ࣗ෼ୡͰࣗ෼ୡͷ ఆੑతͳධՁΛ͢Δ

  53. !5",",*/( $BTF νʔϜϩʔυϚοϓ ✓νʔϜͰ5SZ͢΂͖͜ͱɾղܾͨ͠ ͍໰୊Λ֤ࣗͰॻ͖ग़͢ ✓Ϩʔμʔνϟʔτͷ߲໨ͷ಺ɺ
 ࠷΋͍ۙτϐοΫͷۙ͘ʹషΔ ✓τϐοΫ͝ͱʹ༏ઌॱҐΛܾΊΔ ✓݁ՌΛݩʹϩʔυϚοϓΛ࡞੒͢Δ ✓Ϛωʔδϟʔͱ͢Γ߹ΘͤΔ

  54. !5",",*/( $BTF

  55. !5",",*/( $BTF

  56. !5",",*/( $BTF νʔϜվળͷϩʔυϚοϓ͕
 શһͷڞ௨ೝࣝʹͳΔ

  57. !5",",*/( $BTF εΩϧϚοϓ ✓νʔϜʹඞཁͳεΩϧηοτΛϦε τΞοϓ͢Δ ✓֤ϝϯόʔ͕ࣗݾධՁΛ࣮ࢪ͢Δ
 FYˑਓʹڭ͑ΒΕΔ ˓̍ਓͰͰ͖Δ ˚αϙʔτ͕͋Ε͹Ͱ͖Δ ̇΍ͬͯΈ͍ͨ

     ✓ఆظతʹߋ৽͢Δ ✓৽ϝϯόʔͷड͚ೖΕ࣌΍࠾༻໘ஊ ͷ࣌ʹ࢖༻͢Δ ✓֤εΩϧͷڭҭίϯςϯπΛఏڙ
  58. !5",",*/( $BTF

  59. !5",",*/( $BTF νʔϜͷڧΈɾऑΈ͕Θ͔Δ ݸਓͷεΩϧΞοϓͷ໨ඪʹͳΔ ϝϯόʔೖସͷ൑அࡐྉʹͳΔ

  60. !5",",*/( ίπ ✓ຊ΍ϓϨθϯ΍ଞਓͰ͸ͳ͘ νʔϜ͔ΒͷֶͼΛୈҰʹ͢Δ ✓νʔϜʹɺݸਓʹ܏ௌ͢Δ ✓খͯ͘͞΋܁Γฦ͠ɺଓ͚Δ ✓νʔϜ΋ࣗ෼΋ָ͠Ή ✓ແཧ͸͠ͳ͍ɺૣΊʹఘΊΔ

  61. !5",",*/( FY೥൒ଓ͚Δͱʜ ճ;Γ͔͑ΓΛͯ͠  ݸͷΑ͔ͬͨΛݟ͚ͭͯ   ݸͷ໰୊ͱ޲͖߹͍ ݸͷ5SZΛ͖ͯͨ͠

  62. !5",",*/( FY೥൒ଓ͚Δͱʜ ΠϠͰ΋Α͘ͳΔ 5SZͷ૯਺

  63. !5",",*/(  νʔϜΛ௒͑ͨͦͷઌ

  64. !5",",*/( νʔϜ ։ൃ Ϗδωε νʔϜ͕Ϗδωεͱ։ൃͷج൫

  65. !5",",*/( νʔϜ ։ൃ Ϗδωε ૊৫ νʔϜ ։ൃ Ϗδωε ૊৫͕νʔϜͷج൫

  66. !5",",*/( νʔϜ ։ൃ δωε ૊৫ νʔϜ ։ൃ Ϗδωε ૊৫͕νʔϜΛࢧ͑ΒΕͳ͍৔߹

  67. !5",",*/( ૊৫ͷߏ଄͕γεςϜͷઃܭʹ΋ େ͖ͳӨڹΛ༩͑Δ CZϝϧϰΟϯɾίϯ΢ΣΠʢίϯ΢ΣΠͷ๏ଇʣ

  68. !5",",*/( ૊৫ͷߏ଄͕ϓϩμΫτͷ඼࣭ʹ΋ େ͖ͳӨڹΛ༩͑Δ CZϑϨσϦοΫɾϒϧοΫεʢϒϧοΫεͷਓ݄ͷਆ࿩ʣ

  69. !5",",*/( "SUJDMFCZ1VCMJDLFZ IUUQHPPHM&-X ૊৫͕඼࣭ʹ༩͑ΔӨڹͷ࣮ূ

  70. !5",",*/( ࠷ۙͷ)PU5PQJDT΋૊৫བྷΈ %FW0QT .JDSPTFSWJDF Ձ஋ఏڙ·ͰͷϦʔυλΠϜͷ࿩ ͳͷͰ૊৫Λ௒͑ͨվળ͕ඞཁ ૊৫ͱηοτͰߟ͑ͣʹྲྀߦΓʹ ඈͼ͍ͭͯʹಋೖ͢Δͱࣦഊ͢Δ

  71. !5",",*/( 1IPUPCZ%FOOJT+BSWJT IUUQTHPPHM%78.CC ΧϕΛ௒͑ΔͨΊʹ ૊৫վળ͸ෆՄܽ

  72. !5",",*/( 1IPUPCZ%BOEFMJPO4PVQ IUUQTHPPHMF9KNI ૊৫ͷ࿩ʹͳΔͱݏԎ͕ͪ͠

  73. !5",",*/( ࣗ෼ୡͷ૊৫Λม͑Δͷ͸୭ͩ 1IPUPCZϑϦʔࣸਅૉࡐͺͨͦ͘ IUUQTXXXQBLVUBTPDPN

  74. !5",",*/( ະདྷձٞ ✓૊৫ʹ͍ͭͯ;Γ͔͑Δ৔ ✓Ϛωδϝϯτਞ΋ࢀՃ ✓େ͖ͳ໰୊΋ٞ࿦ͷର৅ʹ͢Δ ✓ະདྷࢤ޲Ͱߟ͑Δ ✓ͦͷ··ҿΈձʹߦ͘ྲྀΕ ✓͏·͍ͬͨ͘ΒαΠΫϧʹ͢Δ $BTF

  75. !5",",*/( ҼՌؔ܎ਤΛͭͬͯ͘ࣄલ४උ $BTF

  76. !5",",*/( શһͰ૊৫ͷ໰୊ɾ՝୊Λ෼ੳ $BTF

  77. !5",",*/( νʔϜʹผΕͯվળࡦΛߟ͑Δ $BTF

  78. !5",",*/( ✓ࢣঊͱͳΔΤϯδχΞͷෆ଍ ✓৽͍ٕ͠ज़௅ઓ͕Ͱ͖͍ͯͳ͍ ✓໥͔ΔαʔϏε͕গͳ͍ ✓αʔϏε͕ଟ͗͢Δ ✓ͦ΋ͦ΋Ծઆཱ͕͍ͬͯͳ͍ $BTF ະདྷձٞͰग़ͨ1SPCMFN

  79. !5",",*/( ✓ࢥͬͨΑΓΈΜͳੵۃతͩͬͨ ✓ීஈ࿩ͤͳ͔ͬͨ࿩͕Ͱ͖ͨ ✓سጨͳ͍ҙݟ͕ग़ͨ ✓͓ޓ͍ͷߟ͑ํ͕Θ͔ͬͨ ✓૊৫ʹ͍ͭͯ࿩͢৔͕Ͱ͖ͨ $BTF ࢀՃऀ͔ΒͷϑΟʔυόοΫ

  80. !5",",*/( ͦͷޙͷҿΈձ͕Ұ൪੝Γ্͕ͬͨ 1IPUPCZϑϦʔࣸਅૉࡐͺͨͦ͘ IUUQTXXXQBLVUBTPDPN $BTF

  81. !5",",*/( 4MJEFCZࠤ౻͞Μ IUUQHPPHM;(O0

  82. !5",",*/(  ͜Ε͔ΒऔΓ૊Ή͋ͳͨ΁

  83. !5",",*/( ΍Βͳ͍ཧ༝͸ͨ͘͞Μݟ͔ͭΔ ✓ίʔυॻ͍͍͍ͯͨ ✓ͦΕ͸ࣗ෼ͷ࢓ࣄͰ͸ͳ͍ ✓͏ͪ͸େاۀ͔ͩΒͳ͔ͳ͔ʜ ✓๩͍͔͠ΒͦΕͲ͜Ζ͡Όͳ͍ ✓Ͳ͏ͤΘ͔ͬͯ͘Εͳ͍Α ✓νʔϜ͸ͱ΋͔͘૊৫͸ʜ

  84. !5",",*/( զຫ͢Δ͔ɺࣙΊΔ͔ɺม͑Δ͔ CZϢϧήϯɾΞϖϩʢ)PXUP$IBOHF5IF8PSMEʣ

  85. !5",",*/( զຫͰ͖ͳ͍ࣙ͠Ίͳ͍ͳΒ ม͑Ε͹ΑΖ͠΍Μ 1IPUP#Z4VEIBNTIV)FCCBS IUUQTHPPHM)O1*

  86. !5",",*/( Change Our World!! Follow Me