【仕事効率化】アルゴリズム思考を身に付け仕事力アップする方法

キャリア
仕事がなかなか片付かない、気が付けば時間が過ぎていて今日も残業に、そんな悩みを持っていませんか。要は効率良く仕事を片付ければよいのですが、それが難しいというのが現実だと思います。そこで今回は仕事の効率化に役立つアルゴリズム思考についてご紹介します。
2018.12.12

アルゴリズムとは何か

アルゴリズムとは、特定の問題を解いたり課題を解決したりするための手順をまとめたものです。プログラミングでは、まずこのアルゴリズムを考えてからコーディング作業を行います。そしてこのアルゴリズムを考える習慣が身に付くことで、日常の業務を効率化させることに役立ちます。
プログラムにはフローチャートという流れがあります。仕事でもマニュアルなどのフローチャートがありますし、馴染みのある言葉ではないでしょうか。その元となるのがアルゴリズムであり、プログラムの骨組みとなります。問題を解決するにあたり、どんな手順で行うのか、どのような条件分岐をするのかを考えるものです。

具体的なアルゴリズムの考え方

具体例を挙げます。1から10,000までの整数を合計する場合、どのような方法で実行すればよいのでしょうか。電卓で1から10,000まで順番に足すというのは、あまりに非効率的ですよね。しかし日頃の業務では、それに近いことをしている人は少なくないでしょう。
方法はいくつかあると思いますが、ここではループを使った方法をご紹介します。必要な命令を以下に記します。変数とは、値を格納する場所と考えていただければよいと思います。
1 Aという変数を作る
2 Bという変数を作る
3 AとBにそれぞれ“0”を入れておく
4 Bに“1”を加える(Bという変数で1から10,000までをカウントします)
5 Aに“A+B”を格納する(変数はこのように自身の値を更改させることができます)
6 Bが10,000以下であれば4に戻る(ここで命令はループする)
7 エンド
Bは10,000を超えるまで1つずつ値が増えて、AにBを次々と加算する流れになります。

アルゴリズム思考はなぜ仕事の効率化につながるのか

アルゴリズムの簡単な仕組みをご紹介しましたが、なぜ普段の仕事に役立つのでしょうか。その答えは“無駄を省くことができる”からと“網羅的に考えることができる”からです。
実際に10,000回も電卓を叩く必要はなく、わずか数行のプログラムを書けば答えを出すことができます。もちろんエクセルの関数を使えば簡単ですが、大事なのは自分の頭でその手順を考えるということです。いかに無駄な動作なくプログラムで命令できるかが、アルゴリズムの要です。同じような動作はひとつにまとめる、条件によって命令を分岐させるということがポイントです。これらを理解し仕事に応用すれば、効率的に業務を遂行できるようになるでしょう。
ふたつめの網羅的に考える、とはどのようなことでしょう。アルゴリズムで課題あるいは問題の解決手順を考えると、そこに穴がないようにあらゆる事態を想定することになります。プログラムには何かしらの穴が開くと、上手く動作しないからです。つまり課題解決の手順において、想定しうるあらゆる事態を考えることで網羅的に考える癖が身に付きます。
11月21日、JALの羽田発福岡行きの便がオーバーブッキングにより欠航となりました。そもそも航空会社は前もってキャンセルを見込み座席数より多い予約を受けているのですが、この時は想定よりもキャンセルが少なかったために座席が足りなくなってしまったのです。
これもアルゴリズムを使って業務手順を作れば、おそらく回避できた問題だと思います。キャンセルを募る行為には乗客の事情に委ねるという不確定要素があります。確実に座席数を確保し、かつキャンセルによる空席を回避するためには、予約システムを作る時点でオーバーブッキングを避けるプログラムが必要であることは容易にわかります。
前出の10,000までの合計数を求めるアルゴリズムで、6番に注目してください。Bが10,001になったらループを外れるとしてもよいのですが、ここで“Bが10,000以下であれば”としています。実際の業務では、Bをカウントしている時に“10,001になる瞬間を見過ごす”ということはありえます。そしてその瞬間を見過ごしてしまうと、ループは無限に繰り返してしまいます。それを避けるために、“10,000以下ではなくなったと判断した時点で”ループを終えるように命令しています(もちろん、“10,001以上となればループを外れる”としても構いません)。
アルゴリズムを学べばこのように、あらゆる事態への対処を考えるようになります。もし何かしらの穴があると、プログラムは正常に動作しません。アルゴリズム思考が身に付けば、業務においてもミスや事故を回避することにつながりますし、それらの対応に時間を取られることもなくなります。

まとめ

アルゴリズムを学ぶことで、業務に追われる人も楽に仕事を終えることが可能です。しかもミスや事故を防ぐ手段を講じることもできます。刃こぼれした斧で必死に木を切る代わりに、一度その斧を磨く時間を作ってみてはいかがでしょうか。

future_captain

仕事の中で発見した“変動”のリズムから投資に目覚め、株式のうねり取りを得意とする。またポーカーの腕はかなりのもの。トーナメントに勝ち進むスキルは身に付けたが、その先のプレイ時間を確保できないのが悩み

STAGE(ステージ)