photo credit: Noodles and Beef via photopin cc
私の愛しいアップルパイへ
我が体内に脈々と流れるシステム屋の血!システム屋から音楽家へ舵を切る決意をした直後は忌々しいとも思いましたが、今ではそれが大きな強みになっていることに気づきました。
なかでも気に入っているのは、システム屋の、特にプログラマーの考え方が、あらゆる業種の仕事術や整理法に応用できる点です。
ですので、あなたもプログラミングの勉強をしてください。
なんて言うと思いましたか?この私が?とんでもない!これからシステム屋の経験がないあなたでも分かるように何回かに分けてプログラマー思考の仕事術をご披露しようと思ってるんです。
今日はさっそく「サブルーチン」というものの考え方をお話します。
サブルーチンとは部品化すること
「サブルーチン」とは、プログラムの複数の処理を意味のある単位で1つにまとめて部品化したものです。「メソッド」と呼ばれることもあります。
素朴な例をあげれば、財布を持つ、家の鍵を持つ、今読んでる本を持つ、雨戸を閉める、今日の天気を調べるといった複数の処理を「外出時にやること」というサブルーチンにできます。
サブルーチン「外出時にやること」
処理1:財布を持つ
処理2:家の鍵を持つ
処理3:今読んでる本を持つ
処理4:雨戸を閉める
処理5:今日の天気を調べる
サブルーチン化を進めると得られる効果
サブルーチン化を進めることで、大きく3つの効果を得られます。
1.複雑な処理でも、全体の流れを綺麗に整理できる
2.繰り返し実行することでサブルーチンの質が高まる
3.部品化することで作業分担しやすくなる
先ほどの「外出時にやること」を例にしてみましょう。
第一に、複数の処理を「外出時にやること」とまとめることで、全体の流れをスッキリ考えることができるでしょう。
第二に、外に出る度に毎回何を持っていくか考える必要がなくなり、忘れ物が減ります。また、たとえ忘れ物があったとしても、次回に向けて部品を改造すれば良いのです。さらに毎回同じ手順で処理をするので、作業スピードが上がります。結果「外出時のやること」の質がどんどん上がるわけです。
第三に、忙しいときはワイフに「外出時にやること」をやっといて!と頼めるので、作業分担しやすくなります。
チェックリストを使ってサブルーチン化を進める
では、サブルーチンをどうやって実際の仕事に活かすか見ていきましょう。ポイントはチェックリスト(手順書)を使うことです。
サブルーチン化するには、事前に処理を定義しておく必要があります。実際にプログラミングをするわけではないので、チェックリストにしておくわけです。
▼チェックリストといっても難しいものではなく、ただ処理を順番に箇条書きするだけです。以下は私が寝る前にやることのサブルーチンです。Evernoteで作っています。
チェックリストでサブルーチン化を進める上でいくつか注意点があります。
・サブルーチンは頭の中で記憶するのでなく、必ずチェックリスト化して外部化しましょう。
・毎回やる作業でもきちんとチェックリストを見ながらやりましょう。これが処理の質を上げる重要なポイントになります。
・チェックリストは他人が初めてやってもできるように書きましょう。
より複雑でより大規模な仕事を効果的に実行できる
サブルーチン化を進めていくと、細かい作業について頭を使う必要がなくなります。そうすれば、ストレスレベルを下げながらも、より複雑で大規模な仕事を遂行できるでしょう。
ちなみに、私はTaskChuteとEvernoteというツールでこのサブルーチン化を進めて、一日の流れを綿密に設計しています。こちらも参考にどうぞ。
貴下の従順なる下僕 松崎より