要件定義の会議中に、画面が変わるようになった

いま参加している案件に、ReactでSVGエディタを作るPOCがある。

官公庁向けの帳票作成システムをWEB化するにあたり、既存の帳票をWEB上でどこまで編集できるか、を検証する仕事である。

体制は1名。

正確に言えば、1名と、AIである。

この案件、進め方が少し変わっている。

要件定義を、動くプログラムを見せながら進めているのだ。

打ち合わせで要望を聞く。

その場でClaude Codeに指示を出す。

数分後、動く画面を相手に見せる。

「こういうことですか」

「いや、もうちょっと、こう……」

「こうですか」

「そうそう、それです」

このループが、会議の中で回る。

持ち帰りゼロ。

30年この仕事をやってきて、要件定義の風景がここまで変わったことはなかった。

「思ってたのと違う」との30年戦争

従来の要件定義は、こうだった。

会議で要望を聞く。

議事録を書く。

仕様書を書く。

レビューしてもらい、承認をもらう。

数週間後、実装したものを見せる。

そして、あの言葉が来る。

「思ってたのと違う」

私の30年は、この言葉との戦いだったと言ってもいい。

仕様書には書いてあった。

承認ももらった。

それでも「違う」のである。

これは発注側が悪いのではない。

人間は、文章から画面を想像するのが、絶望的に下手なのだ。

文章で合意できるのは「何を作るか」までで、「どう見えるか」「どう感じるか」は、現物を見るまで誰にも分からない。

分かっていたから、昔からプロトタイプという手法はあった。

ただ、プロトタイプを作るにもコストがかかる。

だから「重要な画面だけ」「モックだけ」という妥協をしてきた。

そのコストが、AIでほぼ消えたのである。

帳票は、文章で語れない

今回の題材が帳票だというのも、大きい。

官公庁の帳票というのは、細かい。

枠線の1本、文字の折り返し、微妙な余白。

長年の運用で磨かれた、様式美の世界である。

これを文章の仕様書で表現しようとすると、地獄を見る。

「セル内の文字列は、幅を超過した場合、フォントサイズを縮小して収める。ただし……」

書けなくはない。

だが、書いた文章が正しいかどうかは、結局、画面を見ないと分からない。

だったら最初から画面で話したほうが早い。

要望を聞いて、その場で実装して、その場で「違う」をもらう。

「思ってたのと違う」は、いまや敗北の言葉ではない。

会議中に何十回ももらう、ただの相槌になった。

数週間後にもらう「違う」は事故だが、3分後にもらう「違う」は前進である。

仕様書はどこへ行ったのか

この進め方をしていると、一つの疑問が湧くと思う。

仕様書は、どうなるのか。

正直に言えば、順序が逆転した。

昔は、仕様書が先で、プログラムが後だった。

いまは、動くものが先で、仕様書が後である。

合意した動くものをAIに読ませて、「このプログラムの仕様を文書にまとめて」と頼む。

仕様書は、設計図から、記録文書になったのである。

これを堕落と見る人もいるだろう。

でも、思い出してほしい。

仕様書が設計図として機能していた現場が、実際どれだけあっただろうか。

実装中に変わり、テスト中に乖離し、納品後は誰も更新しない。

多くの現場で、仕様書は最初から「あとから責任の所在を確認するための文書」だった。

だったら、最後に正確なものを作るほうが、よほど誠実である。

新しい落とし穴もある

いいことずくめのように書いてきたが、落とし穴もある。

最大のものは、これだ。

「もう出来てるじゃないですか。これ、このまま使えますよね?」

会議中に動くものが出てくると、相手にはそれが「完成品」に見える。

だが、POCのコードは試作品である。

エラー処理は最小限。

セキュリティは未考慮。

データが増えたときの性能も未検証。

見た目が動いていることと、本番で使えることの間には、深い谷がある。

この谷は、エンジニアにしか見えない。

昔からプロトタイプには「そのまま本番に使われそうになる」という宿命があったが、AIで試作が高速になった分、この宿命も高速で襲ってくるようになった。

だから最近は、最初に必ず言うことにしている。

「今日お見せするものは、料理サンプルです。食べられません」

それでも谷を見誤る人は出る。

ここは当面、人間が説明し続けるしかない領域だと思う。

要件定義とは、結局なんだったのか

この案件を通じて、思うことがある。

要件定義とは、文書を作る工程ではなかった。

合意を作る工程だった。

文書は、合意を作るための道具の一つにすぎない。

そして、合意を作る道具として、動くものは文章より圧倒的に強い。

30年前の私が今の現場を見たら、腰を抜かすだろう。

「仕様を凍結してから作れ」と怒るかもしれない。

でも、いまの時代はこうだ。

凍結する前に、作れてしまう。

そして作ったものを見て、要件のほうが変わる。

仕様は凍結するものではなく、動くものの上で育てるものになった。

30年戦った「思ってたのと違う」が、味方になる日が来るとは思わなかった。

長生きは、するものである。