Lock in $30 Savings on PRO—Offer Ends Soon! ⏳
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
9.9k
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
660
制約下の医療LLM Observability 〜セキュアなデータ活用と専門家による改善サイクルの実現〜
kakehashi
PRO
2
210
KAKEHASHI❤️Hono
kakehashi
PRO
1
320
生成AIが拓く医療DXの進化と壁
kakehashi
PRO
1
220
品質と速度を両立する、私たちのフロントエンドテストの工夫と取り組み
kakehashi
PRO
2
150
爆速でプロダクトをリリースしようと思ったらマイクロフロントエンドを選んでいた
kakehashi
PRO
5
3k
生成AI時代に必要な価値ある意思決定を育てる「開発プロセス定義」を用いた中期戦略
kakehashi
PRO
2
2.1k
プロダクトの成長に合わせたアーキテクチャの段階的進化と成長痛、そして、ユニットエコノミクスの最適化
kakehashi
PRO
1
280
ユーザー課題を愛し抜く――AI時代のPdM価値
kakehashi
PRO
1
660
Other Decks in Business
See All in Business
AIはプロダクト開発をどう変えたか?〜 3つの役割から見る「変化」と「未来」〜 / How AI Transformed Product Development: A Look at "Change" and "Future" via Three Roles
iwashi86
3
820
ログラス会社紹介資料 新卒採用 ビジネス職[経営幹部候補]/ Loglass Company Deck
loglass2019
1
13k
現場とIT部門の橋渡しをして3000人の開発者を救った話 / Talk. Collaborate. Support. Lessons from Bridging Field and IT
nttcom
2
1.3k
株式会社マイクロアド 会社説明資料
yuiiii0412
0
640
明和不動産会社概要
prkoho
0
3.9k
CREALで働く
creal
PRO
0
1.1k
HashPort Company Deck
hashport
0
20k
[NGA] カンパニーデック202511Ver.
ngaltd
PRO
1
440
Crisp Code inc.|わたしたちの事例 / 実績 - Works
so_kotani
0
1.5k
ログラス会社紹介資料 / Loglass Company Deck
loglass2019
12
470k
三井物産グループのデジタル証券〜名古屋・プライムオフィス〜徹底解説セミナー
c0rp_mdm
PRO
0
1.5k
一次情報を武器にする - pmconf2025
hynym
PRO
0
430
Featured
See All Featured
Being A Developer After 40
akosma
91
590k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
8.3k
Fireside Chat
paigeccino
41
3.7k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Optimizing for Happiness
mojombo
379
70k
How To Stay Up To Date on Web Technology
chriscoyier
791
250k
Git: the NoSQL Database
bkeepers
PRO
432
66k
Product Roadmaps are Hard
iamctodd
PRO
55
12k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.6k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
69k
Principles of Awesome APIs and How to Build Them.
keavy
127
17k
How to Ace a Technical Interview
jacobian
280
24k
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