【Aモデル録 フェーズX プログラミング基礎 思考設計編】
主軸:アプリは製造業
まず、今日の結論を先に置きます。
仕様は「正しいから」固定されるのではありません。
工程を成立させるために、固定されます。
ここ、かなり大事です。
多くの人は、こう考えがちです。
まだ最適じゃない気がする
もっと良い案が浮かんだ
ユーザーの気持ちを考えると変えたい
でも製造業視点では、こう見えます。
「それは“改善”ではなく、
別の製品を作り始めている」
仕様とは、
この製品は
何を
どこまで
どう振る舞うか
を決めた設計上の確定事項です。
仕様が途中で変わると、
工程は、不安定になるどころか、
作業を進めるための前提事項を失います。
ここ、誤解されやすいところ。
仕様を固定するというのは、
一切変えてはいけない
将来も永遠に変えない
という意味ではありません。
固定するのは、
「今、この製品を作るときの基準点」 です。
今回はこの仕様で作る
変更は「次の製品」「次のバージョン」でやる
この区切りがあるから、
設計できる
実装できる
テストできる
評価できる
工程が「線」になる。
3-2でやった内容を、もう一段深く見ます。
仕様が固定されていない状態では、
作っている人の頭の中で、常にこれが起きます。
これ作っていいのかな
どうせ変わるかも
今の判断、無駄にならない?
つまり、
判断の基準が「仕様」ではなく「感情」になる。
だから、
不安になる
疲れる
迷う
手が止まる
これは意志の弱さでも、経験不足でもありません。
工程の前提が欠けているだけです。
仕様が固定されると、思考はこう変わります。
良いか悪いか → 仕様に合っているか
正解かどうか → 設計どおりか
将来どうなるか → 今は考えない
判断が「自分」から「仕様」に移る。
これが、
楽になる
速くなる
安定する
理由です。
コーディングや設計中に、
こんな気持ちが出てきたら、問いを立ててください。
これは
「仕様を直したい」のか
「実装がしんどい」のか?
もし後者なら、
仕様を触る理由はありません。
次は、
「じゃあ、可変でいいのはどこなのか」
固定すべき場所と、
安心して壊していい場所を切り分けます。
ここが分かると、
実装が一気に怖くなくなります。