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
20%ルールに頼らない: 技術的負債を解消する 組織的な取り組み / Developers S...
Search
KAKEHASHI
PRO
July 27, 2023
Business
18
10k
20%ルールに頼らない: 技術的負債を解消する 組織的な取り組み / Developers Summit 2023 Summer
2023.07.27に開催されたDevelopers Summit 2023夏の登壇資料です
登壇者:湯前 慶大(VP of Engineering)
KAKEHASHI
PRO
July 27, 2023
Tweet
Share
More Decks by KAKEHASHI
See All by KAKEHASHI
産業的変化も組織的変化も乗り越えられるチームへの成長 〜チームの変化から見出す明るい未来〜
kakehashi
PRO
1
530
自己管理型チームと個人のセルフマネジメント 〜モチベーション編〜
kakehashi
PRO
5
2.8k
なりたかった自分となりたい自分
kakehashi
PRO
1
570
そのアウトプットは世界とつながっている
kakehashi
PRO
2
170
品質のための共通認識
kakehashi
PRO
5
500
なぜ使われないのか?──定量×定性で見極める本当のボトルネック
kakehashi
PRO
1
1.8k
制約下の医療LLM Observability 〜セキュアなデータ活用と専門家による改善サイクルの実現〜
kakehashi
PRO
2
310
KAKEHASHI❤️Hono
kakehashi
PRO
1
410
生成AIが拓く医療DXの進化と壁
kakehashi
PRO
1
350
Other Decks in Business
See All in Business
株式会社夜明け会社概要資料2025.ver
tomoyuki1188
PRO
0
280
イグニション・ポイント株式会社/採用エントランスBook_2026
ignitionpointhr
2
160k
チェンジホールディングス会社紹介資料
changeholdings
0
540
プレックス キャリアアドバイザー職向け会社紹介資料
plex
0
110
PoliPoli_CompanyDeck
polipoli
1
26k
jinjer recruiting pitch
jinjer_official
0
130k
動画編集スクールブイプロ_ファクトブック2026
stakayama
0
160
AI時代のデータアナリストの立ち位置
isseiito
0
140
YassLab (株) サービス紹介 / Introduction of YassLab
yasslab
PRO
2
41k
カンパニーデック 2025.12.25
toggletest
0
2k
Fuji Oil 2025 Board of Directors
tsogo817421
2
360
【新卒向け】株式会社リブに興味のある方へ
libinc
0
10k
Featured
See All Featured
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
52
5.8k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.9k
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
First, design no harm
axbom
PRO
2
1.1k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
94
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
1
97
Test your architecture with Archunit
thirion
1
2.1k
Prompt Engineering for Job Search
mfonobong
0
140
Amusing Abliteration
ianozsvald
0
86
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
140
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.9k
Transcript
20%ルールに頼らない: 技術的負債を解消する 組織的な取り組み 2023.07.27 株式会社カケハシ 湯前 慶大
Copyright © KAKEHASHI Inc. All Rights Reserved. 1 湯前 慶大(VP
of Engineering) @yunon_phys 2010-2014 (株)日立製作所: 研究員 2014-2023 (株)アカツキ: VP of Engineering 2023- (株)カケハシ: VP of Engineering Engineering ManagerのためのPodcast EM.FMの パーソナリティーをつとめる 最近子どもが産まれて、てんやわんやな日々を 過ごす
Copyright © KAKEHASHI Inc. All Rights Reserved. 2 突然ですが・・・
みなさんこんなことは無いですか?
Copyright © KAKEHASHI Inc. All Rights Reserved. 3 ・技術的負債の解消より機能開発の
方がいつも優先度が高い ・経営者やPdMから技術的負債に ついて理解してもらいづらい ・正直技術的負債の解消に気乗り しない
Copyright © KAKEHASHI Inc. All Rights Reserved. 4 技術的負債の解消のやり方や
技術的負債の大事さはいろんな情報がある 一方、どうやって社内で調整するのか、 という現実的な話はあまり情報がない (泥臭いし、正直かっこいい話じゃないし)
Copyright © KAKEHASHI Inc. All Rights Reserved. 5 今日の話は・・・
技術的負債はこうやれば解決するよ 悩みながらなんとか向き合って進めてるよ → かなり現実的な話をしていきます
Copyright © KAKEHASHI Inc. All Rights Reserved. Vision 明日の医療の基盤となる、エコシステムの実現。
6 Mission 日本の医療体験を、しなやかに。
Copyright © KAKEHASHI Inc. All Rights Reserved. 7
Copyright © KAKEHASHI Inc. All Rights Reserved. 8 Musubi
AI在庫管理(薬局向け) 残薬問題 非効率な物流 人に頼った在庫管理
Copyright © KAKEHASHI Inc. All Rights Reserved. 9 リリースして約2年
まだまだ機能拡張をしていきたい でも、なんか開発がうまくいってない
Copyright © KAKEHASHI Inc. All Rights Reserved. 10 感覚的に開発効率に課題はありそう
以前と比較して機 能リリースが遅く なっている気がする ・・・ by PdM 3ヶ月前に入社した が、こんなにコード を把握できないの は初めて by エンジニア 機能を追加するとエ ンバグしてしまいそ うで、コードを触る のが怖い by エンジニア
Copyright © KAKEHASHI Inc. All Rights Reserved. 11 Findy
Team+でもマージまでの 平均時間は伸びている
Copyright © KAKEHASHI Inc. All Rights Reserved. 12 じゃあどうすれば良いか?
Copyright © KAKEHASHI Inc. All Rights Reserved. 13 機能拡張のために取りうる手段
1. 追加機能を可能な限り削る 2. 開発効率を上げる 3. 人を増やす
Copyright © KAKEHASHI Inc. All Rights Reserved. 14 機能拡張のために取りうる手段
1. 追加機能を可能な限り削る Enterprise企業を顧客にしていくために、 そもそも足りていない機能が多すぎる → 残念ながら、現段階ではこれは取れない
Copyright © KAKEHASHI Inc. All Rights Reserved. 15 機能拡張のために取りうる手段
1. 追加機能を可能な限り削る 2. 開発効率を上げる 3. 人を増やす 理想的には この順番で 対処していきたい
Copyright © KAKEHASHI Inc. All Rights Reserved. 16 機能拡張のために取りうる手段
1. 追加機能を可能な限り削る 2. 開発効率を上げる 3. 人を増やす 現実的には 同時並行 (採用も育成も時間 がかかる)
Copyright © KAKEHASHI Inc. All Rights Reserved. 17 機能拡張のために取りうる手段
1. 追加機能を可能な限り削る 2. 開発効率を上げる 3. 人を増やす ← 今日はここだけ
Copyright © KAKEHASHI Inc. All Rights Reserved. 18 生産性とは?
期待付加価値 仕事量 実現 付加 価値 どの程度の仕事を こなすことができたか どれだけ価値の高い 仕事をできたか どれだけKPIを達成する ための重要な指標を達 成できたか https://qiita.com/hirokidaichi/items/53f0865398829bdebef1 に基づき筆者作成
Copyright © KAKEHASHI Inc. All Rights Reserved. 19 生産性とは?
期待付加価値 仕事量 実現 付加 価値 下のレベルの 生産性が高くないと 上のレベルの 生産性も高くない
Copyright © KAKEHASHI Inc. All Rights Reserved. 20 生産性とは?
期待付加価値 仕事量 実現 付加 価値 今回のフォーカスは仕事量の生産性 → 開発効率をいかに上げるか?
Copyright © KAKEHASHI Inc. All Rights Reserved. 21 では開発効率を
チームとして上げてこなかったのか?
Copyright © KAKEHASHI Inc. All Rights Reserved. 22 チームの取り決めとして、
20%は改善活動に時間を割くことに なっていた でも、実際には開発効率に影響が出る ぐらい、技術的負債は溜まってしまっ ていた・・・
Copyright © KAKEHASHI Inc. All Rights Reserved. 23 一例ですが・・・
・テストが不十分なので変更が怖い ・テストを拡充するために、そもそもの リファクタリングもやりたい ・e2eが巨大なメソッドになっていて、 何をテストしているかわかりづらい ・シンボリックリンクが多用されて いて、読解に時間がかかる ・論理削除が多用されていて、 パフォーマンス影響が顕在化してきた
Copyright © KAKEHASHI Inc. All Rights Reserved. 24 ところで・・・
技術的負債はネガティブなのか? 負債と聞くとネガティブなイメージを持ちがちだ が、何かしらのレバレッジ(てこ)によりプロダクト 開発をした結果出たもの。うまく返済活動すれば 良い。 過去を否定したら今が無いかもしれないので、 過去に敬意を持って対処するのが大事。
Copyright © KAKEHASHI Inc. All Rights Reserved. 25 技術的負債を解消する
ためにどう組織的に 解消に動いたか?
Copyright © KAKEHASHI Inc. All Rights Reserved. 26 ✔
そもそも20%の時間で改善できる 内容には限界がある ↓ 100%時間を使えるように うまくチームを構成すれば良いのでは A B C D E F A B C D E F
Copyright © KAKEHASHI Inc. All Rights Reserved. 27
Copyright © KAKEHASHI Inc. All Rights Reserved. 28 チームを分割して対応しようとしたら・・・
✔ ドメイン知識に偏りがある ✔ どこをリファクタリング・リアーキテクチャするのか チーム全体で細かなすり合わせが必要
Copyright © KAKEHASHI Inc. All Rights Reserved. 29 そもそも、技術的負債はチームの課題。
結果的に特定の人が解決するにしても、 考え方、解決のやり方などはチーム全体で 取り組まなければいけない。 → いきなり解決専門のチームをつくって 解消する方針は取りやめ
Copyright © KAKEHASHI Inc. All Rights Reserved. 30 なんとなく課題があるのはわかる
でも、ここにどれだけ時間的リソースを使って 取り組むべきかは 誰も自信を持って言えない状態。 意思決定しきれないまま、 2ヶ月ぐらい経ったころ、ある事件が起きた...
Copyright © KAKEHASHI Inc. All Rights Reserved. 31 ✔
そもそも20%の時間で改善できる 内容には限界がある ↓ 100%時間を使えるように うまくチームを構成すれば良いのでは 見積もりバカでかい事件 (今考えた)
Copyright © KAKEHASHI Inc. All Rights Reserved. 32 概算見積もりによる開発期間
velocityから算出した開発期間(3倍!!!)
Copyright © KAKEHASHI Inc. All Rights Reserved. 33 経営メンバーも、PdMも、SMも
みんな頭を抱えてしまう OKRの達成が・・・ 顧客への説明が・・・ 今後の開発が・・・ 経営メンバー PdM SM
Copyright © KAKEHASHI Inc. All Rights Reserved. 34 とりあえず
落ち着こう!! やらなきゃいけないのは、 どうやって開発効率を上げるか? ≒ 技術的負債にどう向き合うか?
Copyright © KAKEHASHI Inc. All Rights Reserved. 35 エンジニア的には工数さえ確
保出来ていれば、まあやりま すよ、というスタンス (※後に話すが、そんな簡単 でもなかった)
Copyright © KAKEHASHI Inc. All Rights Reserved. 36 とはいえ・・・
それなりに長期間(3ヶ月 ~ 半年ぐらい)、技術 的負債に向き合う必要がある この間、機能開発が止まる or 遅くなる
Copyright © KAKEHASHI Inc. All Rights Reserved. 37 長い時間をかけて技術的負債の解消に
工数をかけるのは、理解ある経営者や PdMでも納得してもらうのは大変 売上に直結することを 優先したい経営者、PO、 PdM
Copyright © KAKEHASHI Inc. All Rights Reserved. 38 どこまでいっても、技術的負債の解消の効
果を定量的に説明するのは難しい。 でも、EMやエンジニアの言っていることが 嘘ではないことも理解している。 だからこそ、技術的負債に対する熱量を伝 えることは大事。そのために、提案するEM やエンジニアも覚悟を示す
Copyright © KAKEHASHI Inc. All Rights Reserved. 39
Copyright © KAKEHASHI Inc. All Rights Reserved. 40
Copyright © KAKEHASHI Inc. All Rights Reserved. 41 身を削るのは、
経営者やPdMだけになっていないか?
Copyright © KAKEHASHI Inc. All Rights Reserved. 42 長期的な改善だけでなく、短期間の
改善も提案し、最大限EMやエンジニ アも身を削る提案をする 長期的な改善 ・技術的負債の解消 ・採用や育成 ・構造改革 短期的な改善 ・プロセスの改善 ・会議体の整理 ・自動化・仕組み化
Copyright © KAKEHASHI Inc. All Rights Reserved. 43 社内資料より抜粋
見積もり・進捗報告のやり方を変え、 すぐに課題に対処出来るようにする
Copyright © KAKEHASHI Inc. All Rights Reserved. 44 短期的に成果を出すことにフォーカスするべく、
中長期的な施策を勇気を持って一旦削除する 社内資料より抜粋
Copyright © KAKEHASHI Inc. All Rights Reserved. 45 身を削る提案をすることで、
中長期的な対策として技術的負債の解消を 経営層・PdMと議論できるようになった 議論内容 ✔ ゴールをどうするか ✔ 何をやるのか ✔ どのくらいの期間とリソースを使うか
Copyright © KAKEHASHI Inc. All Rights Reserved. 46 テスト戦略
+ テスト リファクタリング リアーキテクチャ 緊急的 負債解消 新規開発の負債解消 新規開発の負債解消 新規開発 負債解消 機能開発・機能改修 時期 時間的なリソースの割合 技術的負債の解消プロセスのイメージの共有
Copyright © KAKEHASHI Inc. All Rights Reserved. 47 次は見積もりをするべく、
エンジニアチーム内でのすり合わせ しかし、そもそも・・・ ✔ なぜやるのか ✔ 何が今課題なのか ✔ 何が理想の状態なのか の認識がチーム全体で合っていない
Copyright © KAKEHASHI Inc. All Rights Reserved. 48 こういう深い議論をするのには、
1つのホワイトボードを見ながら、 長めに時間をかけるのが良い方法 しかし カケハシは全員リモートワーク というわけで・・・
Copyright © KAKEHASHI Inc. All Rights Reserved. 49 全国から全員集合!!!
Copyright © KAKEHASHI Inc. All Rights Reserved. 50
Copyright © KAKEHASHI Inc. All Rights Reserved. 51 オフラインの議論により、
✔ なぜやるのか ✔ 何が今課題なのか ✔ 何が理想の状態なのか はチームで大方揃った・・・! あとは進めるだけ・・・! → To be continued...
Copyright © KAKEHASHI Inc. All Rights Reserved. 52 技術的負債への組織的な取り組みについて、
悩みながらも進めている話をしました。 何かしら皆さまの組織において、 参考になれば幸いです。
53 Connpass
54 本日のアンケートへのご協力を お願いします
55