【Aモデル録 フェーズX プログラミング基礎 思考設計編】
アプリ開発では、日々無数の判断が行われます。
なぜこの設計にしたのか
なぜこの仕様を選んだのか
なぜこの制約を受け入れたのか
しかし多くの場合、それらは人の頭の中にだけ存在します。
そして時間が経つと、消えます。
判断は事実ではありません。
判断は「その時点の前提条件」に基づいた選択です。
前提が変われば、正解も変わります。
だからこそ、
「なぜそうなっているのか」
が後から見えなくなる。
これは記憶の問題ではなく、
工程設計の問題です。
製造業では、
なぜこの材料を選んだか
なぜこの公差(=許される誤差の範囲)にしたか
なぜこの検査工程を入れたか
これらは設計記録として残ります。
なぜなら、
再現性が必要だからです。
作業を誰が担当しても、同じ品質を出すためには、
「当時の判断」が工程に組み込まれていなければなりません。
ここで言う「封印」は、感情を残すことではありません。
封印するのは、
判断の背景
前提条件
制約
です。
例えば:
「パフォーマンスより可読性を優先した(理由:将来の保守担当が複数人になる前提)」
「外部API(外部のサービス機能)は使用しない(理由:顧客との当時の契約条件)」
こうした情報は、
未来の開発者にとっての“判断材料”になります。
判断が残っていないと、次の工程でこうなります。
なぜこの実装なのか分からない
不合理に見えるため修正される
しかし実は重要な前提があった
結果として、
同じ議論が繰り返される
同じ失敗が再発する
属人化が進む
それは正常な製造工程ではありません。
それは、工程の外で行われる状況対応の連続です。
製造業では、
設計思想は図面に落とし込まれ、
判断は記録として残され、
工程に組み込まれます。
アプリも同じです。
判断を記録に封じ込めることは、未来の工程を安定させる行為です。
それは過去を守るためではありません。
未来の再現性を守るためです。