【プログラミング教育に困ったときのテクニック】逆算思考とは何か?

日常の校務や、授業運営などなど、思ったとおりに事が運ばなかった経験はどなたにでもあるのではないでしょうか。ゴール設定を明確にしているのに、ゴールまでのプロセスも明確にしているにもかかわらず、うまくいかないのは、ゴールとプロセスの距離感が間違っている可能性があります。
今回は、ゴールとプロセスの距離感を掴むために重要な「逆算思考」について解説します。
逆算思考はゴールまでに必要なプロセスを検討する
このタイトルを見たときに「だから、それはできていても上手くいかないんだよ!」と、つい、突っ込みたくなってしまう方もいらっしゃるかもしれません。ですが、そこに大きな落とし穴があることも事実なのです。
例えば、ゴールとして「1時間以内にたまご焼きを作る」を設定した場合に、わざわざ高級な卵を仕入れるために隣の県にある養鶏場まで行くとなった場合、あなたは時間内にゴールできると思うでしょうか?
また、同じく「1時間以内にたまご焼きを作る」というゴールに向かって「卵を割って」、「焼く」というプロセスだけを実行した場合、時間内には完成しても、出来上がるのはたまご焼きではなく、目玉焼きになってしまうはずです。
たとえ、ゴール設定とプロセスが明確になっていたとしても、その距離感が間違っている場合には思い通りの結果とならない場合があるのです。ゴール設定に向かって「正しいプロセス」を設定することで、はじめて良い結果を生み出します。
逆算思考の進め方
では、逆算思考はどのような手順で進めれば良いでしょうか?
まず必要となるのは「ゴール設定」です。どんな結果が出れば良いのか?を明確にした上で設定します。このときに曖昧な完了基準になっていると、途中からしわ寄せがきてしまうので注意してください。完了基準は定量的なものである方が良いでしょう。
次に、ゴールに向かってのプロセスを洗い出します。この時のプロセスの洗い出しに注意が必要で、以下の3つを必ず念頭に置きましょう。
- そのプロセスはゴールに向けて必要なものか
- そのプロセスのゴールは何か
- そのプロセスの期限はいつまでか
以上の3点は、ゴールに向かうために必要な情報でありながら、なかなかできている人がいないように感じます。
まず、1つ目の「そのプロセスはゴールに向けて必要なものか」については、純粋にタスクの洗い出しを行います。次に本当に必要なのか否かの観点でふるいにかけるのです。
2つ目の「そのプロセスのゴールは何か」を考えてみます。大前提として、大きなゴール設定は存在しますが、そのプロセス自体にもゴール設定を行わない限りは次のプロセスにすす無かったり、こだわり過ぎて時間だけがたってしまったりとタイムマネジメントがうまくいかないケースがあります。
プロセスの洗い出しと、ゴール設定を決めたら、最後の「そのプロセスの期限はいつまでか」を考えます。ここで重要なのは「トータルで大きなゴールまで間に合うのか否か」です。例えば、大きなゴールまで10日間で完了しないといけないのにもかかわらず、各タスクのトータル日数が11日になっていては元も子もないです。
トータル日数が多い場合には、各プロセスの作業量を減らしたり、反対に少ない場合は、各プロセスに過不足が無いかをチェックしたり、または期日を短くするなど調整に努めましょう。
すべては大きなゴールに確実に向かうため
逆算思考は前述のように、大きなゴール設定に向かってのプロセスを正しく設定するための方法です。慣れないうちは考えるのは日常の校務や、授業運営などに役立ちます。
また、今回は解説をしていませんが、ゴールに向かって複数の登場人物が関連する場合も基本的なことは同じです。すべては大きなゴールに確実に向かうため。ぜひ試してみてください。