Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
組織設計にリファクタリング・リアーキテクティングを適用してみた
Search
eiryupio
January 25, 2024
Technology
0
1.1k
組織設計にリファクタリング・リアーキテクティングを適用してみた
2024-01-25 TechBrew in 東京 〜技術的負債と共に歩むプロダクトの成長〜
https://findy.connpass.com/event/306451/
eiryupio
January 25, 2024
Tweet
Share
Other Decks in Technology
See All in Technology
社内で最大の技術的負債のリファクタリングに取り組んだお話し
kidooonn
1
550
100 名超が参加した日経グループ横断の競技型 AWS 学習イベント「Nikkei Group AWS GameDay」の紹介/mediajaws202411
nikkei_engineer_recruiting
1
170
ノーコードデータ分析ツールで体験する時系列データ分析超入門
negi111111
0
410
マルチモーダル / AI Agent / LLMOps 3つの技術トレンドで理解するLLMの今後の展望
hirosatogamo
37
12k
ExaDB-D dbaascli で出来ること
oracle4engineer
PRO
0
3.8k
Terraform未経験の御様に対してどの ように導⼊を進めていったか
tkikuchi
2
430
Oracle Cloud Infrastructureデータベース・クラウド:各バージョンのサポート期間
oracle4engineer
PRO
28
12k
[CV勉強会@関東 ECCV2024 読み会] オンラインマッピング x トラッキング MapTracker: Tracking with Strided Memory Fusion for Consistent Vector HD Mapping (Chen+, ECCV24)
abemii
0
220
SSMRunbook作成の勘所_20241120
koichiotomo
2
130
透過型SMTPプロキシによる送信メールの可観測性向上: Update Edition / Improved observability of outgoing emails with transparent smtp proxy: Update edition
linyows
2
210
Can We Measure Developer Productivity?
ewolff
1
150
ドメインの本質を掴む / Get the essence of the domain
sinsoku
2
150
Featured
See All Featured
GraphQLの誤解/rethinking-graphql
sonatard
67
10k
Art, The Web, and Tiny UX
lynnandtonic
297
20k
Reflections from 52 weeks, 52 projects
jeffersonlam
346
20k
Rebuilding a faster, lazier Slack
samanthasiow
79
8.7k
Six Lessons from altMBA
skipperchong
27
3.5k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
26
2.1k
A Philosophy of Restraint
colly
203
16k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
KATA
mclloyd
29
14k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
4
370
Raft: Consensus for Rubyists
vanstee
136
6.6k
Automating Front-end Workflow
addyosmani
1366
200k
Transcript
৫ઃܭʹ ϦϑΝΫλϦϯάɾϦΞʔΩςΫςΟϯά Λద༻ͯ͠Έͨ ʮ 5FDI#SFX JO౦ژ ʙٕज़తෛ࠴ͱڞʹาΉϓϩμΫτͷʙ ʯ
ࠓ͓͢Δ͜ͱ ྫ͑ ɾཧղ༰қੑ ɾςετ༰қੑ ɾมߋ༰қੑ ࣮ ʮ৫ઃܭʯʹݪҼ͕͋ΔͷͰʁ ϦϑΝΫλϦϯά ϦΞʔΩςΫςΟϯά ٕज़తෛ࠴
෦࣭ ʢอकੑͷԼʣ ৽ͨͳ͕ൃੜʂ Կ͕ݪҼ͔ʁ
ࣗݾհ Ӭཹ ྄Ұʢ/BHBEPNF 3ZPJDIJʣ ॴଐɿ-*/&Ϡϑʔגࣜձࣾ ڌɿؔࡏॅʢ݄̍PS̎ ϖʔεͰ౦ژʹʣ ηΩϡϦςΟܥϕϯνϟʔɺಠཱܥ4*FSΛܦݧޙɺ ʹϠϑʔגࣜձࣾʢݱ-*/&Ϡϑʔגࣜձࣾʣೖࣾ !FJSZVQJP
ɾೝఆεΫϥϜϚελʔ ɾೝఆϓϩμΫτΦʔφʔ
ʮιϑτΣΞͷ෦࣭ʹੜ͡Δ༷ʑͳ৫ઃܭʹͦͷݪҼ͕͋Δ͜ͱଟ͍ !NUYTʯΑΓ IUUQTTQFBLFSEFDLDPNNUYTJOUFSOBMRVBMJUZJTTVFTDBVTFECZPSHBOJ[BUJPOBMEFTJHO ιϑτΣΞͷ෦࣭ʹੜ͡Δ
ίʔυͷΦʔφʔγοϓ੍Λಋೖ
ίʔυʹಛఆͷΦʔφʔΛܾΊΔ
$PEF0XOFSTIJQ ڧ͍ίʔυॴ༗ 4USPOHDPEFPXOFSTIJQ ίʔυॴ༗νʔϜʹཔΜͰมߋͯ͠Β͏ ऑ͍ίʔυॴ༗ 8FBLDPEFPXOFSTIJQ ίʔυΛมߋͯ͠Α͍ʢࣄલʹ૬ஊ͓ͯ͘͠ʣ͕ɺ ίʔυॴ༗νʔϜʹ͋Δ ίʔυͷڞಉॴ༗ $PMMFDUJWFDPEFPXOFSTIJQ
ίʔυͷॴ༗ͱ͍͏ߟ͕͑ͳ͘ɺ ڐՄͳ͘୭͕ͲͷίʔυʹมߋΛՃ͑Δ͜ͱ͕Ͱ͖Δ ʮίʔυͷॴ༗ .BSUJO'PXMFST#MJLJ KB ʯΑΓ IUUQTCMJLJKBHJUIVCJP$PEF0XOFSTIJQ ˞ίʔυΛมߋ͍ͨ͠߹ ݪଇ ߹ʹ Αͬͯ
ڧ͍ίʔυॴ༗ʗऑ͍ίʔυॴ༗ ʮιϑτΣΞͷ෦࣭ʹੜ͡Δ༷ʑͳ৫ઃܭʹͦͷݪҼ͕͋Δ͜ͱଟ͍ !NUYTʯΑΓ IUUQTTQFBLFSEFDLDPNNUYTJOUFSOBMRVBMJUZJTTVFTDBVTFECZPSHBOJ[BUJPOBMEFTJHO ݪଇ ߹ʹ Αͬͯ
ྫɿڧ͍ίʔυॴ༗ 4USPOHDPEFPXOFSTIJQ ,νʔϜ ʓʓ"1*ॴ༗νʔϜ զʑͷνʔϜͰ։ൃͨ͠ը໘Ͱෆ۩߹͕ݟ͔ͭΓ·͠ ͨɻௐࠪͨ͠ͱ͜Ζɺ ʓʓ"1*ͷϨεϙϯεʹఆ֎ͷσʔλؚ͕·Ε͍ͯ ͨΑ͏Ͱ͢ͷͰɺ֬ೝΛ͓ئ͍Ͱ͖·͢Ͱ͠ΐ͏͔ ͝࿈བྷ͋Γ͕ͱ͏͍͟͝·͢ ͙͢ʹ֬ೝ͠·͢ʂ
֬ೝͨ͠ͱ͜Ζɺʓʓ"1*ͷڞ௨ॲཧͰ ෆ۩߹͕ݟ͔ͭΓ·ͨ͠ ঝ͠·ͨ͠ʂ ͙͢ʹରԠ͍͖ͤͯͨͩ͞·͢ ΑΖ͓͘͠ئ͍͠·͢ ֬͝ೝ͋Γ͕ͱ͏͍͟͝·͢ʂ ϢʔβʔӨڹ͕ग़͍ͯΔͨΊɺ ෆ۩߹ͷमਖ਼Λ͓ئ͍Ͱ͖·͢Ͱ͠ΐ͏͔
ྫɿऑ͍ίʔυॴ༗ 8FBLDPEFPXOFSTIJQ ,νʔϜ զʑͷνʔϜͰاըͨ͠ରԠͰɺ ʓʓ"1*ʹػೳΛՃͨ͘͠ɺίʔυΛมߋ ͍ͨ͠ͷͰ͕͢ ঝ͠·ͨ͠ ʮϓϧϦΫʯΛग़ͯ͠Β͑ͨΒ ίʔυϨϏϡʔ͠·͢ͷͰɺ ͍ͭ͝ΖʮϓϧϦΫʯ͕ग़ͤͦ͏Ͱ͔͢ʁ
͋Γ͕ͱ͏͍͟͝·͢ ໌ʹʮϓϧϦΫʯΛग़ͤΔݟࠐΈͰ͢ʂ ໊,νʔϜͰίʔυϨϏϡʔΛ͓ئ͍͠·͢ ,νʔϜͰʔυϨϏϡʔ͕ऴΘΓ·ͨ͠Β ͝࿈བྷ͍͚ͨͩ·͢Ͱ͠ΐ͏͔ ͦͷޙɺͪ͜ΒͰBQQSPWFEग़དྷ·ͨ͠ΒϚʔδ͠ɺ ϦϦʔε·Ͱ࣮ࢪ͍ͨ͠ͱࢥ͍·͢ ঝ͠·ͨ͠ʂ ΑΖ͓͘͠ئ͍͠·͢ ʓʓ"1*ॴ༗νʔϜ
ྫɿऑ͍ίʔυॴ༗͋Δ͋Δᶃ ,νʔϜ ঝ͠·ͨ͠ ʮϓϧϦΫʯΛग़ͯ͠Β͑ͨΒ ίʔυϨϏϡʔ͠·͢ͷͰɺ ͍ͭ͝ΖʮϓϧϦΫʯ͕ग़ͤͦ͏Ͱ͔͢ʁ ʓʓ"1*ॴ༗νʔϜͷʮϦιʔεʯʹظΛͯ͠͠·͏ ʓʓ"1*ॴ༗νʔϜ զʑͷνʔϜͰاըͨ͠ରԠͰɺ ʓʓ"1*ʹػೳΛՃͨ͘͠ɺίʔυΛมߋ
͍ͨ͠ͷͰ͕͢ ,νʔϜͰଞͷରԠਐΊ͍ͯ·ͯ͠ɺνʔϜ ʹ͋·Γ༨༟͕ͳ͘ɺࠓճʓʓ"1*ॴ༗νʔϜ Ͱ։ൃΛ͓ئ͍ग़དྷ·ͤΜͰ͠ΐ͏͔ʁ
ྫɿऑ͍ίʔυॴ༗͋Δ͋Δᶄ ,νʔϜ ঝ͠·ͨ͠ ʮϓϧϦΫʯΛग़ͯ͠Β͑ͨΒ ίʔυϨϏϡʔ͠·͢ͷͰɺ ͍ͭ͝ΖʮϓϧϦΫʯ͕ग़ͤͦ͏Ͱ͔͢ʁ ,νʔϜʹ#BDLFOE։ൃܦݧͷઙ͍ϝϯόʔ͔͓͠ Βͣɺʓʓ"1*Λ։ൃ͢Δʹ͔ͳΓ͕͔͔࣌ؒͬͯ ͠·͏ͷͰ͕͢ɺࠓճʓʓ"1*ॴ༗νʔϜͰ։ൃΛ͓ ئ͍ग़དྷ·ͤΜͰ͠ΐ͏͔ʁ
,νʔϜ͕ʮࣝɾεΩϧʯΛ༗͍ͯ͠ͳ͍ ʓʓ"1*ॴ༗νʔϜ զʑͷνʔϜͰاըͨ͠ରԠͰɺ ʓʓ"1*ʹػೳΛՃͨ͘͠ɺίʔυΛมߋ ͍ͨ͠ͷͰ͕͢
νʔϜମ੍มߋ
νʔϜମ੍Λมߋ #BDLFOE ։ൃνʔϜ "OESPJE ։ൃνʔϜ J04 ։ൃνʔϜ
#BDLFOE ։ൃνʔϜ 8FC ։ൃνʔϜ #FGPSF "GUFS ٕज़ྖҬຖʹ͚ͨνʔϜମ੍ J04 #BDLFOE ։ൃνʔϜ "OESPJE #BDLFOE ։ൃνʔϜ "OESPJE #BDLFOE ։ൃνʔϜ J04 #BDLFOE ։ൃνʔϜ "OESPJE #BDLFOE 8FC ։ൃνʔϜ J04 #BDLFOE 8FC ։ൃνʔϜ '&ͱ#BDLFOEΛΈ߹Θͤͨ ʮٕज़ԣஅܕʯνʔϜମ੍
νʔϜମ੍Λมߋ #BDLFOE ։ൃνʔϜ "OESPJE ։ൃνʔϜ J04 ։ൃνʔϜ
#BDLFOE ։ൃνʔϜ 8FC ։ൃνʔϜ #FGPSF "GUFS ٕज़ྖҬຖʹ͚ͨνʔϜମ੍ J04 #BDLFOE ։ൃνʔϜ "OESPJE #BDLFOE ։ൃνʔϜ "OESPJE #BDLFOE ։ൃνʔϜ J04 #BDLFOE ։ൃνʔϜ "OESPJE #BDLFOE 8FC ։ൃνʔϜ J04 #BDLFOE 8FC ։ൃνʔϜ '&ͱ#BDLFOEΛΈ߹ΘͤͨνʔϜମ੍ Ϣʔβʔʹ҆͘શʹՁΛಧ͚ΒΕΔΑ͏ʹ νʔϜؒͷΓऔΓΛݮΒ͠ɺແବͳௐΛͳ͘͢ ετϦʔϜΞϥΠϯυνʔϜ
ʹνʔϜͰԿ͕ى͖͍͔ͯͨʁ ༏ઌ ߴ ༏ઌ νέοτຖʹ୲ऀΛઃఆ͠ɺ୲ऀ༏ઌͷߴ͍ͷ͔Βऔ͍ͬͯ͘ ̋ "OESPJE ✕ #BDLFOE
✕ "OESPJE ̋ #BDLFOE ̋ "OESPJE ✕ #BDLFOE ಛఆϝϯόʔ͔͠#BDLFOE ։ൃ͕Ͱ͖ͳ͍ ಛఆϝϯόʔ͔͠#BDLFOE ։ൃ͕Ͱ͖ͳ͍ ୲ऀ ΞΠίϯ
νʔϜଐਓԽͷ᠘ʹ·Δ
ϓϩμΫτ։ൃεϐʔυ͕ ্͕Βͳ͍
5ܕКܕਓࡐͷҭ 5ܕͱɺ ̍ͭͷʹ͓͍ͯਂ͍ઐࣝʢॎͷʣͱಉ࣌ʹɺ ଞͷʹର͢Δ͍ࣝεΩϧʢԣͷʣΛซͤ࣋ͭਓࡐ Кܕͱɺ ̎ͭҎ্ͷʹ͓͍ͯਂ͍ઐࣝʢॎͷʣͱಉ࣌ʹɺ ଞͷʹର͢Δ͍ࣝεΩϧʢԣͷʣΛซͤ࣋ͭਓࡐ
νʔϜεΩϧΛՄࢹԽ ʢ"OESPJE #BDLFOEνʔϜͷ߹ʣ #FGPSF
ϓϩηεվળ ༏ઌ ߴ ༏ઌ νέοτʹ୲ऀΛઃఆ͠ͳ͍ ඞͣ༏ઌͷߴ͍νέοτ͔Βऔ͍ͬͯ͘ʢڧ੍ʣ ୲ऀ ΞΠίϯ
ϓϩηεվળ ༏ઌ ߴ ༏ઌ νέοτʹ୲ऀΛઃఆ͠ͳ͍ ඞͣ༏ઌͷߴ͍νέοτ͔Βऔ͍ͬͯ͘ ୲ऀ ΞΠίϯ
ϓϥΫςΟε • ϖΞϓϩɺϖΞ࡞ۀඞਢ ͨͩ͠ʮֶशதʯಉ࢜ͷϖΞېࢭ • νέοτʹΑͬͯϞϒϓϩ࣮ࢪ • 5%%ඞਢ • ϑϩʔޮॏࢹ • ଞ
ϚϧνεΩϧԽ ʢ"OESPJE #BDLFOEνʔϜͷ߹ʣ #FGPSF "GUFS
νʔϜͰίʔυΛڞಉॴ༗͢Δ ڧ͍ίʔυॴ༗ 4USPOHDPEFPXOFSTIJQ ίʔυॴ༗νʔϜʹཔΜͰมߋͯ͠Β͏ ऑ͍ίʔυॴ༗ 8FBLDPEFPXOFSTIJQ ίʔυΛมߋͯ͠Α͍ʢࣄલʹ૬ஊ͓ͯ͘͠ʣ͕ɺ ίʔυॴ༗νʔϜʹ͋Δ ίʔυͷڞಉॴ༗ $PMMFDUJWFDPEFPXOFSTIJQ
ίʔυͷॴ༗ͱ͍͏ߟ͕͑ͳ͘ɺ ڐՄͳ͘୭͕ͲͷίʔυʹมߋΛՃ͑Δ͜ͱ͕Ͱ͖Δ ʮίʔυͷॴ༗ .BSUJO'PXMFST#MJLJ KB ʯΑΓ IUUQTCMJLJKBHJUIVCJP$PEF0XOFSTIJQ ˞ίʔυΛมߋ͍ͨ͠߹ ݪଇ ߹ʹ Αͬͯ νʔϜ