こんな記事を書いた。
ビデオゲームをやっていると、「チェックリスト」の概念はよく出てくる。
例えば以下のようなものだ。
- 敵遭遇時にミッションが与えられる(Xを倒す 1/2、Yを必殺技を使って倒す)
- シナリオレベルアップの為の条件リスト
- トロフィー
実際にやっているプレイヤーは結構なゲームで、「敵遭遇時にミッションが与えられる」は小分けに与えられ、項目数は2~3であるのに比して、「シナリオレベルアップの為の条件リスト」は6つくらい、トロフィーは50つくらいあることに気付く。
時々ゲームをやる方であれば、上から順に難易度が優しく、かつ達成コストが指数関数的に異なることに気付かないだろうか。しかも、条件リストなんかはすぐ忘れてしまうので、メニューや攻略サイト見たりとかする。トロフィーなんかになると、意識してるプレイヤーなんて少ないだろう。よほどの記憶力かやりこみプレイヤーでなければ、記憶には入るまいし、トロコンしているプレイヤーなんてSteamを見ると大概、一桁%以下である。
ビジネスも同じようなものだ。
飛行機のパイロットは飛行機を飛ばすとき、「フライトチェックリスト」を使って業務をするという。
素人だが、ネットで調べてみるとこの項目数は50~60あるものの、実際には「フェーズ」で確認する項目は多くて11項目程度であることに気づいた。エンジンを入れたとき、離陸前、離陸後、それぞれで確認することは最小限に留められている。しかも、それらは多くが「値」として判断できるものであり、非常に端的で明確だ。だからパイロットは手際が良く、確実にお客を送り届けてくれるのだ。
これこそが「最適化」なのだ、と思っている。「仕組み」の話どうこうは口に出されがちだが、朝令暮改になりがちである。私はよく最適化の話をした方が良いと思っている。
点検は非常に大事だが、管理するものをミニマルに、シンプルに。
そういったことが辛さを減らすものであると思う。
次のようなことが私は言えるんだと思っている。
- チェックリストは「フェーズ単位」で分ける
- 各フェーズは最大5〜10項目(理想は3〜5)
- 各項目は「一発で判断できる形式」にする(数値・Yes/No)
- “やり込み要素(例外・高難度条件)”は別枠に逃がす
人間の処理能力を無視して、設計だけで安全を担保することは回避するべきだ。
ということかな。