九十九里浜の冬の朝は、余計なものが、波に洗われるみたいに削ぎ落とされている。夏の喧騒も、売店の匂いもない。ただ波と風と、少し早すぎる朝焼けだけがある。
「こういう場所ってさ」と彼女が言った。
「考え事をするには、ちょうどいいよね。頭の中が、初期化される感じ」
「それ、SDDに向いてるな」
「SSDでしょ?」
彼女は一瞬だけ立ち止まって、僕の顔を見た。苦笑している。
「また間違えてる。略語に弱いよね?」
「違う。物理的には何も速くならない」
「なにそれ」と彼女は言って、少しだけ肩をすくめる。
「Spec Driven Development。今日はちゃんと話すよ」

波打ち際で、仕様の話をしよう
冬の九十九里浜は、世界がまだ決断を下していない時間帯みたいだ。海と空の境目は曖昧で、朝焼けはピンクというより、少し疲れたオレンジ色をしている。
「ねえ」と彼女が言った。 「で、SDDって、結局なにが新しいの?」
彼女の声は、波の音にちょうどよく混ざっていた。
「SDDはね、Spec Driven Development。仕様駆動開発って呼ばれてるやつ」
彼女は少しだけ首を傾けた。 「それって、いわゆるウォーターフォールとは違うの?」
「分厚い仕様書の山、ってやつを想像するよね」
「うん」
「そこが、いちばん誤解されやすいところなんだ」
分厚い仕様書は、沈没船
「ウォーターフォールモデル。あれは沈没船に似てる。出航前に“完璧な航海計画”を立てる。でも、海に出た瞬間に天候は変わる」
彼女は波を見ていた。
「計画書は重たい。変更しづらい。しかも、読むのは人間前提だった。“行間を読め”ってやつ。
完璧な仕様書って、本当は行間を読まなくていいような、誤解の余地がないようなものを目指していたはずだった。けれど現実には、行間はどんどん増えていった」
「AIは行間を読まない?」
「読まない。読めない。AIは、“書いてあること”しか信じない。だから曖昧な仕様は、そのまま曖昧なコードになる」
SDDは、沈没船を作らないための方法だ。最初から巨大な船を作らない。小さな船で、何度も出航し直す。
AIがいるから、その出航と引き返しが異様なほど速い。仕様を直し、もう一度投げる。コードはまたすぐに形になる。失敗のコストは、ほとんど時間だけに圧縮される。
SDDは「設計図」じゃなくて「楽譜」に近い
「仕様って聞くと、設計図を想像しちゃうけど」と彼女が言った。「でも、なんだか音楽っぽい感じがする」
「いいとこ突くね」
「SDDのSpecは、楽譜なんだ。コードは演奏。AIは演奏者。
ただしその楽譜は、昔みたいな文章だけのものじゃない。テストコードだったり、MarkdownやYAMLみたいに構造を持った形だったりする。AIが読み違えにくい書き方で、音符が置かれている」
「じゃあ、人間は?」
「作曲者。でもクラシックじゃなくて、ジャズに近い」
「またジャズ出た」
「ジャズはね、譜面があるから即興できる。SDDも同じ。Specがあるから、AIが暴走しない」
略語は似ているけれど、鳴っている音は違う
「でもさ」と彼女が言った。「TDDとかBDDとかDDDとか、もう略語も方法論もお腹いっぱい」
「確かにもう十分って思うのもわかる。でも、それらはAIがいなかった頃の話だ」
-
TDDはリズム隊。テストというビートを刻んで、ズレないようにする。
-
BDDはメロディ。“ユーザーにはこう聞こえる”を言葉にする。
-
DDDはコード進行。この世界では、何が主役で、何が脇役かを決める。
「SDDは?」
「指揮者だね。AIオーケストラに、“今日はこの曲をやる”って伝える役」
なぜ今さら「仕様」なのかというと、コードが安くなりすぎた
「昔はさ」と僕は言った。「コードを書くのが一番高価だった」
Windowsが“誰でもパソコンを使える”世界を作り、インターネットが“誰でも情報を出せる”世界を作った。
それはまるで、道具が少しずつ軽くなって、持ち運べる距離が伸びていくみたいな変化だった。
生成AIは、“誰でもソフトウェアを作れる”世界を作り始めている。
「その結果、何が高くなったと思う?」
「間違えないこと?」
「そう。でも、“コードを間違えない”ことじゃない。“何を作るかを間違えない能力”が、一番高価になった」
SDDは未来予測ではなく、問いの置き場所
「SDDって、未来を固定する方法じゃない」と僕は言った。「むしろ逆。問いを、ちゃんと外に出すための仕組みなんだ」
「問い?」
「この機能は、誰のどんな朝を変えるのか。それを書かないと、AIは“それっぽい朝”を量産する」
朝焼けの中で考える、これからの開発者の仕事
太陽が少しだけ海から顔を出した。
「これからはね。“速く書ける人”より、“うまく問いを書ける人”が残る」
「仕様を書くって、ちょっと怖いね。自分の考えが、そのまま露出する感じがする」
「だから価値がある」
九十九里浜の冬の朝は、余計なことを許してくれない。波は、曖昧な足跡をすぐに洗い流し、考えの甘さも一緒に削ぎ落としてしまう。それでも歩き続けるなら、せめてどこに向かっているかだけは、ちゃんと言葉にしておく必要がある。
それが、これからのソフトウェア開発なんだと思った。