配布資料の目次 › 失敗事例カード
配布資料 47事例 #07: 文書の古い金額を信じて、金銭の事実を誤って説明した
ドキュメント駆動開発を掲げておいて言うのも何ですが、文書を信じすぎると事故ります。 しかも今回、間違っていたのは実装ではなく説明のほうでした。
何が起きたか
振込手数料について、要件ドキュメントとコード内のコメントに残っていた「¥250 販売者負担」という記述をそのまま信じ、「販売者から ¥250 を控除している」と断言しました。
実際は違いました。 コードのデフォルト値も、本番の初期データも、本番環境で実際に効いている設定値も、すべて ¥0 でした。
¥250 は過去の事業モデル時代の名残で、文書にだけ残存していたものです。
なぜ起きたのか
表面的には、文書とコメントの古い値を現行値として引用したことです。
構造はこうです。 「設計時の文書」と「実際に効いている値」は乖離し得ます。それなのに、live 値での裏取りを、金銭に関する発言の前提条件にしていませんでした。
同じ型の思い込み事故は他にも起きています。デフォルト配色の断定、外部決済サービスの挙動の断定です。 つまり個別のミスではなく、認識方法の欠陥でした。
そこから生まれたルール
「金銭の事実は ①本番で実際に効いている設定値 ②初期データ(seed)③コードのデフォルト値、の優先順で確認してから答える。文書・コメント・記憶は設計意図の参考に留める」
さらに一般化して、全作業共通の規律に昇格させました。
「事実は live 値・実コード・実 API で裏取りする。doc・コメント・記憶を鵜呑みにしない」
どう機械に守らせたか
これはフックによる機械的強制ができない種類の失敗です。発言内容の検査はできません。
代わりに三点で在中させています。 ①セッション開始時に共通規律として毎回注入する ②「手数料の正本はこの設定値」というポインタを記憶の入口に常設する ③ロール定義の完了条件に「事実の出典明記」を組み込む
持ち帰るなら
AI は文書を「信頼できる事実」として読みます。
これはドキュメント駆動開発の強みであると同時に、文書が古いときの毒でもあります。 金額・料率・外部サービスの挙動など「誤ると実害が出る事実」については、正本がどこかを1箇所に定めて、発言前の裏取りを規律にしてください。