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

負債の返済か、作り直しか — 「作るもの」も「作りかた」もAIで変わった今、下した判断

Sponsored · Your Podcast. Everywhere. Effortlessly. Share. Educate. Inspire. Entertain. You do you. We'll handle the rest. →

負債の返済か、作り直しか — 「作るもの」も「作りかた」もAIで変わった今、下した判断

Transcript

  1. 見積業務の Before / After Before:人が状態を一つずつ作る 案件を開く ▶ 図面を見る ▶ 品目を作る

    ▶ 工程・原価を入力 ▶ 見積完成 After:AIが業務を進め、人が確認する ファイルを渡す ▶ AIが図面を理解 ▶ 品目構成を推論 ▶ 情報収集・見積案 ▶ 作成 ▲ 人が確認 ▶ AIに修正を指示 修正内容がフィードバックとして戻り、次の推論に反映される 10
  2. 前提変更① ── 「ブラウザがある」ことを前提に責務を置いていた 人がブラウザで操作する世界 Browser ├─ 入力 見積計算 ├─ 再計算

    ├─ AIがバックグラウンドで遂行する世界 → AI / Server 見積計算 ├─ 再計算 ├─ └─ ValidationBrowser が存在しない └─ Validation 「人がブラウザで仕事をする」という前提が切れた瞬間、 責務配置そのものが負債になった。 11
  3. 前提変更② ── ドメインモデル AIが介在するドメインモデル これまでのドメインモデル 属性値 = 現在の値 → 値

    推論した候補 + 根拠 / 参照箇所 + + confidence 未確認 / 確認済み + 修正履歴 + AIが介在することで、現実世界にはなかった情報が ドメイン上の重要な概念になった。 12
  4. 積み上げてきた「資産」が、変更困難な負債として立ち現れた 資産 UI・操作フロー API 業務ロジック データモデル 変更困難な負債 前提の変更 → UI・操作フロー

    API 業務ロジック データモデル コードが一夜にして悪くなったわけではない。 目指す世界が変わったことで、一夜にして負債として立ち現れた。 13
  5. なぜ、既存改修だと時間がかかるのか 体験設計 データモデル ビジネスロジック UI AIが扱う中間状態 コードだけでなく、顧客の業務そのものも既存プロダクトに適応している。 既存顧客が今使っているもの 今の画面 今の操作方法

    今の業務フロー 今のデータ構造 既存運用を維持しながら変えるために必要なこと 古い体験も残す 新しい体験も作る 両方が成立するデータ構造にする 顧客を徐々に移行させる 顧客側の業務変更・学習も支援する 最終形を作るだけでなく、 「途中状態を成立させ続ける仕事」が増える。 16
  6. ① UIと業務ロジックの強い結合 Reactの状態・レンダリング × 見積計算ロジック AIがコードを書く ▶ 実行して挙動を見る ▶ 複雑な画面状態まで

    再現しないと確認できない 観点 AI中心で欲しい構造 既存プロダクト 業務ロジック UIから独立して実行・テストできる UI・状態管理・レンダリングと強く結合 検証 変更→テスト→修正をAI自身で閉じられる ブラウザ上の複雑な状態まで見ないと確認しにくい AIが変更後の挙動を、自分で実行・検証しきれない。 20
  7. ② 独立した開発環境を作りにくい クラウド依存 / ローカル再現困難 / 環境を複製しにくい 実装は並列化できる 複数Agentへ別々のタスクを渡せる 実行・検証は直列化する

    タスク単位でDB・アプリ環境を独立させられない 観点 AI中心で欲しい構造 既存プロダクト 開発環境 並列性 ローカルで再現でき、使い捨て可能 Agentごとに独立環境を立ち上げられる クラウド依存が強く、完全なローカル再現が難しい DB・アプリ環境をタスク単位で複製しにくい AIが速くても、実行・検証環境が直列なら、開発全体は速くならない。 21
  8. 同じAIが、2種類の負債を別の形で重くした プロダクト側 開発側 AIによる変化 AIが業務を遂行できる AIがコードを書ける 以前の前提 既存コードに起きたこと 人が操作する 昨日まで負債ではなかった前提が負債化

    人が理解して実装する 昔からあった負債の利息が上昇 同じAIが、片方では新しい負債を顕在化させ、 片方では既存負債の利息を上げた。 22
  9. AIは技術的負債に3方向から作用した 02 新しく顕在化させた 01 返しやすくした 従来型負債の返済コスト ↓ プロダクト前提の失効 AI 03

    利息を上げた 既存の設計負債の重要度 ↑ 同じAIが、負債を軽くもするし、増やしもするし、重くもする。 23
  10. Big Bangではなく、顧客ごとに移行する Big Bang 今回 旧システム ────────× ↓ 新システム 旧システム

    ──────────────── ↓ 顧客ごとに移行 新システム ─────────── ↑ 問題があれば戻せる 「リプレースする」という大きな意思決定を、 実行単位では小さく・可逆にする。 28
  11. ゼロリスクな選択肢はなかった。 リプレースするリスク リプレースしないリスク 大きいが、分割できる / 戻せる / 終了条件を持たせられる 継続的で、終了条件を持ちにくい 機能回帰

    データ移行事故 新旧の乖離 移行が終わらない 開発速度低下を払い続ける 重要領域の障害リスクを払い続ける 必要な速度で次の価値へ届かない リプレースのリスクは大きいが、 リプレースしないリスクの方が大きく、制御しにくかった。 30
  12. 恒常的な「利息」は、速度低下率ではなく現場の摩擦から見る 約25 既存改修側で払い続ける摩擦 リプレース側の移行負債 二重運用 人月 + 移行基盤 + 顧客移行

    + 旧版停止 15人チーム × 24か月 総開発量 360人月 恒常的な速度低下 2年間の追加コスト 相当 ハーネス不足で、AIの変更を人が広く確認する 負債のある領域ほど、AI出力の修正・やり直しが増える 変更が局所化されず、周辺の壊れ方を人が追う 暗黙知を毎回説明する / AIが再探索する 5% 18人月 7% 25.2人月 10% 36人月 20% 72人月 速度低下率を無理に推計せず、 「1回の変更で何が余計に起きているか」を現場で観測する。 エンジニアインタビューで実際に出たボトルネック ① FEの複雑な状態・レンダリングと見積ロジックが結合 ② クラウド依存が強く環境をローカルで再現・複製しにくい 31
  13. これは「リプレースが正解」という話ではない。 条件 返済・漸進改善が向く リプレースを検討しやすい 必要な変化速度 移行途中の価値 漸進改善でも間に合う 各段階でも顧客価値が成立する 漸進では必要な速度に間に合わない 途中状態では狙う価値が成立しにくい

    顧客とのインターフェース 表面を維持して内部を交換できる 操作・業務フロー自体を変えたい 新システムの実行可能性 旧システムの終了可能性 作り直しコストが現実的でない 旧版を畳み切れない 新規構築の速度・コストが許容できる 終了条件を具体的に描ける 5つ揃ったらリプレース、というスコアリング表ではない。 32