読者です 読者をやめる 読者になる 読者になる

$shibayu36->blog;

株式会社はてなでエンジニアをしています。プログラミングや読書のことなどについて書いています。

マルチタスク

tech

今日は人の話。

最近やることが多くてマルチタスクになりがち。マルチタスクになると頭の中でコンテキストスイッチが起こるので、非常に効率が悪くなる。だから出来るだけマルチタスクは避けたほうがいい。けれど、プロジェクトの中には割り込みが多いものだったり、締め切りが長いものだったり、まあ他にもいろいろあって結局マルチタスクになったりする。

最近マルチタスクになりすぎて全く作業が進まなくなって、厳しい状況が続いていたのだけど、いくつか気をつけるようにしたら、少しはかどるようになった。


例えばプロジェクト1とプロジェクト2をマルチタスクで行っているとする。

まずマルチタスクになっている時は、一日単位で、今日はプロジェクト1をする、明日はプロジェクト2をするみたいに一日ごとに分けたほうが楽ということが分かった。もちろん厳密に一日単位にしているわけではなくて、一日やって切りが悪いところだったら、その次の日もちょっとするようにしている。

あと今日はプロジェクト1の日と決めているときに、プロジェクト2の割り込みがあった時は、割り込みだからすぐにそっちをするのではなく、

  • 本当にいますぐにやらないといけない割り込みか判断する
  • 今すぐやらないといけないなら、仕方ないからやる
  • 明日でも可能なくらいの割り込みだったら、プロジェクト2のタスク入れに放り込んで、今日はプロジェクト1に集中する

みたいなふうにしてる。割り込みは非常にスイッチにコストがかかる、かつ全てが今すぐにやるべき割り込みではないので、そこを判断するようにする。

また、出来るだけイベント駆動にするように心がけている。今プロジェクト1でやるべきタスクないっけみたいな感じで何回も見てると時間の無駄になるので、例えばこの日からしかできないタスクみたいなのがあったら、カレンダーに開始日を登録して通知が来るようにしてる。他にも一週間に一度一週間分のタスクを眺めて整理するとかも効果的。とにかく何度も今やるべきものはなんだっけと思わないようにする。


マルチタスク出来るだけ避けたい。しかし、なんだかんだ仕方ない理由でマルチタスクになる場合もある。そういう場合なんとか工夫をしてマルチタスクじゃないように自分に見せかけると少しはかどる。


ここまで話してて、マルチタスクとか、コンテキストスイッチとか、割り込みとか、すぐにやるべき割り込みとそうでない割り込みとか、イベント駆動とか、人の話をしていたのに、コンピュータの話にしか思えない内容になった。職業病っぽい。