「実装駆動開発」なるものを検討しています

2026.10.16 菅原 惇

はじめに

AIスロップ地獄で疲弊する人々

先日、スレッズで下記のような投稿を見て、悲しくなりました。

上からも下からもAIで大量に生成された文章が大量に来て、手が回らない。
もうこの仕事やめたいんだが・・・。

投稿主は開発職のリーダーのようでした。
おそらく、他部門から大量のAI文書が届き、自部門の部下からAIによる成果物(コードと報告書)がばんばん届く、そんな状況なのでしょう。
大量のコード/文書を生成できるようになった一方で、特定の人に大量のコード/文書が押し寄せ、かえって業務負荷が増大しているわけです。

部分最適≠全体最適

AIの登場によって、コーディング作業が劇的に早くなった。
AIの登場によって、ドキュメントを書く作業が劇的に早くなった。専門家じゃなくても専門家のようなドキュメントが書ける。

しかし、個人単位での最適化が進んだとしても、全体の生産性がそのまま上がるわけではないです。
先にあげた、開発プロセスの例がまさにその事例と言えるでしょう。
端的に言えば、業務プロセスのボトルネックが移動した状態だということです。

つまり、本当の意味でAIが生産性に寄与させたいならば、結局は業務プロセス全体を改善するしかありません。
けっきょく、DXなどと同じ道を辿る必要があるわけで、AI導入コンサルみたいな人間が跋扈する未来しか見えなくて悲しくなりますが。

AIは確かにスゴイ。
でも、スポーツカーのエンジンを、自転車に積んでも、自転車はぶっ壊れるだけです。

現在のAIを活用したシステム開発の課題

前述したように、AIはもはや人間以上の能力を持っています。
しかし、現在の多くのシステム開発手法や組織構造は、このAIの特性を最大限に活かすために変化しきれていません。

AI 現状(As-Is) 理想(To-Be)
AIには大量のドキュメントを読み、把握する能力がある 会社組織や開発工程などでドキュメントが分断しており、AIによる文脈/スコープ把握が正確でない。 AIに正しく会社・業務・プロジェクト・システムの全体像を把握させたい
AIは高速に文書生成・プログラム生成することができる AIが生成した大量のドキュメント/プログラム群に人間のレビューが追いつかず、人間が疲弊。AIは人間のように要点や本質を端的に説明してくれない 人間は、本質だけを捉えて議論・レビューしたい。

できれば、AIの特性を最大限に活かし、人間の認知負荷もなるべく高めずに開発を進めたいところですが、それができていないのが現状です。

「実装駆動開発」の提案

上記で提示した課題をクリアするために、筆者は「実装駆動開発」を推薦したいと思います。

基本コンセプト

「さっさと動くものを作れ」

基本的なコンセプトとしては、「さっさと動くものを見せてしまったほうが効率よくね?」ってところにあります。

「人に優しく」

AIによる大量の文章・生成物が人間を苦しめています。必要以上にドキュメントを作るべきではないです。

原則

もう少しこのコンセプトに沿って、ポイントについて整理すると、以下の通りになります。

「詳細な計画やタスク分解はするな」

詳細な計画やタスク分解は、AIスロップの地獄の入口になります。

「システムの仕様・状態を記述したドキュメントのみを更新して、AIで一気に動くものを作れ」

作りたいシステムの仕様がわかれば、実装はできるはずです。

「動くもので関係者と合意を取れ。ずれがあったらやり直せ」

動くものが現実なのだから、ドキュメントより雄弁。

開発サイクル

ここまでの話をもう少しちゃんとまとめると・・・

開発サイクルとして、もう少し具体化すると下記のようになります。

フローチャート

No No Yes Yes 開始 イテレーションの策定 ドキュメントの更新 AIによる実装・単体/結合テスト 人間による動作確認・差分レビュー 齟齬あり? 設計・実装へフィードバック ドキュメントの確定 システムテスト 重大な問題あり? イテレーション再構成 コミット/リリース 終了

メリット

作業単位/作業管理の単純さ

計画を極めて単純化してしまって、イテレーション単位でしか作業管理しないとしたら、とても楽ではないでしょうか。
「〇〇機能の改修」が1イテレーションだとしたら、それをいつまでにリリースするかくらいの考えでいいのです。

スクラップアンドビルドのしやすさ(失敗したらやり直せばいい)

この手法のよいところは、失敗したらさっさとやりなおせばいいよね、と割り切って考えられることです。
AIによる実装コストが下がったことで、スクラップアンドビルドがやりやすくなりました。
明らかな不具合や欠陥が見つかった場合は、作ったものはさっさと捨ててしまって、イテレーションをやり直せばいいのです。

詳細な要求定義が不要

従来のような詳細な要求定義の必要性が薄くなるはずです。
なぜなら実際に動作するものが見られるからです。
また、実際に動作するものを触ると、要求や設計の見落としも発見しやすくなります。
つまり、動くものを早めに作る行為は、要求や設計をブラッシュアップすることにつながります。

課題点

実行環境が必須、外部依存の考慮、データ移行等々

実装駆動開発は、「動くもの」を中心に見る必要があるため、作ったものが見られる環境が必要になります。
また、外部システムや他部門との依存関係などがあるときも、考慮が必要でしょう・・・。
あとは、データ移行などですね、これはきちんと計画はしないといけませんし、一時的な作業ですので、テンプレ的なドキュメント群とは別管理になると思います。

当ドキュメントは更新中です。
内容について変更になる場合がございます。