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

技術的負債と向き合う

 技術的負債と向き合う

オープンセミナー2017@岡山での発表スライドです

Naoya Ito

May 15, 2017
Tweet

More Decks by Naoya Ito

Other Decks in Technology

Transcript

  1. ن໛ײͳͲ •  ैۀһ໊͘Β͍ɻ͏ͪΤϯδχΞ໊ఔ౓ •  ೥ʹϩʔϯνɺ͋Ε͔Β೥ –  Ϩετϥϯ͸೥ •  αʔόʔ͸୆ఔ౓ • 

    $ɺ7#ɺ1ZUIPOɺ+BWB4DSJQUɺ(Pɺ4XJGU –  8FC͸ࠓͷͱ͜Ζ.JDSPTPGUςΫϊϩδ /&5$MBTTJD"41  –  σʔλΤϯδχΞϦϯάपΓ΍Πϯϑϥ͸1ZUIPOɺ/PEFɺ(P –  'BTUMZɺ"84 &#4ɺ-BNCEB ɺ42-4FSWFS#JH2VFSZ3FETIJGU •  ͨͩ͠ઈࢍҠߦதͰɺ·ͩΦϯϓϨ΋͋Δ
  2. ࣄ৘Λ஌Βͳ͍֎ͷਓ͕นଧͪ໾ʹͳΔ͜ͱͰ໰୊Λཧղ •  ౰ॳͷձ࿩ –  Ұٳʮ(JU)VCͱ͔ςετͱ͔΋ͬͱϞμϯͳ։ൃ͕͍ͨ͠ΜͰ͢ʯ –  OBPZBʮ͸΍Δؾ࣋ͪ͸෼͔Δ͕ɺ·ͣ͸ݱঢ়Λڭ͑ͯ͘Εʯ •  ʙिʹҰ౓ͷϛʔςΟϯά – 

    "ʮࠓ೔͸σϓϩΠपΓͷݱঢ়Λઆ໌͠·͢ʯ –  OBPZBʮ͜͜͸ɺ͜͏͍͏͜ͱ ʯ –  #ʮ͍΍ɺͦ͜͸͜Ε͜Ε͜͏͍͏ܦҢͰ͜͏ͳͬͯͯŋŋŋʯ –  OBPZBʮͳΔ΄ͲɻͰ΋ͦΕ͸ແବͬΆ͍Ͷʯ –  "ʮͦ͏Ͱ͢Ͷʯ
  3. ͦ΋ͦ΋ɺͳΜͰ͏·͍ͬͯ͘ͳ͔͔ͬͨ •  ٕज़త՝୊Λු͖ூΓʹ͢Δଘࡏͷෆࡏ –  ՝୊ͷݱঢ়੔ཧɺ໰୊ͷཧղΛਂΊΔϓϩηε͕͚͍ܽͯͨ –  $50ෆࡏ໰୊ DG3FCVJMEGN  • 

    ܧଓతʹ໰୊ʹ͍ͭͯߟ͑ΔɾऔΓ૊Ήϓϩηε͕ͳ͔ͬͨ –  Ұےೄʹ͸͍͔ͳ͍໰୊΋ଟ͍ˠܧଓతऔΓ૊Έ͕ඞཁ –  ݸʑਓͷҙ͚ࣝͩͰ͸ܧଓతʹऔΓ૊Ήͷ͸೉͍͠ ٕज़ސ໰͕ఆظతʹ๚໰ͯ͠ ͘Δɺͱ͍͏ͷ͕͜ΕΒΛղ ফ͢Δࡐྉͩͬͨͷ͔ͳͱ
  4. Ұํɺࣦഊͨ͜͠ͱ •  ݱঢ়൱ఆ͔Βೖͬͯ͠·ͬͨ͜ͱͰແ༻ͳۓுΛੜΜͩ –  *4)*/ͱ͍͏ϓϩδΣΫτ໊ŋŋŋʮ౗ນ͞ΕΔଆ͔ͱࢥͬͨʯ •  ݱߦγεςϜʹର͢ΔϦεϖΫτෆ଍ –  ࣗ෼ͨͪͷࠓ ച্ɺརӹɺڅྉ

    ͕ʮෛ࠴ʯ΍ʮϨΨγʔʯͱݺΜͰ ͍ΔͦΕ͔ΒੜΈग़͞Ε͍ͯΔ͜ͱΛ๨Εͯ͸͍͚ͳ͍ –  ೥΋΍͍ͬͯΕ͹ɺࣄۀత੒ޭΛऩΊͨαʔϏε͸·ͣؒҧ͍ͳ͘ ϨΨγʔΛ๊͑Δ •  ͦΕ͕౰વͳΜͩͱ͍͏લఏʹཱͭ ʮੋʑඇʑ͕ΤϯδχΞͷ࢟ ੎Ͱ͠ΐʯ͸ਖ਼࿦Ͱ͕͢ɺਓ ؒ͸ײ৘ͷੜ͖෺Ͱ͢
  5. •  &MBTUJDJUZʹ͚ܽΔσʔληϯλʔΠϯϑϥ ΦϯϓϨϛε  •  ΦΦΧϛগ೥Խ͍ͯ͠ΔΞϥʔτ௨஌ •  ܦ೥Ͱݹ͘ͳͬͨίʔυϕʔεɺΞʔΩςΫνϟ •  ൿ఻ͷλϨԽͨ͠ɺۀ੷ʹ௒ߩݙ͍ͯ͠ΔϚʔέ༻ࣾ಺%#

    •  ະͩʹ"044-Խ͞Ε͍ͯͳ͍αʔϏε •  ຑᙺ͍ͯͯ͠Α͘Θ͔Βͳ͘ͳ͍ͬͯΔॾʑ –  ϕϯμʔʹࢧ෷͍ͬͯΔӡ༻อकྉͷଥ౰ੑ –  ଓ͚Δඞཁ͕͋Δͷ͔ɺഇࢭ͍͍ͯ͠ͷ͔Θ͔Βͳ͍ϓϩηε –  ΤϯδχΞ͕࢖ͬͯΔಓ۩͕ݹΊ͔͍͠ –  ͍ΖΜͳࡶ༻ʹ௥ΘΕΔ։ൃϚωʔδϟʔ
  6. ෺ࣄ͕ਐΈ͸͡ΊΔ •  σʔληϯλʔˠΫϥ΢υ΁Ҡߦɻ͋ͱ਺ϲ݄Ͱ׬ྃ •  େྔͷΞϥʔτˠϞχλϦϯάΛ࠶ߏ੒ͯ͠੔ཧ •  ൿ఻ͷλϨ%#ˠ&NCVML EJHEBHͰ࠶ߏங •  "044-Խˠ׬ྃ

    •  ຑᙺ͍ͯͯ͠Α͘Θ͔Βͳ͘ͳ͍ͬͯͨࣄฑ –  ΤϯδχΞͷ੮ͷి࿩ˠશ෦औͬ෷ͬͨ –  ؂ࠪূ੻ͷͨΊ͚ͩͷνέοτˠ(JUͷཤྺͰ୅༻ͯ͠ࢭΊͨ –  ӡ༻อकྉˠֹͷେ͖ͳ΋ͷΛਫ਼ࠪ͠ϕϯμʔͱՁ֨ަব –  ΤϯδχΞͷಓ۩ˠ༧ࢉΛ֬อͯ͠޷͖ͳ΋ͷΛങ͑ΔϧʔϧΛ࡞ͬͨ –  Ϛωʔδϟʔˠ։ൃνʔϜઐଐͷ૯຿Λޏͬͯશ෦ר͖औͬͯ΋Βͬͨ
  7. എதΛԡ͢ •  Πϯϑϥͷ࡮৽͕ਐ·ͳ͔ͬͨͷ͸  •  ٕज़తʹࠔ೉ͳԿ͔ ن໛͕େ͖͗͢Δ  •  ˠಛघͰߴՁͳϋʔυ΢ΣΞΛ࢖͍ͬͯͨͨΊɺͦΕΛࣺͯΔϦεΫ͕େ

    ͖͘ݱ৔൑அ͕೉͔ͬͨ͠  •  ʮΠϯϑϥΛ೥ޙ·ͰʹΫϥ΢υʹҠͯ͠ʯʮ͑ͬʯ –  ํ਑Λશࣾతʹ໌֬Խͨ͜͠ͱͰपลͷҙࢤܾఆʹ΋ྑ͍೾໲ •  ৽͍͠ϓϩδΣΫτ͸ϚωʔδυαʔϏεΛར༻͢ΔલఏͰઃܭ͞ΕΔΑ͏ʹ ͦ͏͍ͨ͠ͱࢥ͍͚ͬͯͨͲɺ ୭͔͕എதΛԡ͞ͳ͍ͱඈͼࠐ Ίͳ͍ɺΈ͍ͨͳঢ়گΛଧ։
  8. ґଘؔ܎Λղআ͢Δ •  "044-Խ͕ਐ·ͳ͔ͬͨͷ͸  •  ΞϓϦέʔγϣϯΤϯδχΞ͸Πϯϑϥଆͷ࡞ۀ͕େมͩͱࢥ͍ͬͯΔ •  Πϯϑϥଆ͸ΞϓϦέʔγϣϯΤϯδχΞ͕େมͩͱࢥ͍ͬͯΔ •  ͓ޓ͍͕૬खͷ࡞ۀ଴ͪͩͱࢥ͍ࠐΈ

    –  ཁ݅Λ੔ཧͯ͠ɺґଘؔ܎Λղআ͢Δ •  ʮΞϓϦέʔγϣϯଆΛਐΊͯऴΘͬͨΒΠϯϑϥʹ࿈བྷͯ͠ʯ •  ʮΞϓϦέʔγϣϯଆؾʹͤͣઃఆΛਐΊͯ࿈བྷ͕͋ͬͨΒ੾Γସ͑ͯʯ •  ͙͢ʹ׬ྃͨ͠ɻҰ෦αʔϏε͸'BTUMZͰ)551Խ΋
  9. ӌճ࿏Λ௵ͯ͠ਖ਼໘ೖΓޱΛ։͚Δ •  Ϛʔέ%#͕ൿ఻ͷλϨԽͯ͠͠·ͬͨͷ͸  –  ෳࡶͳཁ݅ ٕज़ͷબ୒ϛε ଐਓԽ  – 

    ˠ୲౰͕ηΩϡϦςΟ্ͷࣄ৘͔Βᷖճ͢Δඞཁ͕͋Δŋŋŋͱࢥ͍ࠐΜͰͨ •  جװ%#͸ԕ͍ˠ౿Έ୆ͳͲͷᷖճ࿏Λܦ༝ͯࣾ͠಺΁ಧ͘&5- •  ᷖճͷ࢓ํ͕ಛघෳࡶͳ͍ͤͰ҉໧஌Խ •  $*40ͱձ࿩͠ɺ҆શ͕୲อ͞Εͨਖ਼໘ݰؔΛ࡞Δ –  ͋ͱ͸&NCVML EJHEBHͰ&5- –  044Λૉ௚ʹ࢖͏ –  มΘͬͨ͜ͱ͸ͤͣɺγϯϓϧʹɻ
  10. •  &MBTUJDJUZʹ͚ܽΔσʔληϯλʔΠϯϑϥ ΦϯϓϨϛε  •  ΦΦΧϛগ೥Խ͍ͯ͠ΔେྔͷΞϥʔτ௨஌ •  ܦ೥Ͱݹ͘ͳͬͨίʔυϕʔεɺΞʔΩςΫνϟ •  ൿ఻ͷλϨԽͨ͠ɺۀ੷ʹ௒ߩݙ͍ͯ͠ΔϚʔέ༻ࣾ಺%#

    •  ຑᙺ͍ͯͯ͠Α͘Θ͔Βͳ͘ͳ͍ͬͯΔॾʑ –  ϕϯμʔʹࢧ෷͍ͬͯΔӡ༻อकྉͷଥ౰ੑ –  ଓ͚Δඞཁ͕͋Δͷ͔ɺഇࢭ͍͍ͯ͠ͷ͔Θ͔Βͳ͍ϓϩηε •  ୅දྫŋŋŋ؂ࠪূ੻ͷͨΊͷ3FENJOFνέοτىථ –  ࢖ͬͯΔಓ۩ ϋʔυ ͕ݹΊ͔͍͠ –  ͍ΖΜͳࡶ༻ʹ௥ΘΕΔ։ൃϚωʔδϟʔ ʮҰ൪໽հͦ͏ͳ࿩Ͱ͚͢Ͳ͜ Ε͸Ͳ͏ͳͬͨΜͰ͢ ʯ ʮŋŋŋʯ
  11. ŋŋŋͱ͍͏Θ͚Ͱɺٕज़తΞϓϩʔνΛ։࢝ •  ೥Ҏ্લʹϩʔϯνͯ͠ɺͣͬͱͦͷ··։ൃ͖ͯͨ͠ҰٳϨετϥϯ ࣄۀ͸৳ͼ੝Γ  –  $MBTTJD"417#4DSJQU –  044ք۾Ͱ͍͏ͱੲͷ1)1Έ͍ͨͳײ͡ • 

    Ͳ͏͢Δ  –  /&5ʹҠߦ͢Δ $ͰϦϥΠτ͢Δ  –  ୤8JOEPXTϓϥοτϑΥʔϜ  –  ·ͣ͸ςετΛॻ͘  –  όοΫΤϯυΛ"1*Խͯ͠Ϟμϯͳϑϩϯτͱ෼཭ 
  12. ࣗࣾͷաڈͷ൓ল͔Β •  աڈʹओྗࣄۀͷେن໛ͳγεςϜϦχϡʔΞϧ –  ϏοάϦϥΠτ $MBTTJD"41͔Β/&5΁Ҡߦ  –  ϦχϡʔΞϧʹର͢Δظ଴͕ߴ·Γ͗ͯ͢ɺେখ͋ΒΏΔཁ͕݅ϦχϡʔΞϧ ʹدͤΒΕΔ

    –  ϓϩδΣΫτن໛͕େ͖͘ͳΓ͗͢ऩଋ·Ͱʹͱͯ΋ۤ࿑ͨ͠Β͍͠ •  ΞʔΩςΫνϟ͸ඞཁΑΓ΋ෳࡶͳ΋ͷʹͳͬͯ͠·ͬͨ •  ൓ল͔Β –  Կͷ໰୊Λղܾ͍ͨ͠ͷ͔ɺͦͷϑΥʔΧεΛ͸͖ͬΓͤ͞Δ –  ؔ৺ࣄΛ໌֬ʹ͠είʔϓΛখ͘͞ɻ࠶ઃܭʹ,*44ݪଇΛ๨Εͳ͍
  13. ΠσΟΦϜɺσβΠϯύλʔϯɺΞʔΩςΫνϟύλʔϯ •  ʮΞʔΩςΫνϟʯͷจ຺ͷύλʔϯͩͱओʹҎԼͷࡾ͔ͭ –  ΞʔΩςΫνϟύλʔϯŋŋŋཻ౓େ –  σβΠϯύλʔϯŋŋŋத –  ΠσΟΦϜ ϓϩάϥϛϯάύλʔϯ

    ŋŋŋখ •  ໰୊͸ཻ౓େ͖Ί͔Β෼ੳ͍ͨ͠ –  ΑͬͯɺΞʔΩςΫνϟύλʔϯͷΧλϩά͕͋Ε͹͍͍ –  અࢠɺͦΕ1PG&"" ΤϯλʔϓϥΠζΞϓϦέʔγϣϯΞʔΩςΫνϟύλʔ ϯ ͕Α͘஌ΒΕͨ୅ද΍
  14. ࢀߟʹͨ͠ͷ͸ͲΜͳΞʔΩςΫνϟίϯηϓτ͔ •  ಡΉίʔυ͕࠷খ ڞಉ։ൃͷͨΊʹ  –  ݶΓͳ͘ബ͍ϑϨʔϜϫʔΫ㲈ઃܭࢦ਑ŋŋŋಡΉίʔυ࠷খ –  ڞಉ։ൃʹඞཁͳͷ͸ڞ௨ͷ࣮૷Ͱ͸ͳ͘ɺڞ௨ͷઃܭࢦ਑ 

    •  ҆શͰ͋Δ͜ͱ ৴པੑઃܭ  –  ةݥͳ͜ͱΛ͢ΔͨΊʹΑΓଟ͘ͷίετ͕ඞཁʹͳΔΑ͏ʹ •  σϑΥϧτͰ҆શɻةݥͳ͜ͱΛ͢Δʹ͸໌ࣔతͳએݴ –  42-Ͱ*0͢Δͷ΋ίετ͕ඞཁͳ͜ͱˠ؆୯ʹҾ͚ΔΑ͏ʹ͗͢͠ͳ͍ •  ίετ͕͔͔Δ͜ͱΛศརʹͯ͠͸͍͚ͳ͍ cf. ぼくのかんがえたさいきょうのうぇぶあぷりけーしょんふれーむわーく h"ps://www.slideshare.net/cho45/yapc-asia-2011
  15. ϓϩτλΠϐϯάŋŋŋ໰୊Λཧղ͢ΔɺԾઆݕূͷͨΊͷࢼ࡞ •  1ZUIPO –  ΤίγεςϜ͕ࡢࠓͷτϨϯυ΋͋Γ׆ൃɻܧଓੑ΋ظ଴Ͱ͖Δ –  ֶशίετ͕௿͍ –  ͍·ར༻͍ͯ͠Δݴޠͱɺಛੑ͕େ͖͘͸มΘΒͳ͍ – 

    8JOEPXTͰ΋ɺNBD04Ͱ΋։ൃͰ͖Δ •  'MBTL 3PVUJOH ΞϧϑΝఔ౓ͷখ͞ͳϑϨʔϜϫʔΫ  •  03.ͳ͠ –  %BUB.BQQFS૚ͱɺ1MBJO0ME1ZUIPO0CKFDUͳυϝΠϯΦϒδΣΫ τ
  16. ਐ௙Ͳ͏Ͱ͔͢ •  ࣮૷։͔࢝Βϲ݄ऑͰओཁͳը໘͸֓Ͷಈ͘Α͏ʹ –  ϑϩϯτΤϯυ͸ผνʔϜ͕վળΛଓ͚͍ͯΔ •  γϯϓϧͳΞʔΩςΫνϟ͸޷ײ৮ •  ͜ͷ··1ZUIPOͰ͍͘ͷ 

    –  ೝূपΓΛ໰୊ͳ͘طଘ࣮૷ͱڞଘͰ͖ͯɺ42-4FSWFSυϥΠόͷੑೳʹ໰ ୊͕ͳ͚Ε͹ŋŋŋ –  1ZUIPOͷ5ZQF)JOUTͷಋೖΛݕ౼த
  17. ٕज़తෛ࠴ͷ໰୊͸૊৫΍γεςϜʹݻ༗ͷ΋ͷ •  ૊৫ɺγεςϜʹݻ༗ͷ΋ͷɻҰൠԽ͢Δͷ͸೉͍͠ –  ࡞Γ௚͕͍͍͠ͷ͔ɺѱ͍ͷ͔ɻͲΜͳઃܭ͕͍͍ͷ͔ѱ͍ͷ͔Ұ֓ʹ͸ݴ͑ͳ͍ •  υϝΠϯɺ๊͍͑ͯΔσʔλɺఀࢭແఀࢭɺ૊৫ͷέΠύϏϦςΟɺ͜Ε·ͰͷܦҢɺ͔͚ΒΕΔ ίετ ࣄۀঢ়گ ŋŋŋඇৗʹͨ͘͞Μͷม਺

    –  ͔ͩΒͦ͜ɺͦͷݻ༗ͷ໰୊Λཧղ͢ΔݟۃΊΔ͜ͱ͕ॏཁ •  ໰୊Λਖ਼͘͠ཧղ͢Δલʹղܾ͢Δ͜ͱΛٸ͗͗͢ͳ͍  •  ͦͷݻ༗ͷ໰୊ͱηοτͰߟ͑ͳ͍ͱγεςϜ΍ϓϩηεͷଥ౰ੑ͸ධՁͰ͖ͳ͍ –  ˓˓Λ࢖ͬͯΔ͔Β͍͍ɺ˚˚Λ࢖ͬͯͳ͍͔Βμϝͱ͍͏͜ͱͰ͸ͳ͍
  18. ೥ؒͷॴײ •  େ͖͍໰୊͔Β໨Λഎ͚ͣϑΥʔΧε͢Δ –  ΋͏ɺຊ౰ʹɻ͜Ε͸ສճ͙Β͍಄ͷதͰ࠶ੜͨ͠ –  ʮԶ͸େ͖ͳ໰୊ʹ޲͖߹ͬͯΔʯͱࢥͬͯͯ΋ɺແҙࣝʹେมͳ໰୊Λආ͚ ͕֮ͯͯࣗͳ͍  • 

    ͡Ό͋ސ໰ब೚࣌ʹ͍͖ͳΓҰ൪େ͖ͳ໰୊ʹ޲͔ͬͯͨΒΑ͔͔ͬͨͱ ͍͏ͱͦ͏ͱ΋ݴ͑ͳ͍ –  ͍͖ͳΓΞʔΩςΫνϟʹखΛग़͍ͯͯ͠ɺՌͨͯ͠੒ޭ͔ͨ͠ ແཧήʔ  –  ໰୊ղܾͷ੒ޭମݧΛੵΈॏͶ͖͔ͯͨΒͦ͜ɺ΍ΕΔಓے͕Έ͑ͨͱ͍͏ͷ ΋͋Δ