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

技術的負債を返済するための ロードマップの作成と運用を始めた話

技術的負債を返済するための ロードマップの作成と運用を始めた話

株式会社助太刀

June 14, 2023
Tweet

More Decks by 株式会社助太刀

Other Decks in Programming

Transcript

  1. Copyright©2023 Sukedachi Inc. All Right Reserved ࠓ೔࿩͢͜ͱ • ࣗݾ঺հ •

    ॿଠ౛ͷ঺հ • ٕज़ෛ࠴ϩʔυϚοϓͱෛ࠴ฦࡁϑϩʔͷ঺հ
  2. Copyright©2023 Sukedachi Inc. All Right Reserved ࣗݾ঺հ 4 ܦྺ Career

    01 άϦʔגࣜձࣾ 2013.04- ࢓ࣄ಺༰ Job 02 2017.03- ݄ᖒ ୓࠸ Employee Introduction ॿଠ౛ͷ։ൃ૊৫࡞Γ ۀքΛม͑ΒΕΔαʔϏεΛ ੜΈग़ͤΔ։ൃ૊৫Λ࡞Δ࢓ࣄ Tsukisawa Takuya ࣥߦ໾һ CTOɹ ͜Ε͔Β΍Γ͍ͨ͜ͱ ٕज़ෛ࠴ͷฦࡁͱ։ൃαΠΫϧͷޮ ཰Խɺࣾһཱྀߦ 1987೥ੜ·Ε 
 ळాݝग़਎ ๺ւಓେֶେֶӃ
 ৘ใՊֶݚڀՊଔ ܹਏྉཧɺ͓ञɺ֨ಆٕɺےτϨ Twitter @tksw_009 SNS ޷͖ͳ͜ͱ Like 03 גࣜձࣾδʔχʔɹ ࠓ΍͍ͬͯΔ͜ͱ ओʹόοΫΤϯυ։ൃɺ։ൃ૊৫࡞Γ΍։ൃͷ಺੡ԽͳͲʹैࣄ 2020೥11݄ VPoEͱͯ͠ೖࣾ 2021೥6݄ ࣥߦ໾һब೚ 2022೥11݄ ࣥߦ໾һCTOब೚ 2020.11- גࣜձࣾॿଠ౛ɹ
  3. Copyright©2023 Sukedachi Inc. All Right Reserved גࣜձࣾॿଠ౛ͷ঺հ ❏ ৬ਓ͞Μͱ޻ࣄձࣾͷࣄۀऀϚονϯά ❏

    ݐઃۀͷਖ਼ࣾһٻਓαʔϏε ❏ 2017೥૑ۀ ❏ ྦྷܭ໿20ສࣄۀऀ ❏ ྦྷܭ໿40ԯͷࢿۚௐୡࡁΈ ॿଠ౛͕ఏڙ͢ΔαʔϏε ݐઃۀքͷਓखෆ଍΍ਓࡐ֬อͷ೉͠͞ ΛITͰղܾ͢ΔαʔϏε
  4. Copyright©2023 Sukedachi Inc. All Right Reserved ݐઃۀքͷ՝୊ 8 1 ۀք಺ͰߴྸԽ͕ਐΈɺ

    ए೥૚ͷबۀऀ͕গͳ͍ 60୅ͷׂ߹͕શମͷ̐෼ͷ̍Λ઎Ί͓ͯΓɺ ࠓޙਂࠁͳ࿑ಇऀෆ଍ʹؕΔՄೳੑ͕͋Δ 2 धཁʹର͢Δຫੑతͳਓखෆ଍ ௚ۙͷݐઃ౤ࢿֹ͸૿Ճ܏޲ʹ͋Δͷʹର͠ɺ ຫੑతͳਓखෆ଍ͱͳ͍ͬͯΔ ݐઃۀքͷਰୀΛ๷͙ͨΊ ਓखෆ଍ͷղফ͕ٸ຿
  5. Copyright©2023 Sukedachi Inc. All Right Reserved ݐઃۀքͷ՝୊ 9 9 1

    2 ৬ਓΛғ͍ࠐΉ׳श શ͘ಉ͡εΩϧΛ࣋ͭ৬ਓͰ΋ɺݩ੥͚Λ௒͑ͨ ͭͳ͕ΓΛ͍࣋ͯͯͳ͍ ࢓ࣄ΍ਓࡐͷख഑ʹ IT͕׆༻͞Ε͍ͯͳ͍ ࢓ࣄ΍ਓࡐΛ୳࣌͢͸஥͔ؒΒͷ঺հͷΈɺ 
 ࠓͩʹి࿩࿈བྷ͕ϝΠϯ ๩͍࣌͠ͱՋͳ࣌ͷ೾͕େ͖͘ɺܦӦ͕҆ఆ͠ͳ͍ɻ ൟ๩݄ ؓࢄ݄ or डɾൃ஫ऀͷ࠷దͳ Ϛονϯά͕Ͱ͖͍ͯͳ͍
  6. Copyright©2023 Sukedachi Inc. All Right Reserved ݐઃۀքͷ՝୊ ޻ࣄձࣾͷਓखෆ଍ΛɺϚονϯάͱਖ਼ࣾһ࠾༻Ͱղܾ ٻਓܝࡌ/ εΧ΢τ

    toB toC ϚονϯάʢऔҾઌʣ Ξϓϩʔν ड஫ ৬ਓ ޻ࣄձࣾ ֹ݄ར༻ྉ ֹ݄ར༻ྉ ٻਓ޿ࠂ/εΧ΢τ Ԡื ڠྗձࣾ/৬ਓΛ ूΊ͍ͨ ࣾһΛ ूΊ͍ͨ ࣾһͳΓ͍ͨ ৽͍͠औҾઌΛ ݟ͚͍ͭͨ ࠾༻αʔϏεʢਖ਼ࣾһʣ ܝࡌ/εΧ΢τ ར༻ྉ ʢSaaSܕʣ ʢΞϓϦ՝ۚʣ
  7. Copyright©2023 Sukedachi Inc. All Right Reserved ࿩͢͜ͱཁ໿ ✓ લஈͷ͓࿩
 ✓

    վΊٕͯज़తෛ࠴ʹ͍ͭͯߟ͑ͯΈͨ
 ✓ ෛ࠴ฦࡁͷϩʔυϚοϓͷ࡞੒ͱӡ༻Λ࢝Ί͓ͨ࿩
  8. Copyright©2023 Sukedachi Inc. All Right Reserved ͦ΋ͦ΋ෛ࠴ʹ͍ͭͯͪΌΜͱߟ͖͔͚͑ͨͬ ✓ ॿଠ౛͸2C޲͚ͷΞϓϦ΍2B޲͚ͷwebαʔϏεΛల։ ✓

    Ϗδωεతʹ΋ίʔυతʹ΋ϞϊϦγοΫͳߏ଄ ✓ νʔϜߏ੒͸৬ೳܕνʔϜ iOSνʔϜ AndroidνʔϜ Web FrontνʔϜ BackendνʔϜ ॿଠ౛ΞϓϦ ॿଠ౛๏ਓ޲͚Ϛονϯά ॿଠ౛ٻਓαʔϏε BtoC BtoB CTO
  9. Copyright©2023 Sukedachi Inc. All Right Reserved ͦ΋ͦ΋ෛ࠴ʹ͍ͭͯͪΌΜͱߟ͖͔͚͑ͨͬ ✓ ։ൃੜ࢈ੑΛ্͛ΔͨΊʹϓϩηεͷվળΛ͖ͯͨ͠ʢσϒαϛ2023ʣ ✓

    ݁Ռͱ֤ͯ͠νʔϜͰෛ࠴ʹ͍ͭͯߟ͑Δ͕࣌ؒੜ·Εͨ ϓϩμΫτόοΫϩά iOSνʔϜ AndroidνʔϜ Web FrontνʔϜ BackendνʔϜ εϓϦϯτ1 εϓϦϯτ2 ػೳA ػೳB ػೳC ɾ ɾ ɾ ػೳA ػೳA ػೳB ػೳA ػೳB ػೳA’ ػೳA’ ෛ࠴ฦࡁ ෛ࠴ฦࡁ ෛ࠴ฦࡁ ෛ࠴ฦࡁ ػೳC
  10. Copyright©2023 Sukedachi Inc. All Right Reserved ٕज़తෛ࠴ͱ͸ Tech Debt Timeline

    [Kruchten, Philippe. Managing Technical Debt (SEI Series in Software Engineering) (p. 33)] ࠷ॳͷࠒ͸ͦͷརӹΛڗडͰ͖͍͕ͯͨ
  11. Copyright©2023 Sukedachi Inc. All Right Reserved ٕज़తෛ࠴ͱ͸ Tech Debt Timeline

    [Kruchten, Philippe. Managing Technical Debt (SEI Series in Software Engineering) (p. 33)] ࠷ॳͷࠒ͸ͦͷརӹΛڗडͰ͖͍͕ͯͨɺ͋Δ࣌఺͔ΒརӹΑΓ΋։ൃʹ͓͚ΔෆརӹΛඃΔ͜ͱ ʹͳͬͯ͠·ͬͨϓϩάϥϜ΍ΞʔΩςΫνϟͷ͜ͱΛࢦ͢
  12. Copyright©2023 Sukedachi Inc. All Right Reserved ٕज़తෛ࠴ͱ͸ Tech Debt Timeline

    [Kruchten, Philippe. Managing Technical Debt (SEI Series in Software Engineering) (p. 33)] ࠷ॳͷࠒ͸ͦͷརӹΛڗडͰ͖͍͕ͯͨɺ͋Δ࣌఺͔ΒརӹΑΓ΋։ൃʹ͓͚ΔෆརӹΛඃΔ͜ͱ ʹͳͬͯ͠·ͬͨϓϩάϥϜ΍ΞʔΩςΫνϟͷ͜ͱΛࢦ͢ ࠷ॳͷࠒ͸རӹΛಘ͍ͯͨ = ઌਓୡ͕౰࣌ʢϏδωεతʹ΋ʣ࠷దͳΞʔΩςΫνϟͰ૊Μͩ΋ͷ ͋Δ࣌఺͔ΒརӹΛಘΒΕͳ͘ͳͬͨ = ٕज़΋ਐΜͰݱ࣌఺Ͱ͸࠷దͰ͸ͳ͘ͳͬͯ͠·ͬͨ΋ͷ
  13. Copyright©2023 Sukedachi Inc. All Right Reserved ॿଠ౛ͷ৔߹ ✓ αʔϏεΛ։ؙ࢝ͯ͠5೥Ҏ্ܦա ✓

    ୯ҰϦϙδτϦͰෳ਺ͷαʔϏεΛࢧ͑ΔόοΫΤϯυ ✓ ໌֬ͳίʔυن໿΍ϧʔϧͷͳ͍··ಈ͖͚ͩΛ୲อͨ͠ϑϩϯτΤϯυ ✓ ʮૣ͘ੈʹग़ͯ͠ਅՁΛ໰͏ʯΛਪ͠ਐΊͨ݁Ռͷܧ͗଍͠ίʔυ ✓ ॳظ͔Βߏ੒͕͋·ΓมΘΒͳ͍ΠϯϑϥετϥΫνϟʔ ࠓޙͷαʔϏε֦େʢϢʔβʔͷ૿Ճͱ৽نαʔϏεͷෳ਺্ཱͪ͛ʣΛߟ͑Δͱ ϦϑΝΫλϦϯά or ϦΞʔΩςΫνϟ or ϦϓϨΠεͳͲ΋ߟ͑Δ࣌ظʹͳͬͨ 💡
  14. Copyright©2023 Sukedachi Inc. All Right Reserved ॿଠ౛։ൃ෦ͷΞϓϩʔνͷ࢓ํ As is Fat

    View Controller Frontଆʹଟ਺ͷϩδοΫ ن໿ͷͳ͍ࣗ༝ͳίʔυ ෳࡶͳςʔϒϧઃܭ ػೳͷ੹຿͕͍͋·͍ ҙਤ͠ͳ͍ϞϊϦγοΫ ݹ͍versionͷFW/DB
  15. Copyright©2023 Sukedachi Inc. All Right Reserved ॿଠ౛։ൃ෦ͷΞϓϩʔνͷ࢓ํ As is Fat

    View Controller Frontଆʹଟ਺ͷϩδοΫ ن໿ͷͳ͍ࣗ༝ͳίʔυ ෳࡶͳςʔϒϧઃܭ ػೳͷ੹຿͕͍͋·͍ ҙਤ͠ͳ͍ϞϊϦγοΫ ݹ͍versionͷFW/DB ੹຿ຖʹ੔ཧ͞Εͨ ςʔϒϧߏ଄ υϝΠϯຖʹ੔ͬͨ MS / Module ੹຿ຖʹ੔ཧ͞Εͨ ςʔϒϧߏ଄ υϝΠϯຖʹ੔ͬͨ MS / Module ґଘؔ܎͕ݶఆత ࠷௿ݶͷϩδοΫ unitςετ To be
  16. Copyright©2023 Sukedachi Inc. All Right Reserved ॿଠ౛։ൃ෦ͷΞϓϩʔνͷ࢓ํ ௕ظతͳ ϦΞʔΩςΫνϟ ୹ظతͳ

    ϦΞʔΩςΫνϟ λεΫ಺༰ ΰʔϧ λΠϜϥΠϯ MSA΍ϞδϡϥʔϞϊϦεͳͲ ΞʔΩςΫνϟΛ࡮৽͠εέʔϥϒϧͳ αʔϏεج൫Λߏங ࠓޙͷେֻ͔ΓͳΞʔΩςΫνϟ࡮৽΍ ϦϑΝΫλϦϯά͕Ͱ͖ΔΑ͏ʹαʔϏε ຖͷ੹຿Λ໌֬ʹ͠ɺίʔυʹ൓ө αʔϏευϝΠϯΛ࠶ఆٛ͠ ֤υϝΠϯຖʹϚΠΫϩαʔϏε ʢor Ϟδϡʔϧʣʹ͍ͯ͘͠ ֤νʔϜͰ՝୊Λચ͍ग़͠ɺ ίʔυͷՄಡੑ΍อकੑΛ޲্ ͤ͞ΔͨΊͷϦϑΝΫλϦϯά 2~3೥ ~1೥
  17. Copyright©2023 Sukedachi Inc. All Right Reserved ॿଠ౛։ൃ෦ͷΞϓϩʔνͷ࢓ํ ௕ظతͳ ϦΞʔΩςΫνϟ ୹ظతͳ

    ϦΞʔΩςΫνϟ λεΫ಺༰ ΰʔϧ λΠϜϥΠϯ MSA΍ϞδϡϥʔϞϊϦεͳͲ ΞʔΩςΫνϟΛ࡮৽͠εέʔϥϒϧͳ αʔϏεج൫Λߏங ࠓޙͷେֻ͔ΓͳΞʔΩςΫνϟ࡮৽΍ ϦϑΝΫλϦϯά͕Ͱ͖ΔΑ͏ʹαʔϏε ຖͷ੹຿Λ໌֬ʹ͠ɺίʔυʹ൓ө αʔϏευϝΠϯΛ࠶ఆٛ͠ ֤υϝΠϯຖʹϚΠΫϩαʔϏε ʢor Ϟδϡʔϧʣʹ͍ͯ͘͠ ֤νʔϜͰ՝୊Λચ͍ग़͠ɺ ίʔυͷՄಡੑ΍อकੑΛ޲্ ͤ͞ΔͨΊͷϦϑΝΫλϦϯά 2~3೥ ~1೥
  18. Copyright©2023 Sukedachi Inc. All Right Reserved ॿଠ౛։ൃ෦ͷΞϓϩʔνͷ࢓ํ ௕ظతͳ ϦΞʔΩςΫνϟ ୹ظతͳ

    ϦΞʔΩςΫνϟ νʔϜຖʹٕज़ෛ࠴நग़ ։ൃ෦શମͰϩʔυϚοϓ࡞੒ ϩʔυϚοϓʹै࣮ͬͯ૷ ϩʔυϚοϓʹैͬͯৼΓฦΓ ࣄۀυϝΠϯ͔Β੔ཧ ຊདྷ͋Δ΂͖࢟ٞ࿦ αʔϏεઃܭ ΞʔΩςΫνϟબఆ ৄࡉઃܭ
  19. Copyright©2023 Sukedachi Inc. All Right Reserved ॿଠ౛։ൃ෦ͷΞϓϩʔνͷ࢓ํ ௕ظతͳ ϦΞʔΩςΫνϟ ୹ظతͳ

    ϦΞʔΩςΫνϟ νʔϜຖʹٕज़ෛ࠴நग़ ։ൃ෦શମͰϩʔυϚοϓ࡞੒ ϩʔυϚοϓʹै࣮ͬͯ૷ ϩʔυϚοϓʹैͬͯৼΓฦΓ ࣄۀυϝΠϯ͔Β੔ཧ ຊདྷ͋Δ΂͖࢟ٞ࿦ αʔϏεઃܭ ΞʔΩςΫνϟબఆ ৄࡉઃܭ ࠓճ࿩࣌ؒ࣠͢
  20. Copyright©2023 Sukedachi Inc. All Right Reserved ॿଠ౛։ൃ෦ͷΞϓϩʔνͷ࢓ํ ୹ظతͳٕज़తෛ࠴ฦࡁϓϩδΣΫτ 1. ֤νʔϜͰࣗ෼ͨͪͷࢥ͍ͬͯΔٕज़తͳෛ࠴Λચ͍ग़͢

    2. શମͰू·ͬͯෛ࠴ʹؔ͢Δೝࣝ߹Θͤ 3. ڞ௨߲ͷચ͍ग़͠ 4. ։ൃ෦શମͰٕज़తෛ࠴ฦࡁͷϩʔυϚοϓ࡞੒ 5. ։ൃSprintʹೖΕͯ։ൃ
  21. Copyright©2023 Sukedachi Inc. All Right Reserved ॿଠ౛։ൃ෦ͷ՝୊ ૊ΈࠐΉϧʔϧͱεϓϦϯτͷ΍Γํ - ։ൃ෦ͷෛ࠴ฦࡁϩʔυϚοϓʹैͬͯॱ൪ʹ։ൃεϓϦϯτʹෛ࠴ฦࡁλεΫೖΕΔ

    - ։ൃεϓϦϯτͷதͰɺ֤νʔϜͰ30%Ҏ্ͷετʔϦʔϙΠϯτΛෛ࠴ฦࡁʹׂΓৼΔ - εϓϦϯτ಺Ͱ༧ఆΑΓૣ͘ऴΘͬͨ৔߹ɺෛ࠴ฦࡁ͔࣍ͷλεΫਐΊΔ͔͸PMͱ౎౓૬ஊ ✓ جຊϧʔϧ ✓ ΍Βͳ͍͜ͱ - ۓٸͷόάରԠͱ͔͡Όͳ͍ݶΓඞͣෛ࠴ฦࡁʹ޻਺Λ࢖͏͜ͱʢ๩͍͔͠Β΍Βͳ͍͸μϝʣ - ৼΓฦΒͳ͍͸μϝ - ࣗ༝ʹ΍ͬͯྑ͍͕ɺࣗ༝Λཤ͖ҧ͑ͳ͍͜ͱʢ΍Δ߲໨ม͑Δͱ͖͸ϩʔυϚοϓม͑ͯڞ༗͠ ·͠ΐ͏ʣ
  22. Copyright©2023 Sukedachi Inc. All Right Reserved ·ͱΊͱߟ࡯ ✓ ͜͜2೥͘Β͍Ͱ։ൃϓϩηεΛͪΌΜͱ੔͍͑ͯͬͨΒΤϯδχΞͷ޻਺͕ݟ͑ΔԽ ✓

    νʔϜߏ੒͕ϓϩμΫτผʹͮ͠Β͍͔Βͦ͜༨ͬͨ޻਺Λ࢖͑ΔΑ͏ʹ ✓ ༨ͬͨ޻਺Ͱ֤νʔϜຖʹٕज़తෛ࠴ʹ޲͖߹͏͜ͱΛ։ൃ෦ͰܾΊͨ ✓ ෛ࠴ฦࡁϩʔυϚοϓΛ࡞੒͠ɺͦΕʹԊͬͯϦϑΝΫλͳͲਐΊΒΕΔମ੍ʹ ✓ CTO͚ͩͰͳ͘։ൃ෦શମͰٕज़తෛ࠴ʹ޲͖߹͏͜ͱ͕Ͱ͖ͨ ✓ νʔϜಉ࢜ͰࢥͬͯΔ͜ͱ΍໰୊఺ͳͲͷ૬ޓཧղʹͭͳ͕ͬͨ ✓ ΤϯδχΞͷਫ਼ਆӴੜతʹ΋ྑ͍औΓ૊Έ ✓ ࠓޙͷେ͖ͳมߋͳͲ΋΍Γ΍͍͢ܗʹ΋͍͚ͬͯͦ͏ ͜Ε·ͰͷྲྀΕ ݁ՌͲ͏ͳ͔ͬͨ