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

技術的負債を「戦略的投資」にするためのPdMとエンジニアの連携と実践

 技術的負債を「戦略的投資」にするためのPdMとエンジニアの連携と実践

Avatar for satomino

satomino

May 21, 2025
Tweet

More Decks by satomino

Other Decks in Technology

Transcript

  1. #技術的負債へのアプローチ 3
 © Safie Inc.| 
 自己紹介 佐藤 文愛 Sato

    Minori Product Manager CAREER 2021.4 某ベンチャー企業へ新卒入社     ソフトウェアエンジニア 2023.3 UXデザイン、プロダクト戦略 2023.8 プロダクトオーナー、スクラムマスター 2024.9 セーフィー株式会社に転職    Safie Viewer(セーフィー ビューアー)PdM X:@sato_1998_ フォローお願いします👆
  2. #技術的負債へのアプローチ 4
 © Safie Inc.| 
 プロダクト紹介 ~Safie(セーフィー)とは?~ Safie Viewer 対応カメラをインターネットに接続するだけで

    いつでもどこでも映像を確認・管理できるクラウド録画サービスです。 カメラの映像を確認するためにSafie Viewer(セーフィー ビューアー)を使用しま す。
  3. #技術的負債へのアプローチ 12 © Safie Inc.| 技術的負債の定義②:ドメイン知識と乖離するパターン “ もしも⾃分たちが書いているプログラムを、⾦融の世界に関する正しい捉え ⽅だと⾃分たちが理解した姿と⼀致させることができなくなれば、 ⾃分たちは絶えずその不⼀致につまずき続けることになり、開発スピードは遅く

    なっていくでしょう。 それはまるで借⾦の利⼦を払い続けるかのようです “ 参考:技術的負債という概念の⽣みの親 Ward Cunningham ⾃⾝による説明(t-wada) 正しい姿 正しい姿だと ⾃分たちが理 解した姿 実際のコード ちゃんと反映 しようという話
  4. #技術的負債へのアプローチ 13 © Safie Inc.| 技術的負債の定義②:ドメイン知識と乖離するパターン ” 道具を使うことによって⾃分たちが変容していく体験をずっとしているんだ と思うんです。そして、これが⾃分たちの世界の⾒⽅そのものであるべきなんじゃ ないかと思っています。

    ” オブジェクト指向デザインの道具論(上野学) ” ⼈間は道具を作った動物ではあるが、道具の使い⽅を学ぶことが私たち⾃⾝ を変える、という点に道具と⼈間の本質があることを意味している。 ” (アラン‧ケイ)
  5. #技術的負債へのアプローチ 21 © Safie Inc.| 実践例その1:コード品質の妥協による負債に向き合う 課題 • ベロシティの低下 •

    障害対応 コア開発者 開発者B 開発者A 開発者C 開発者D 知識が一部のエンジニアに集中 Before
  6. #技術的負債へのアプローチ 22 © Safie Inc.| 実践例その1:コード品質の妥協による負債に向き合う やったこと • エンジニア勉強会 •

    モブプロの導⼊ • イネイブリングチームへの協⼒ コア開発者 開発者B 開発者A 開発者C 開発者D 知識共有の仕組み After
  7. #技術的負債へのアプローチ 23 © Safie Inc.| イネイブリングチーム 実践例その1:コード品質の妥協による負債に向き合う やったこと • エンジニア勉強会

    • モブプロの導⼊ • イネイブリングチームへの協⼒ イネイブリングチーム連携 After 開発チーム 📖✍ 設計相談 早期レビュー コードレビュー
  8. #技術的負債へのアプローチ 24 © Safie Inc.| 実践例その1:コード品質の妥協による負債に向き合う 効果 • メンバーの技術⼒向上 •

    属⼈化解消 • ⼿戻りコスト削減 PMとして • 新規開発を⽌め、技術⼒アップに集中できる環境づくり • リサーチなどのディスカバリーに時間を充てる
  9. #技術的負債へのアプローチ 26 © Safie Inc.| 実践例その2:ドメイン知識との乖離による負債へのアプローチ 課題 プロダクトが業務で使えていない • 営業⽀援プロダクト

    • 顧客ごとのネクストアクション (架電∕メール∕契約書送付…)管理機能 • タスク時間の設定、⼀覧表⽰ができるが 1件ずつ⽬で⾒てタスク順番を決定していた 上から順にタスク実施していない Before タスク⼀覧 顧客名 タスク日時 ( ↓ ) タスク 佐藤太郎 5/21 09:00 メール送付 山田二郎 5/21 11:00 架電 加藤花子 5/21 12:00 請求書送付 齋藤和子 5/21 12:00 契約書送付 伊藤香織 5/21 16:00 架電
  10. #技術的負債へのアプローチ 28 © Safie Inc.| 実践例その2:ドメイン知識との乖離による負債へのアプローチ 効果 • ユーザーが利⽤できるプロダクトへ •

    適切なモデリングへ 上から順に実施できるタスク管理 After タスク⼀覧 顧客名 タスク日時 ( ↓ ) タスク 佐藤太郎 ⏰5/21 09:00 メール送付 山田二郎 5/21 11:00~13:00 架電 加藤花子 ⏰5/21 12:00 請求書送付 齋藤和子 5/21 12:00~16:00 契約書送付 伊藤香織 5/21 終日 架電 name type comment customer_id int 顧客ID task_id int タスクID start_at datetime 開始日時 end_at datetime 終了日時 type enum 種別
  11. #技術的負債へのアプローチ 30 © Safie Inc.| 実践例その3:戦略的に投資するパターン 課題 ⼤きな機能のリリースで時間がかかる • 顧客ごとにカスタムバナーを作成する

    • 全顧客分のバナー作成に時間がかかる • 理想の設計をつくるのに時間がかかる やったこと • まずは1顧客向けにエイヤでリリース • 全顧客へ適⽤時に理想の設計へ移⾏ • 顧客の声から要件レベルアップ