AIコーディング時代、実は「ウォーターフォール」のほうが強いかもしれない話
昔から「アジャイルこそ正義」「変化に強い開発がモダン」と言われてきた。
もちろん、それ自体は間違ってない。 でも、AIコーディングが本格的に実用化され始めて、少し状況が変わってきた気がしている。
最近思うのは、
AIコーディングって、アジャイルよりもウォーターフォールと相性がいい。
ということ。
特に、Claude Code や ChatGPT 系で大規模にコードを書かせると、この傾向がかなり強い。
1. AIは「後出しジャンケン」に弱い
アジャイルでは、
- とりあえず作る
- 動かしながら考える
- 後から仕様変更する
という流れが多い。
人間同士なら問題ない。 でもAIは、これをやると結構混乱する。
仕様変更を何度も繰り返すと、
- 古い仕様
- 新しい仕様
- 一時的な回避策
- 過去の命名
みたいなものがコンテキストに混ざり始める。
すると、
- 古い実装を参照する
- 設計の整合性が崩れる
- ハルシネーションする
- 直した場所とは別の箇所を壊す
みたいな事故が起きやすい。
逆に、最初に設計をかなり固めておくと、AIは驚くほど安定する。
AIにとって設計書は「制約」じゃない。
迷わず進むための地図みたいなもの。
2. AI時代は「設計=プロンプト」
これがかなり重要。
昔の設計書って、
「人間向けドキュメント」
だった。
でもAI時代は違う。
詳細設計書そのものが、ほぼ最強のプロンプトになる。
例えば、
- DB設計
- API定義
- ディレクトリ構成
- 命名規則
- 責務分離
- ADR
ここまで固まっていると、AIはかなり正確にコードを書ける。
逆に、
「よしなに作って」
は危険。
AIは優秀だけど、曖昧さを勝手に補完し始める。
だから最近は、
- 人間 → 設計と思考
- AI → 実装と作業
という分離がかなり大事になってきたと思う。
3. AIは「スプリント前提」を壊してしまう
アジャイルは、本来、
「少しずつ作ることでリスクを下げる」
という思想。
でもAIを使うと、数週間分の実装が数時間で終わることがある。
すると、
- スプリント分割
- チケット分割
- 小刻みな実装
そのものの意味が薄くなってくる。
むしろ重要になるのは、
インターフェースを先に決めること。
APIやモジュール境界が固まっていれば、AIは複数モジュールを並列で一気に作れる。
これはかなり大きい。
人間中心の開発では、 「分けて少しずつ作る」 が合理的だった。
でもAI中心になると、
「全部設計して一気に流す」
ほうが速いケースが増えてくる。
結論:「超高速ウォーターフォール」の時代かもしれない
もちろん、昔ながらの重厚長大ウォーターフォールをそのまま復活させろ、という話ではない。
ただ、
- 設計軽視
- とりあえず作る
- 後で考える
は、AIコーディングと相性が悪い。
むしろこれからは、
上流工程に全力投資して、実装をAIで一気に押し流す
みたいなスタイルが強くなる気がしている。
ある意味、
- 人間 → アーキテクト
- AI → 超高速実装部隊
という役割分担。
「アジャイル=最新」 という固定観念は、そろそろ変わるのかもしれない。