全章連続表示(印刷用)

第2章Trusted Spec の定義

前章の問題に対して、目指す状態を定義します。AIに安心して任せられる仕様とは、どういう状態なのか。3条件(決まっている・根拠がある・辿れる)と、それを育てるときに何が増えて何が減るのか、そして本書がどこまでを射程にするのかを置きます。

目的はひとつだけ

本メソッドの目的はひとつです。

AIに安心して実装を任せられる仕様 ——「信頼できる仕様(Trusted Spec)」—— を育てること。

Trusted Spec の3条件

#条件意味
①決まっているあいまいなまま流さず、決まったこと・未決のことが区別されている
②根拠があるなぜそうなったか(WHY)が、判断した人の証跡とともに残っている
③辿れる要求から実装まで、双方向でトレースできる

3条件は、前章で見た問題にそれぞれ対応します。①は推測の混入口を塞ぎます——「未決」と明示された箇所を、AIは勝手に埋められません。②は補完の舵取りです——WHYが残っていれば、許される補完の方向が絞れます。③は流れてしまった推測を捕まえる網です——要求と実装を突き合わせれば、根拠のない実装が浮かび上がります。

3つを、もう少し具体に見ていきます。

①決まっている

満たしている状態とは、決まったことと決まっていないことが、読んで区別できる状態です。未決が無いことではありません——未決は必ず残ります。未決が「未決と分かる形」で書かれ、置き場を持っていれば、それで足ります。その置き場がISSUEです。ISSUEは、決めるべき論点と、決定を反映する作業の記録です。どの現場も課題管理として回してきたものにあたり、本書では、まだ決まっていない論点を未決型ISSUEとして置きます。書き方と置き場は5章で扱います。

これが崩れる典型が「決まったふり」です。あいまいなまま断定形で書かれた記述は、AIから見れば決定と見分けがつきません。前章の「変更可能とする」がまさにそれで、未決であることが読み取れないから、推測で埋められました。

②根拠がある

ここでいう業務ルールは、業務上の取り決めのことです。「何のため」の根拠の側にあたります。業務ルールに関してプロジェクトが下した決定とは、業務ルールをどう実現するか、どう解釈するか、どこまで適用するか、例外をどうするか、誰が変えるか、を決めたものを指します。

決定を残す器が、決定の記録=ADRです。一般には Architecture Decision Record を指しますが、本書ではアーキテクチャに限らず、業務ルール・権限・状態の定義など、AIが推測で埋めそうな空白を塞ぐ決定を扱います(理由は6章「なぜ業務ルールで線を引くのか」)。

規範

業務ルールに関してプロジェクトが下した決定は、「何を決めたか/なぜそう決めたか(WHY)/誰の判断か」の3点とともにADRに残す。3つ目を落とさない。

3つ目が効くのは、後から「その前提はもう変わりました」と言える相手が特定できるからです(11章)。

すべての決定に3点を求めるのではありません。範囲を業務ルールに関する決定に絞るのは、そこが、AIに黙って埋められたときの害が大きく、発注者への説明責任が生じるところだからです。前章の失敗例——閾値を誰が変えるのか、画面が業務判断をしてよいのか——は、どちらも業務ルールに関する決定でした。そして、【広げる】の業務との整合が業務ルールに照らして問うのも、同じ範囲です(9章)。書く側と問う側が、同じ対象を見ています。

ISSUEとの線引きは、ひとつだけ覚えておけば足ります。ADRは変更不可で、置換されることでしか終わりません。ISSUEは可変で、クローズします。形式と運用は、ADRを扱う後の章が定めます。

③辿れる

双方向であることに意味があります。要求から実装へ辿れれば「決めたことが実装されたか」が見え、実装から要求へ辿れれば「この実装には根拠があるか」が見えます。前者は変更が来たときの影響範囲の特定に効き、後者は障害時の原因追跡と、根拠のない実装の発見に効きます。影響範囲の調べ方は変更管理の章、実装からの辿り方は13章にあります。

現実の重さ:SSoTの維持コスト

大規模SIでは、要件定義書と外部設計書の両方をSSoT(Single Source of Truth:信頼できる唯一の情報源)に含めざるを得ません。要件定義書だけでは実装に足りず、外部設計書だけでは業務の承認が取れないからです(前章のSI文書の2条件)。そして、SSoTの維持は重い。仕様変更のたびに両方を追従させる作業は、正直に言って負担です。

本メソッドが目指しているのは、ここです。Trusted Spec を育て、維持する重さを、払える範囲まで下げること。理想の完全文書を求めるのではなく、検査をAIに担わせ、検査の相手を絞る仕組み(10章)で、維持をできるだけ軽くします。

諦めていた「在るべき姿」に、手が届くようになった

ここまで書いてきたことに、目新しい主張はひとつもありません。決定の理由を残す。要求から実装まで辿れるようにする。決めたことが守られているか確認する——いずれもSIの現場が長年「やったほうがいい」と言い続けてきたことです。

決定理由を残す試みには、半世紀の蓄積があります。設計根拠(Design Rationale)と呼ばれる研究分野で、決定・代替案・理由を記録する形式が繰り返し提案されてきました(付録_出典)。その最大の教訓は、書くコストが読む便益を上回ると続かない、というものです。本書がコストの回収されない場合を先に書き(後述)、運用の重さに15章の1章を割いているのは、この教訓を受けています。

やれなかった理由もはっきりしています。整合性を保つ作業コストです。文書間を突き合わせ、変更のたびに全体を追従させ、決めたことが崩れていないか読み直す——人手でやれば膨大で、納期に追われれば真っ先に削られます。在るべき姿は分かっていました。割に合わなかっただけです。

変わったのは、理想の中身ではありません。その作業コストのほうです。読んで突き合わせる、抜けを探す、決めたことと照らす——AIが担えるのは、まさにこの種の作業です。前章ではAIを、仕様の空白を推測で埋めてしまう側として書きました。しかし同じAIが、整合性を保つ側の働き手でもあります。本メソッドが提案しているのは新しい理想ではなく、諦めていた在るべき姿に、もう一度手を伸ばすことです。

コストはどう動くか——増える作業と、減る作業

とはいえ、人の作業がゼロになるわけではありません。何が増えて何が減るのかを、対照で示します。

増える作業(人が担う)それが減らす作業
決定のたびにADRを書く「なぜこうなっているか」の再調査——議事録の掘り起こし、当時の担当者への確認
決まっていない箇所を、未決だと読み取れる形で、ISSUEへ辿れるように成果物に書き残す決まったふりで流れた箇所が下流で露見したときの手戻り(前章の失敗例)
IDを採番し、トレーサビリティを維持する変更要求時の影響範囲の目視追跡——既存の検査を道具として呼び出せる
節目で検査を回し、指摘を仕分ける成果物の全文レビュー——検査の対象は、決定ごとに関係する文書に絞られる。あわせて、【広げる】で歩かせた業務シナリオが、テストのシナリオの種としてもう一度使える——試験シナリオをゼロから起こさずに済む(8章・12章)

右の列で「減る」と書いたのは、受託者側の作業です。ADRが増えても、書き手が読むのは自分の成果物に関係する決定だけで、台帳全体を探し回らずに済みます。ただ、決定と成果物を突き合わせる量そのものは、決定と成果物が増えるほど増えます。そこはAIの検査が引き受ける量で、その重さは、運用の重さの章で扱います。

発注者の側にも、増えるものと得るものがあります。

発注者に増える発注者が得るもの
決定の確定者としての判断(誰が決めたかが残る)決定の証跡が、変更合意・検収の根拠になる
あいまいだった箇所を、決めるか、未決として持ち越すかを判断する「決まっていない」が、本番前ではなく承認前に見える
定例で決定事項を読み合わせる(その記録がADRになる)業務ルールのWHYが、次の更改まで残る

左の列の多くは、発注者がこれまでもやってきたことです——決定を承認し、打ち合わせで決定事項を読み合わせる。本メソッドが変えるのは、それが残る形になることと、あいまいなまま先へ送っていた箇所が、承認の前に見えるようになることです。SI文書の条件①(業務部門が承認できる)は、こうして発注者が読むところで担われます。

ただ、増える作業のもとが取れるとは限りません。一度きりの小規模開発、変更がまず来ないシステム、担当者が入れ替わらないチームでは、回収されない場合もあります。本メソッドが効くのは、長く生きて、変更が来て、人が入れ替わるシステムです。大規模SIの多くはそこに当てはまりますが、当てはまらないものに無理に適用する必要はありません。

そして、そのボーダーラインを定義するのは、難しいところです。ここまでの増減はあくまで構造としての説明であり、「この規模から先は回収できる」と数字で言い切れるものではありません。だから、このメソッドのうち適用できそうなところから適用してください。自分の組織の実態、プロジェクトの実態と傾向に照らしながら、どこまでが自分たちに合うのかを導き出してください(14章)。

射程の宣言:Level 1

本メソッドが狙うのは、AI-Native開発の成熟度モデルの Level 1(AI-Generated) です。AIが開発実務を担い、要件とハイレベルな設計は人が確定し、品質は人がレビューで作り込む段階で、移行の鍵はコンテキスト認識(ContextAwareness)——AIが正しい文脈を持って生成できること——にあります。Trusted Spec とはまさに、AIに与える「正しい文脈」の器です。

AI-Native開発の成熟度レベル(NTTデータグループ『アカウンタビリティを軸としたAI-Native開発のデザイン戦略』〈2026〉の図3から、筆者が必要な部分を抜き出して作成)
AI-Native開発の成熟度レベル(NTTデータグループ『アカウンタビリティを軸としたAI-Native開発のデザイン戦略』〈2026〉の図3から、筆者が必要な部分を抜き出して作成)

図は、段階が上がるにつれて、AIが担う範囲が広がっていく様子を示しています。

どの段階でも、最終的な責任(アカウンタビリティ)は人に残ります。

本書の射程は Level 1(ContextAwareness) に留めます。Level 2・Level 3 は約束しません。

なお前章で使った「シフトレフト」は、品質活動を工程の左へ寄せるという一般的な用法です。このモデルでは、Shift-Left は Level 2 の特徴を表す語として使われていますが、本書の用法はそれとは別のもので、射程を先取りするものではありません。約束できないことを約束しないのも、「決まっている/決まっていない」の区別の実践です。

この流儀は、本書全体の書き方の規律でもあります。各章は、定めたこと(規範)と、プロジェクトが選ぶこと(プラクティス)と、まだ決まっていないことを、文面上で区別して書く。解けていないことは、解けていないと書く。

「育てる」という動詞

Trusted Spec は、特定の文書の名前ではありません。プロジェクトの文書群が3条件を満たしている「状態」の呼び名です。状態なので、一度では完成しません。未成熟・仮置き・揺れを前提とし、サイクルを回して段階的に成熟させます。「作る」ではなく「育てる」と呼ぶのはそのためです。

育てる対象は仕様だけではありません。決定がルール・ガイド・観点へ発展していくことで、プロジェクト環境(プロジェクトハーネス)も育つ——誰が書いても一定の品質になる環境が整うことは、本メソッドのもうひとつの到達点です。

次章への橋渡し「育てる」とは、具体的に何をすることなのでしょうか。
AI-Trusted Spec method 初版
© INTRAMART CORPORATION