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

新規プロダクト開発に生成AI活用したけど ボトルネックはコーディングじゃなかった話

Avatar for taisei miyaji taisei miyaji
November 28, 2025
110

新規プロダクト開発に生成AI活用したけど ボトルネックはコーディングじゃなかった話

Avatar for taisei miyaji

taisei miyaji

November 28, 2025

Transcript

  1. 新規プロダクト開発で生成AIをいっぱい使うぞ 
 導入したツール
 • Devinに簡単なタスクを丸投げする 
 ◦ かなりスケールしやすい
 ◦ 複雑になるとレビューのほうが大変


    • Cursorでいっぱい開発
 ◦ rulesの整備
 ◦ シニアの頭の中にあったことを共有できたり想定外のメリットも大きかった
 • Claude Codeの登場
 ◦ 個人的には生成AIツールの分水嶺
 ◦ 定額使い放題、CLIによる他ツールとの統合のしやすさ、MCPの登場
 ◦ 自分で利用する分にはかなり有効に使えた
 • Codexで複雑なタスクも割とこなせるように 

  2. 思ったよりうまくいかない開発 
 • 当初の意気込み
 ◦ 生成AIで開発生産性n倍だ!
 ◦ リリースまでの期間も大幅に短縮するぞ!
 ◦ 必要な人数も減るはず!


    • 発生した問題
 ◦ 生成AIに丸投げしてしまいコード品質が低下する
 ◦ 結果としてレビューに時間がかかり、シニアに負荷が集中する
 ◦ そもそも仕様を詰めきれていない
 ◦ ビジネスサイドを含め参加しているメンバー全員複数案件を掛け持ちしており、リソース不足
 ◦ コミュニケーションコストの増大

  3. 開発を立て直すために 
 • 人間同士のコミュニケーションの整理 
 ◦ 仕様はどうやって決める?
 ◦ 開発が気付いた仕様の穴はどうやって埋める?
 ◦

    仕様はいつまでに決める?
 ◦ 仕様は誰が決める?
 ◦ スケジュールはどうやって把握する?
 ◦ 開発の遅延をビジネスサイドは体感できてる?
 ◦ MTGで話したほうがいい?テキストのほうが良い?
 • DDDへの立ち返り
 ◦ ユビキタス言語を使う
 ▪ 同じ単語でコミュニケーションを取る
 ▪ コード上も違う単語を使わないように気をつける
 ◦ 仕様の理解を素直にコードで表現する

  4. 開発を立て直すために 
 • 結局大事なのは、チーム全体の「これならいけるかも...!」という雰囲気 
 • リーダーとして大事なことは現場とのギャップをできるだけ減らすことかも 
 ◦ このスケジュールじゃ無理に決まってる


    ◦ 全然仕様が決まらない
 ◦ 終わりが見えない
 • スクラムへの立ち返り
 ◦ 開発チームが自分たちでこれくらいできそう、なラインを決める(スプリントプランニング)
 ◦ うまくいったこと、うまくいかなかったことを振り返る(レトロスペクティブ)
 • ビジネスサイドもQAもみんな巻き込んでいく 
 ◦ 関係者が自由に触って開発の現状と仕様を確認できるように環境を準備する
 ◦ 仕様がわからないところはSlackワークフローで投げやすくする
 ◦ 他のプロダクトでの失敗とかの知見をビジネスサイドやQAから共有してもらって先回り

  5. まとめ
 • 生成AIはコーディングの速度を大きく向上させた 
 • ソフトウェア開発において従来よりボトルネックはコーディングではなかった 
 ◦ そもそも発生する問題は生成AI以前から問題になっていた
 •

    ソフトウェアエンジニアリングの目指すところ 
 ◦ 複雑な業務を解いて整理してモデリングし、そのコードを維持し続ける
 ◦ 生成AIはその流れを逆流している
 • ソフトウェアエンジニアリングは時間で積分したプログラミング 
 ◦ 生成AIは、これまで積分して発生していた諸問題を顕在化させる
 • 反対に「コミュニケーションが必要ではないもの」や「作り直せば済むもの」には非常に有効 
 ◦ ちょっとしたCLIツール
 ◦ 社内向け画面

  6. まとめ
 • 成功しているプロダクトには共通点があるが、失敗しているプロダクトの失敗の仕方は千差万 別
 • エンジニアとしてできること
 ◦ 生成AIを前提に、レバレッジをかけやすいことに投資する
 ▪ 例)

    Reactの正しい書き方を先に勉強することで、これから生産するコードすべての質が上がる
 ◦ 生成AI活用によって、スキルアップ自体も効率的にできる
 ▪ 例) NotebookLM、ChatGPT
 ◦ 非エンジニアが簡単なツールを作るなら、専門家はより良いソフトウェアを作る必要がある
 ◦ 理想の設計、理想のソフトウェアは存在せず、時間経過で最適ではなくなる現実を受け止める