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

Rethinking Technical Debt

Rethinking Technical Debt

JAWS DAYS2014で発表した「「技術的負債」を問いなおす」の資料。

補足: http://blog.kentarok.org/entry/2014/03/15/224227

Kentaro Kuribayashi

March 15, 2014
Tweet

More Decks by Kentaro Kuribayashi

Other Decks in Technology

Transcript

  1. lٕज़తෛ࠴z
    Λ໰͍ͳ͓͢

    View Slide

  2. ࣗݾ঺հ
    w ܀ྛ݈ଠ࿠
    w !LFOUBSP BOUJQPQ ͋ΜͪΆ
    w ιϑτ΢ΣΞΤϯδχΞ
    w גࣜձࣾQBQFSCPZDP
    w ٕज़ج൫νʔϜɺάϩʔενʔϜ

    View Slide

  3. ࣗݾ঺հ

    View Slide

  4. ໰୊ҙࣝ
    w ͍ΘΏΔlٕज़తෛ࠴zʹ͍ͭͯɺ᷿ؒग़ճ͍ͬͯΔ
    ݴઆ͸ɺ
    ྺ࢙త
    ൺᄻత
    ࣮ફతʹෆे෼ͳ
    ೝࣝʹ΋ͱ͍͍ͮͯΔ
    w ͦͷͨΊɺ౰ॳͦͷ༻ޠ͕৽઱ͳ΋ͷͱͯ͠ಋೖ͠
    ͨ͸ͣͷೝࣝརಘ͕ᆝଛ͞Εɺ͍·΍୯ͳΔਫֻ͚
    ࿦Λؒᓛతʹऒى͢Δͷʹ࢖༻͞ΕΔ͹͔Γͩ
    w ຊτʔΫͰ͸ɺ౰֘༻ޠͷຊٛʹཱͪฦΓɺ͞Βʹ
    ద੾ͳઆ໌Λఏڙ͢Δ͜ͱͰɺΑΓΑ͍ݴઆͷج൫
    Λఏڙ͢Δ

    View Slide

  5. ྺ࢙

    View Slide

  6. lٕज़తෛ࠴zͷىݯ
    lίʔυΛॳΊͯ֎ʹग़͢ͷ͸ɺआۚ ༁ḼEFCU
    Λ
    ͠ʹߦ͘Α͏ͳ΋ͷͩɻॻ͖௚͠ʹΑΓͦΕ͕͙͢ʹ
    ฦ͞ΕΔݶΓʹ͓͍ͯ͸ɺ։ൃεϐʔυ͕ૣ·ΔɻΦ
    ϒδΣΫτࢤ޲͸ɺͦͷίετΛڐ༰Մೳͳ΋ͷʹ͢
    ΔͩΖ͏ɻةݥͳͷ͸ɺआ͕ۚฦ͞Εͳ͍࣌ͩɻਖ਼͠
    ͍ͱ͸͍͑ͳ͍ίʔυʹඅ΍࣌ؒ͢͸ɺआۚͷརࢠͷ
    Α͏ͳ΋ͷɻΤϯδχΞϦϯάΛͱ΋ͳ͏૊৫͸͢΂
    ͯɺ͙͙ͩͩͳ࣮૷͕΋ͨΒ͢आۚͱ͍͏΂͖ॏՙʹ
    Αͬͯɺ଍ࢭΊΛ͘Θ͞ΕΔ͜ͱʹͳΓಘΔɻz
    $VOOJOHIBN

    View Slide

  7. lٕज़తෛ࠴zͷىݯ
    w 8BSE$VOOJOHIBNʹΑͬͯɺ೥ʹఏى
    ͞Εͨ $VOOJOHIBN

    w 8JLJͷൃ໌ऀ
    w F9USFBN1SPHSBNNJOHͷओএऀ

    View Slide

  8. lٕज़తෛ࠴zͷىݯ
    w lෛ࠴zͱ͍͏ൺᄻͷಋೖ
    w lෛ࠴zͦͷ΋ͷ͕ѱ͍Θ͚Ͱ͸ͳ͍
    w lฦࡁz͑͞ద੾ʹ͞ΕΕ͹ɺϓϩδΣΫτΛεϐʔ
    υΞοϓͰ͖Δͱ͍͏͍͍໘͕͋Δ
    w ͨͩ͠ɺͦΕΛฦࡁͤͣʹ์ஔͨ͠৔߹ʹ໰୊͕ى
    ͜Δ

    View Slide

  9. lٕज़తෛ࠴zͷ෼ྨ
    l8BSE͸ͦͷൺᄻ ༁ḼEFCUͷ͜ͱ
    Λਂ͘·Ͱ۷
    ΓԼ͛Δ͜ͱ͸ͳ͔ͬͨɻٕज़తෛ࠴ʹ͍ͭͯٞ࿦͠
    ͖ͯͨਓʑ͸ɺओʹٕज़ऀͨͪͱίϛϡχέʔγϣϯ
    ͢ΔͨΊʹͦͷൺᄻΛ͔͍ͭͬͯΔΑ͏ͩɻͦΕ͕ٕ
    ज़ऀͨͪͱͷίϛϡχέʔγϣϯʹ༗༻ͳൺᄻͰ͋Δ
    ͜ͱʹɺࢲ͸ಉҙ͢Δɻ͔͠͠ɺΑΓࢲ͕ڵຯΛ࣋ͬ
    ͍ͯΔͷ͸ɺॏཁͳٕज़తίϯηϓτΛɺٕज़ऀͰͳ
    ͍ϓϩδΣΫτͷεςʔΫϗϧμʹઆ໌͢Δʹ͋ͨͬ
    ͯɺͦͷൺᄻ͕৴͡೉͍΄Ͳ๛͔ͳදݱྗΛ΋͍ͬͯ
    Δͱ͍͏͜ͱͩɻz
    .D$POOFMM

    View Slide

  10. lٕज़తෛ࠴zͷ෼ྨ
    w 5ZQF*௿඼࣭ͳ࢓ࣄʹΑΔɺҙਤ͠ͳ͍΋ͷ
    w 5ZQF**ҙਤతʹબ୒͢Δ΋ͷ
    w **"ઓज़తʹબ୒͞ΕΔ୹ظతͳ΋ͷ
    w **"ݸผʹࣝผՄೳ ྫࣗಈंϩʔϯ

    w **"ଟྔͰࡉ͔͍ ྫΫϨδοτΧʔυ

    w **#ઓུతʹબ୒͞ΕΔ௕ظతͳ΋ͷ
    .D$POOFMM

    View Slide

  11. lٕज़తෛ࠴zͷ෼ྨ
    ҙਤత ඇҙਤత
    ୹ظత
    ݸผత 5ZQF**"
    5ZQF*
    ޒ݄Ӎత 5ZQF**"
    ௕ظత 5ZQF**#
    .D$POOFMM

    ྘৭͸ڐ༰ՄೳͳλΠϓͷlෛ࠴z

    View Slide

  12. lٕज़తෛ࠴zͷ࢛৅ݶ
    w ϦνϟʔυɾϑΝ΢ϥʔɺ೥ʹlٕज़తෛ࠴z
    ʹݴٴ 'PXMFS֯

    w lٕज़తෛ࠴zͷ࢛৅ݶΛఏএ 'PXMFS֯

    w ͋Δ΋ͷ͕lෛ࠴zͰ͋Δ͔ͦ͏Ͱͳ͍͔ʹ͸͋·
    Γҙຯ͕ແ͍
    w ͦͷݴ༿ͷಋೖʹΑΓɺઃܭ্ͷ໰୊ʹ͍ͭͯ஌
    ݟΛಘΒΕΔ͔Ͳ͏͔ɺίϛϡχέʔγϣϯ͕ଅ
    ਐ͞ΕΔ͔Ͳ͏͔͕େࣄ
    w ίϛϡχέʔγϣϯͷͨΊͷ෼ྨ

    View Slide

  13. lٕज़తෛ࠴zͷ࢛৅ݶ
    ແమ๒ͳ
    3FDLMFTT

    ༻৺ਂ͍
    1SVEFOU

    ҙਤతͳ
    %FMJCFSBUF

    ઃܭ͢Δ͕࣌ؒͳ͍Μͩ
    ͔Β͠ΐ͏͕ͳ͍
    ࠓ͙͢ϦϦʔε͠ͳ͍ͱ
    ͍͚ͳ͍ɻ
    ϦεΫ͸ঝ஌ͷ্ͩ
    ແҙࣝͳ
    *OBEWFSUFOU

    ϨΠϠʔԽʁ
    ͳʹͦΕʁ
    Α͠ɺ
    ͜ΕͰΦοέʔʂ
    'PXMFS֯

    View Slide

  14. lٕज़తෛ࠴zͷىݯɺ࠶ͼ
    w ଟ͘ͷਓʑ͸lٕज़తෛ࠴zΛޡղ͍ͯ͠Δ
    $VOOJOHIBN

    w ։ൃͷεϐʔυΞοϓͷͨΊʹμϝͳίʔυΛॻ
    ͍ͯ΋͍͍ͳͲͱ͸͍͍ͬͯͳ͍
    w ιϑτ΢ΣΞΛॻ͍ͨͦͷ࣌ΑΓ΋ਐΜͩཧղΛɺ
    ͋ͱ͔Β൓өͤ͞ΒΕΔͱ͍͏࿩
    w ͦͷͨΊʹ΋ɺϦϑΝΫλϦϯάͰ͖ΔΑ͏ΫϦʔ
    ϯͳίʔυʹ͓ͯ͘͠ͷ͕େ੾

    View Slide

  15. ͜͜·Ͱͷ·ͱΊ
    w ద੾ʹฦࡁ͞ΕΔ෼ʹ͸ɺ։ൃͷεϐʔυΞοϓͱ͍͏ҙ
    ຯͰ͸ɺΉ͠Ζ๬·͍͜͠ͱͰ͢Β͋ΓಘΔ
    w lٕज़తෛ࠴z͸ɺٕज़ऀؒͷΈͳΒͣɺඇٕज़ऀͱͷؒͰ
    ͷίϛϡχέʔγϣϯʹ໾ཱͭൺᄻͰ͋Δ ΂͖

    w ͦͷͨΊʹɺͲ͏͍͏lෛ࠴z͕͋Δͷ͔Λ෼ྨɾ੔ཧ͢Δ
    w ·ͣɺҙਤత͔ඇҙਤత͔Ͱ෼ྨͰ͖Δɻ࣍ʹɺແమ๒ʹ
    ߦΘΕ͔ͨ༻৺ਂ͘ߦΘΕ͔ͨʹ෼ྨͰ͖Δ
    w ͦ΋ͦ΋͜ͷൺᄻ͸ʮμϝͳίʔυʯΛҙਤతʹॻ͘͜ͱ
    Λࢧ࣋͢Δ΋ͷͰ͸ͳ͍ɻͦ͏Ͱ͸ͳ͘ɺ͋ͱͰϦϑΝΫ
    λϦϯάͰ͖Δͱ͍͏ೝ͕ࣝେࣄ

    View Slide

  16. ཧ࿦

    View Slide

  17. ۙ೥ͷlٕज़తෛ࠴z࿦
    w lෛ࠴ͷ෼ྨֶz͸ɺաڈͷग़དྷࣄΛ੔ཧ͢ΔͨΊ
    ͷ΋ͷ
    w ҙਤʹجͮ͘෼ྨ͸ɺաڈʹىͬͨ͜Ͱ͖͝ͱʹͭ
    ͍ͯͷίϛϡχέʔγϣϯʹͱͬͯ༗༻Ͱ͋Δʹ͠
    ͯ΋ɺকདྷͷ։ൃʹର࣮ͯ࣋ͭ͠ફతܖػ͕ബ͍
    w Ͳ͏͍͏৔߹ʹɺͲ͏͍͏ҙਤΛ࣋ͭͷ͕ద੾ͳͷ
    ͔͕Θ͔Βͳ͍
    w ۙ೥ɺબ୒͞ΕΔศٓͱͯ͠Ͱ͸ͳ͘ɺҙਤΛ໰Θ
    ͳ͍lෛ࠴zͷϞσϦϯάͷࢼΈ͕ͳ͞Ε͍ͯΔ

    View Slide

  18. ݟ͑ͳ͍΋ͷͱͯ͠ͷlෛ࠴z
    w ,SVDIUFOΒʹΑΔݚڀ ,SVDIUFOFUBM


    w ίʔυͷ඼࣭ͳͲͷΑ͏ͳՄࢹతͳlෛ࠴zΑΓ΋
    Ή͠ΖɺΞʔΩςΫνϟతͳݟ͑ͳ͍lෛ࠴z͕ক
    དྷͷ։ൃʹؔ͢Δҙࢥܾఆʹ΋ͨΒ͢Өڹʹண໨
    w ҙࢥܾఆͷཁҼΛɺओʹকདྷͷ։ൃίετʹஔ͘
    w ϑΝΠφϯεʹ͓͚Δ༷ʑͳϞσϧ͕ɺٕज़తͳҙ
    ࢥܾఆʹ͓͍ͯ༗༻Ͱ͋ΓಘΔ

    View Slide

  19. ݟ͑ͳ͍΋ͷͱͯ͠ͷlෛ࠴z
    ݟ͑Δ
    7JTJCMF

    ݟ͑ͳ͍
    *OWJTJCMF

    ϓϥεͷՁ஋
    1PTJUJWF
    7BMVF

    ৽ػೳ
    /FXGFBUVSFT
    BEEFE
    GVODUJPOBMJUZ

    ΞʔΩςΫνϟɾߏ଄
    "SDIJUFDUVSBM
    TUSVDUVSBM
    GFBUVSFT

    ϚΠφεͷՁ஋
    /FHBUJWF
    7BMVF

    όά
    %FGFDUT

    ٕज़తෛ࠴
    5FDIOJDBMEFCU

    ,SVDIUFOFUBM

    View Slide

  20. ݟ͑ͳ͍΋ͷͱͯ͠ͷlෛ࠴z
    w কདྷͷ։ൃʹؔ͢Δҙࢥܾఆʹ͍ͭͯɺl΍Γ௚͠ 3FXPSL
    z
    ͱ͍͏؍఺ͰϞσϧԽ
    w ΞʔΩςΫνϟͷ࠶ߏங
    w ϦϑΝΫλϦϯά FUD
    w ҙࢥܾఆཁҼ
    w Ͳͷ࣌఺ͰΞʔΩςΫνϟΛվળ͢Δ͔ ࠷ॳʹ΍Δ͔ɺ͋
    ͱʹ΍Δ͔

    w ͦͷ͜ͱ͕݁ՌతʹશମͷίετʹͲ͏Өڹ͢Δ͔
    w ໨ʹݟ͑Δ΋ͷ ϢʔβՁ஋΍όάͳͲ
    ͱɺ໨ʹݟ͑ͳ͍Ξʔ
    ΩςΫνϟΛ෼͚ͯߟ͑Δ
    w ৄࡉ͸ /PEFFUBM
    ࢀর

    View Slide

  21. Մೳత୅ସγεςϜͱͷࠩҟ
    w ,MBVT4DINJEʹΑΔݚڀ 4DINJE

    w lෛ࠴zͷཁҼ΍ҙਤΛ໰Θͳ͍ϞσϧԽ
    w Մೳత୅ସγεςϜͱͷࠩҟΛ໰͏

    View Slide

  22. Մೳత୅ସγεςϜͱͷࠩҟ

    View Slide

  23. Մೳత୅ସγεςϜͱͷࠩҟ
    w ݱ࣮తʹՄೳͳ୅ସγεςϜͱ͸Կ͔ʁͱ͍͏ࢹ఺
    ΛಋೖͰ͖Δɻͨͱ͑͹
    w Α͘੔උ͞Εͨ3BJMTΞϓϦ
    w 1VQQFU΍$IFGͰ͖ͬͪΓߏ੒؅ཧ͞Εͨαʔ
    ό܈
    w ͦ͏ͨ͠γεςϜͱͷࠩҟ͕ɺະདྷʹ͋ΓಘΔ։ൃ
    εςοϓʹ͓͍ͯͲͷΑ͏ͳӨڹΛ΋ͨΒ͠ಘΔͷ
    ͔ʹΑͬͯɺlෛ࠴ฦࡁzͷҙࢥܾఆΛߦ͏
    w ৄࡉ͸ 4DINJE
    ࢀর

    View Slide

  24. ҙਤΛ໰Θͳ͍Ϟσϧͷؚҙ
    w ͍͔ͳΔҙਤ͕͋Ζ͏ͱ΋ɺະདྷͷෆ࣮֬ੑͷલͰ
    ͸ଟ͔Εগͳ͔Εlෛ࠴z͸ආ͚ΒΕͳ͍
    w ͋ΓಘΔະདྷͱɺͦͷະདྷʹ͓͍ͯՄೳͳબ୒ࢶͱ
    ͷؒͰɺͰ͖Δ͚ͩϚγʹݟ͑Δ΋ͷΛɺͦͷ࣌ͷ
    શྗΛਚͯ͘͠બΜͰ͍͔͘͠ͳ͍
    w ͦ͏ͨ͠ࣄଶΛهड़͠ɺҙࢥܾఆʹد༩ՄೳͳϞσ
    ϧͷํ͕ɺաڈͷlҙਤzͷ෼ྨֶΑΓ͸ز෼͔Ϛ
    γ

    View Slide

  25. ൺᄻ

    View Slide

  26. lෛ࠴zͱ͍͏ൺᄻͷ໰୊
    w ࡒ຿ձܭతͳҙຯʹ͓͚Δෛ࠴ͱҟͳΓɺఆྔԽ͕
    ࠔ೉
    w ඞͣฦࡁ͠ͳ͚Ε͹ͳΒͳ͍ͱ͍͏΋ͷͰ͸ͳ͍
    w ͦ΋ͦ΋୭͔͔ΒԿ͔ΛआΓ͍ͯΔೝ͕ࣝͱ΋ͳͬ
    ͍ͯͳ͍͜ͱ͕Α͋͘Δ
    w lٕज़తෛ࠴zʹ͍ͭͯΑ͘ೝࣝ͠ɺద੾ʹରԠͯ͠
    ͍ͯ΋ɺ࣌ؒͷܦաͱͱ΋ʹlෛ࠴Խz͕ى͜Δ
    w ίϛϡχέʔγϣϯʹ͓͚ΔศٓͷͨΊͷͷͨͱ͑
    ࿩ͷ͸͕ͣɺͻͱΓา͖ͯ͠͠·͏

    View Slide

  27. ෛ࠴ͱ͸ʁ
    w ʢҰൠతͳ༻๏ʣआۚͳͲɺଞਓ͔Βۚમ΍෺ࢿΛ
    आΓΔ͜ͱɻ͋Δ͍͸आΓͨۚમ΍෺ࢿͷ͜ͱɻ
    w ʢاۀձܭ༻ޠʣকདྷతʹɺଞͷܦࡁओମʹରͯ͠ɺ
    ۚમͳͲͷܦࡁతࢿݯΛҾ͖౉ٛ͢຿ͷ͜ͱɻ
    8JLJQFEJBʮෛ࠴ʯ

    View Slide

  28. ͋͑ͯൺᄻΛ͞Βʹԡ͠޿͛Δ
    w ͨͩ͠ɺࡒ຿ձܭతͳҙຯʹ͓͚Δlෛ࠴zͷؚҙΛ
    ਖ਼͘͠ཧղͯ͠࢖͑͹ɺ༗༻ͳ΋ͷͱͳΓಘΔ
    w ϑΝΠφϯεͱձܭ͸ɺϏδωεʹ͓͚ΔϦϯΨɾ
    ϑϥϯΧ $POSPZ

    w ෆ࣮֬ੑͷݩͰͷҙࢥܾఆϓϩηεʹ͍ͭͯ͸ɺܦ
    ࡁֶ΍ϑΝΠφϯεʹ͓͍ͯ஝ੵ͕͋Δɻͦ͏ͨ͠
    Ϟσϧ͕໾ʹཱͪಘΔ ,SVDIUFOFUBM

    w lෛ࠴zͱ͍͏ൺᄻͷՄೳੑΛɺ΋͏গ͠ԡ͠޿͛ͯ
    ΋Αͦ͞͏ͩ

    View Slide

  29. 8FCαʔϏε։ൃͱׂҾ཰
    w lٕज़తෛ࠴zΛɺϑΝΠφϯεʹ͓͚ΔׂҾ཰ͷ
    ໰୊ͱͯ͠ߟ࡯͢Δ ܀ྛ

    w 8FCαʔϏε։ൃʹ͓͚ΔҙࢥܾఆཁҼ
    w ಘΒΕΔՁ஋Λ૿େͤ͞Δ
    w අ΍͞ΕΔίετΛݮগͤ͞Δ
    w Ձ஋Λ૿େͤͭͭ͞ɺίετΛݮগͤ͞Δ
    w ܧଓੑ͕͍ͭͯ·ΘΔ8FCαʔϏε։ൃʹ͓͚Δ
    lίετzͷࢉग़ʹ͸ɺׂҾ཰ΛצҊ͢Δ͜ͱ͕ඞ
    ਢɻ໰୊͸ͦͷόϥϯε

    View Slide

  30. 8FCαʔϏε։ൃͱׂҾ཰
    0
    55
    110
    165
    220
    2014 2015 2016 2017 2018
    ݱ࣮త(੒௕཰10%) ཧ૝త(੒௕཰20%)
    ͜ͷ෦෼͕
    lٕज़తෛ࠴z
    ͱͳΓಘΔ

    View Slide

  31. 8FCαʔϏε։ൃͱׂҾ཰
    0
    55
    110
    165
    220
    2014 2015 2016 2017 2018
    ݱ࣮త(੒௕཰10%) ཧ૝త(੒௕཰20%)
    ͔͜͜Β
    ݟΕ͹
    རࢠˠ
    ͔͜͜Β
    ݟΕ͹
    ˡׂҾ཰

    View Slide

  32. ΪϟοϓΛຒΊΔ
    w ཁٻ͞ΕΔ੒௕཰ͱɺݱ࣮తͳ੒௕཰ͱͷΪϟοϓ
    ΛɺͳΜΒ͔ͷํ๏ʹΑΓຒΊΔඞཁ͕͋Δ
    w ͦͷͨΊͷ͍ͪख๏ͱͯ͠ͷlෛ࠴z
    w ͦΕࣗମͷධՁʹ͸ಓಙతՁ஋൑அͳͲհࡏ͠ಘͳ
    ͍ɻޮՌʹ͓͍ͯͷΈ൑அ͞ΕΕ͹Α͍
    w Ұํɺlෛ࠴ଞਓࢿຊz͕͋ΔͳΒlࣗݾࢿຊzʹ
    ͍ͭͯߟ͑ͯ΋Αͦ͞͏ͩ
    w ιϑτ΢ΣΞ։ൃʹ͓͚Δlࣗݾࢿຊzͱ͸Կ͔ʁ
    ͦͷௐୡίετ͸Ͳ͏ܾ·Δͷ͔ʁ

    View Slide

  33. ࢿຊௐୡίετ
    ੪౻

    View Slide

  34. ࢿຊߏ੒ઓུ
    ιϑτ΢ΣΞ
    ࢿ࢈

    ٕज़త
    lෛ࠴z
    ٕज़త
    lࢿຊz
    ιϑτ΢ΣΞ
    ࢿ࢈

    ٕज़త
    lෛ࠴z
    ٕज़త
    lࢿຊz
    ιϑτ΢ΣΞ
    ࢿ࢈

    ٕज़త
    lෛ࠴z
    ٕज़త
    lࢿຊz
    ઓུ
    ࣌ؒ

    View Slide

  35. ࣮ફ

    View Slide

  36. యܕతͳޡղ
    l։ൃऀ͸ɺ৽͍͠ػೳΛͭͷҟͳΔํ๏Ͱ࣮૷͢Δ
    ͜ͱΛબ୒Ͱ͖·͢ɻͭ͸ૉૣ͍͍͘Ճݮʹ࣮૷͠·
    ͢ɻ͜ͷ৔߹ɺকདྷͷมߋ͕ͱͯ΋೉͘͠ͳΓ·͢ɻ΋
    ͏ͭ͸ɺΫϦʔϯͰεϚʔτͳղܾࡦͰ͋Γɺ࣮૷ʹ
    ͕͔͔࣌ؒΓ·͕͢ɺকདྷɺ؆୯ʹมߋͰ͖·͢ɻ
    .BSUJO'PXMFSΛ͝ཡԼ͍͞ɻ
    ͔͠͠ɺػೳΛΫ
    Ϧʔϯͳ࣮૷ʹͯ͠ɺΑΓଟ͘ͷίετΛ͔͚Δ͜ͱΛɺ
    ϓϩδΣΫτͷεϙϯαʔ͕ड͚ೖΕΔͰ͠ΐ͏͔ ͍
    ͍ՃݮͳղܾࡦͰಉ͡ػೳΛɺಉ༷ͷػೳੑΛ࣋ͨͤͨ
    ··ɺΑΓগͳ͍ίετͰఏڙͰ͖ΔͷͰ͢ɻz
    +PIBOO8PMGGେా

    View Slide

  37. Կ͕ޡղͳͷ͔
    w ෆ࣮֬ͳະདྷ΁޲͚ͨ։ൃΛɺҙਤ௨Γʹίϯτϩʔ
    ϧՄೳͳɺෳ਺ͷ࣮૷ํ๏ͷҧ͍ͷؒͰͷτϨʔυ
    ΦϑͰ͋ΔͱͱΒ͍͑ͯΔ
    w ίετ͕ɺͳʹʹ͔͔Δίετͳͷ͔ɺલड़ͨ͠ҙ
    ຯʹ͓͚Δlෛ࠴zͱlࢿຊzͷ۠ผ͕ͳ͍ͨΊɺ࣮ફ
    తؚҙ͕ബ͍
    w ϓϩδΣΫτͷεϙϯαʔ͕ɺ௚ۙͷίετʹ͔͠
    ໨Λ޲͚ͳ͍ଘࡏͰ͋ΔͱܾΊ͔͔͍ͯͬͯΔ͕ɺ
    ίετʹର͢Δೝ͕ࣝҰ໘తͳ͍ͤͰͦ͏ͳ͍ͬͯ
    Δͱ͍͏ߟ͑ʹ͓ΑΜͰ͍ͳ͍

    View Slide

  38. ෆ࣮֬ੑͱҙਤ
    w ະདྷͷෆ࣮֬ੑʹର͢Δʹɺ໌֬ͳҙਤΛ࣮࣋ͬͯ
    ૷ΛίϯτϩʔϧՄೳͱ͢Δߟ͑͸ɺརಘΑΓ΋ଛ
    ࣦͷํ͕େ͖͍
    w lෛ࠴z͕͋ͬͨͱͯ͠ɺҙਤʹؼ੹ͯ͠΋ੜ࢈తͰ
    ͸ͳ͍ɻେࣄͳͷ͸ɺҙਤ͕Ͳ͏͋Εɺཱͪฦͬͯ
    ΍Γ௚ͤΔͱ͍͏͜ͱ $VOOJOHIBN

    w զʑཱ͕͍ͬͯΔͷ͸͍ͭͰ΋ɺෆ࣮֬ͳະདྷͷલ
    Ͱ͋ͬͯɺ֬ఆͨ͠աڈʹ͍͔ͭͯ͋ͨ΋ਖ਼͍͠ҙ
    ਤ͕͋Γಘ͔ͨͷΑ͏ʹ;Γ͔͑ͬͨͱ͜ΖͰɺೝ
    ࣝརಘ͸ബ͍

    View Slide

  39. ෆ࣮֬ੑͱҙਤ
    0
    55
    110
    165
    220
    2014 2015 2016 2017 2018
    ݱ࣮త(੒௕཰10%) ཧ૝త(੒௕཰20%)
    ͔͜͜Β
    ݟΕ͹
    ෆ࣮֬ੑˠ
    ͔͜͜Β
    ݟΕ͹
    ˡҙਤత࣮૷

    View Slide

  40. ٕज़తෆ࣮֬ੑͷྫ
    0LV

    View Slide

  41. μϝͳίʔυ͸ଐਓత͔ʁ
    w lٕज़తෛ࠴z͕΋͠ઓज़తɾઓུతτϨʔυΦϑ
    ͳͷͰ͋Ε͹ɺͻͱ͸ҙਤతʹʮμϝͳίʔυʯΛ
    ॻ͚Δ͜ͱʹͳΔͷͰ͸ͳ͍͔
    w Ռͨͯͦ͠Ε͸ຊ౰͔ʁͦΜͳ͜ͱ͕ՄೳͳͷͩΖ
    ͏͔ʁ

    View Slide

  42. ී௨ͷ'J[[#V[[

    View Slide

  43. ҟৗͳ'J[[#V[[
    0TBXB

    View Slide

  44. μϝͳίʔυ͸ଐਓత͔ʁ
    w ʮμϝͳίʔυʯΛҙࣝతʹॻ͘͜ͱ͸Ͱ͖ͳ͍
    w ʮ͊͞ɺ͜Ε͔ΒμϝͳίʔυΛॻͧ͘ʂʯͱҙؾ
    ࠐΜͰॻ͖࢝ΊΔ͜ͱΛ૝૾͢ΔͱΑ͍
    w ΫϦʔϯͳίʔυΛ஌Βͳ͍ͱɺҙࣝతʹμϝͳίʔ
    υΛॻ͘͜ͱ͸Ͱ͖ͳ͍
    w ͭ·Γʮμϝͳίʔυʯ͸ɺଐਓతͳ΋ͷͱ͍͏Α
    Γ΋Ή͠Ζɺ૊৫తɾࣾձతͳੜ੒෺Ͱ͋Δ

    View Slide

  45. lෛ࠴zͱײ৘తίϯϑϦΫτ
    w lٕज़తෛ࠴z͸ɺײ৘తίϯϑϦΫτΛऒى͕͠
    ͪɻͦͷͨΊϒϩάωλͱͯ͠සൟʹ׆༻͞ΕΔ
    w ίϯϑϦΫτͷݪҼ
    w աڈʹߦΘΕͨ੒Ռ෺Λlෛ࠴zͱΈͳ͢Έͳ͞
    Εͨͱײ͡Δ
    w ͦ͏ͨ͠lෛ࠴z͕ɺෆ౰ʹޡͬͨҙਤΛ࣋ͬͯߦ
    ΘΕͨͱΈͳ͢Έͳ͞Εͨͱײ͡Δ
    w ίϛϡχέʔγϣϯͷͨΊʹಋೖ͞ΕͨൺᄻͰ͋Δ
    ʹ΋ؔΘΒͣɺਖ਼͘͠༻͍ΒΕ͍ͯͳ͍

    View Slide

  46. ιϑτ΢ΣΞ͸ࢿ࢈
    0LV

    View Slide

  47. ࢿຊௐୡઓུ
    ιϑτ΢ΣΞ
    ࢿ࢈

    ٕज़త
    lෛ࠴z
    ٕज़త
    lࢿຊz
    Ϣʔβ
    ະདྷ
    ݱࡏ

    View Slide

  48. ࢿຊௐୡઓུ
    w ιϑτ΢ΣΞࢿ࢈Λܗ੒͢Δʹࡍͯ͠ɺظ଴͞ΕΔ
    ੒௕཰ͱݱ࣮తͳͦΕͱͷlΪϟοϓzΛຒΊΔͨ
    ΊʹඞཁͳࢿݯΛௐୡ͢Δඞཁ͕͋Δ
    w ͦͷࡍʹ՝୊ͱͳΔࣄ৅ʹԠͯ͡ɺௐୡ͞ΕΔࢿݯ
    Λlෛ࠴zͱlࢿຊzͱʹΘ͚ΒΕΔ
    w ͦ͏ͨ͠फ़ผΛߦΘͳ͍··ʹɺ໨ʹݟ͑Δlෛ࠴z
    ͹͔ΓʹͱΒΘΕΔͷ͸ɺޡͬͨઓུΛট͖ಘΔ

    View Slide

  49. ٕज़తlෛ࠴z
    w ιϑτ΢ΣΞࢿ࢈Λܗ੒͢Δʹࡍͯ͠ௐୡ͞ΕΔݯ
    ઘͷ͏ͪɺͨͱ͑͹ҎԼͷΑ͏ͳ΋ͷ
    w ίʔσΟϯάن໿੔උͷอཹ
    w ςετΛ੔උ͢Δ͜ͱͷอཹ
    w υΩϡϝϯτΛ੔උ͢Δ͜ͱͷอཹ
    w 04 ϥΠϒϥϦ౳ґଘίϯϙωϯτͷߋ৽อཹ
    w ڭҭମ੍Λ੔උ͢Δ͜ͱͷอཹ
    w ໨ʹݟ͑΍͍͢΋ͷ ,SVDIUFOFUBM

    w ൺֱతఆྔԽ͠΍͍͢

    View Slide

  50. lෛ࠴zΛϚωδ͢Δ
    w όοΫϩάΛ ,SVDIUFOFUBM
    ʹै͍ɺ
    ৭෼͚ͯ͠؅ཧ͢Δ ػೳҎ֎ͷ΋ͷ΋؅ཧ͢Δ

    w ςετ΍υΩϡϝϯτΛඞཁʹԠͯ͡੔උ͢Δɻͦ
    ͷঢ়گΛͰ͖Δ͚ͩՄࢹԽ͢Δ
    w ૊৫ͷ੒௕Λద੾ʹίʔυʹ൓ө͢Δ ϦϑΝΫλ
    Ϧϯά͢Δ

    w 04΍ϛυϧ΢ΣΞɺϥΠϒϥϦ΍ϑϨʔϜϫʔΫ
    Λৗʹ࠷৽ʹอͭ
    w ڭҭମ੍Λ੔උ͢Δ

    View Slide

  51. ٕज़తlࢿຊz
    w ιϑτ΢ΣΞࢿ࢈Λܗ੒͢Δʹࡍͯ͠ௐୡ͞ΕΔݯ
    ઘͷ͏ͪɺͨͱ͑͹ҎԼͷΑ͏ͳ΋ͷ
    w Α͍ΞʔΩςΫνϟ
    w ಁ໌ੑͷߴ͍։ൃϓϩηε
    w ϝϯόͷϞνϕʔγϣϯ
    w ϝϯόͷίϛοτϝϯτ
    w ֎෦͔Βͷ༏लͳਓࡐͷ࠾༻
    w ໨ʹݟ͑ʹ͍͘΋ͷ ,SVDIUFOFUBM

    w ఆྔԽ͠ʹ͍͘

    View Slide

  52. lࢿຊzௐୡίετΛϚωδ͢Δ
    w ະདྷͷෆ࣮֬ੑʹରԠՄೳͳΞʔΩςΫνϟʹɺద
    ੾ͳλΠϛϯάͰ࡞Γม͑Δ
    w ಁ໌ੑͷ͋Δ։ൃϓϩηεΛ࠾༻͢Δ
    w νʔϜϝϯόͷϞνϕʔγϣϯΛߴΊΔΑ͏ͳνϟ
    ϨϯδΛৗʹ͠ଓ͚Δ
    w νʔϜϝϯόͷίϛοτϝϯτΛҾ͖ग़͢Α͏ͳ༏
    Εͨιϑτ΢ΣΞΛ࡞Γଓ͚Δ
    w ૊৫֎෦ʹରͯ͠ɺັྗΛײͯ͡΋Β͑ΔΑ͏ͳٕ
    ज़޿ใΛߦ͏ ߦ͑ΔΑ͏ͳٕज़ମ੍Λ࡞Δ

    View Slide

  53. ૊৫తಉҰੑΛᔻཆ͢Δ
    w lෛ࠴zͷ$VOOJOHIBNతຊٛ͸ɺΑΓ੒௕ͨ͠
    ະདྷʹ͓͍ͯɺ͍ͭͰ΋ͦΕΛίʔυʹ൓өͤ͞Β
    ΕΔͱ͍͏͜ͱ
    w ͔ͭͯະདྷͷෆ࣮֬ੑʹཱͪ޲͔ͬͨਚྗ͕ɺݱࡏ
    ʹ͓͍ͯlෛ࠴zʹݟ͑Δͱͨ͠ΒɺͦΕ͸૊৫ͱ͠
    ͯͷ੒௕Λҙຯ͢Δ
    w lෛ࠴zͱײ͡ΔࣗΒͷଘࡏ͕ɺ૊৫ʹͱͬͯͷ੒
    ௕Ͱ͋ΔͱཧղͰ͖Δ͜ͱ͕૊৫తಉҰੑͷײಘͰ
    ͋Γɺίϛοτϝϯτʹͭͳ͕Δ

    View Slide

  54. ίϛοτϝϯτ
    w ૊৫໨ඪͱݸਓ໨ඪͷҰக౓߹͍Λlίϛοτϝϯ
    τzͱ͍͏ ాඌ

    w ण໋ͷ௕͍ιϑτ΢ΣΞΛ։ൃ͢Δ૊৫ʹ͓͍ͯ͸ɺ
    อकɾվมίετ͕ߴ͍ιϑτ΢ΣΞ͕ɺաڈɾݱ
    ࡏɾະདྷͷ૊৫తಉҰੑΛ્֐͠ಘΔ
    w աڈͷlෛ࠴zΛ%*4Δͱ͍͏ͷ͕యܕྫ
    w ૊৫తಉҰੑ͕ࠞཚ͍ͯ͠Δ૊৫ʹ͓͍ͯɺϝϯό
    ͷίϛοτϝϯτΛৢ੒͢Δͷ͸ࠔ೉

    View Slide

  55. ·ͱΊ
    w lٕज़తෛ࠴z͸ͨͱ͑࿩ʹա͗ͳ͍ɻ͔͠͠ɺ༗༻
    ͳൺᄻͰ͋ΓಘΔ
    w ίϛϡχέʔγϣϯʹ໾ཱͭݶΓʹ͓͍ͯ༗༻ɻ%*4
    Γ༻్͸ෆՄ
    w ࣗݾ΍νʔϜͷ੒௕Λɺ͍ͭͰ΋ίʔυʹཱͪฦͬ
    ͯ൓өͰ͖Δ lෛ࠴zΛฦͤΔ
    ͱ͍͏ͷ͕ɺݴ͍ग़
    ͬ͠΃Ͱ͋Δ$VOOJOHIBNతͳຊٛ
    w ະདྷͷෆ࣮֬ੑʹͲ͏ରॲ͢Δ͔͸ɺܦࡁֶ΍ϑΝ
    ΠφϯεͰ஝ੵͷ͋Δ෼໺ɻલ޲͖ʹଊ͑Ε͹ɺͦ
    ͷؚҙ͔Βଟ͘ͷ஌ݟΛಘΒΕΔ ͩΖ͏

    View Slide

  56. ࢀߟจݙ
    • Conroy, P. (2012), “Technical Debt: Where Are the Shareholders’ Interests?”, IEEE
    Software, November/December 2012

    • Cunningham, W. (1992), “The WyCash Portfolio Management System”, http://c2.com/
    doc/oopsla92.html

    • Cunningham, W. (2009), “Ward Explains Debt Metaphor”, http://c2.com/cgi/wiki?
    WardExplainsDebtMetaphor

    • Fowler, M. (2003), “TechnicalDebt”, http://www.martinfowler.com/bliki/
    TechnicalDebt.html (֯੐య༁, “ٕज़తෛ࠴”, http://capsctrl.que.jp/kdmsnr/wiki/bliki/?
    TechnicalDebt)

    • Fowler, M. (2009), “TechnicalDebtQuadrant”, http://www.martinfowler.com/bliki/
    TechnicalDebtQuadrant.html (֯੐య༁, “ٕज़తෛ࠴”, http://capsctrl.que.jp/kdmsnr/
    wiki/bliki/?TechnicalDebtQuadrant)

    • Johann, S., Wolff, E. (2013), “Managing Technical Debt”, http://www.infoq.com/articles/
    managing-technical-debt (େా྘༁, “ٕज़తෛ࠴Λ؅ཧ͢Δ”, http://www.infoq.com/jp/
    articles/managing-technical-debt)

    • Kruchten, P., Nord, R. L., Ozkaya, I. (2012), “Technical Debt: From Metaphor to Theory
    and Practice”, IEEE Software, November/December 2012

    View Slide

  57. ࢀߟจݙ
    • ܀ྛ݈ଠ࿠ (2013)ʮͳͥʮܧଓతWebαʔϏεվળʯ͕ඞཁͳͷ͔ʙมԽʹରԠ͠ɼ10೥
    ޙ΋ੜ͖࢒ΔWebαʔϏεͷͨΊʹʯʮWEB+DB PRESS Vol.75 ܧଓతWebαʔϏεվળ
    ΨΠυʯٕज़ධ࿦ࣾ

    • McConnell, S. (2007), “Technical Debt”,http://www.construx.com/
    10x_Software_Development/Technical_Debt/

    • Nord, R. L., Ozkaya, I., Kruchten, P., Gonzalez-Rojas, M. (2012), “In search of a metric for
    managing architectural technical debt”

    • Oku, K. (2013), Twitter΁ͷ౤ߘ, https://twitter.com/kazuho/status/415695299827359744

    • Oku, K. (2014), Twitter΁ͷ౤ߘ, https://twitter.com/kazuho/status/436870682014515200

    • Osawa, K. (2011), “Acme-FizzBuzz-0.03”, https://metacpan.org/release/YAPPO/Acme-
    FizzBuzz-0.03

    • ੪౻ಯ (2006)ʮ࠶ੜࣄۀ͔Βݟͨ೔ຊʯhttp://jfn.josuikai.net/josuikai/21f/62/sai/sai.htm

    • Schmid, K. (2013), “Technical Debt — From Metaphor to Engineering Guidance: A Novel
    Approach based on Cost Estimation”

    • ాඌխ෉ (2012)ʰݱ୅૊৫࿦ʱႻ૲ॻ๪

    • Wikipediaʮෛ࠴ʯhttp://ja.wikipedia.org/wiki/%E8%B2%A0%E5%82%B5

    View Slide