マルチタスクを少しでも楽にする
キャリアで経験を積むにつれて、仕事の内容が多岐に渡り、時間が細切れになってしまい、必然的にマルチタスクをしないといけなくなるな、と感じています。同じ職場で長く働いたり、昇進すると、どうしてもいろいろなプロジェクトや会議に引っ張り込まれて、スケジュールが細かく分断されていきます。また、会議以外の時間もどうしても細かいチャットやメール、雑用などもプロジェクトや会議に伴って、増えていきます。
「こんなの正直嫌」と感じるかもしれませんが、避けられない場合が多く、その上でどう対処する(緩和する)かを考える必要があります。
今回は自分が実践している方法を紹介したいと思います
タスクを分割しておく
スケジュールが細切れになると、1つのタスクにかける時間も細切れになってしまいます。そうなると、どうしても何をやっていたか、何をしないといけないのかの把握が難しくなります。会議などで、今やっているタスクを中断すると、戻ってきたときに何をやっていたのかを思い出さないといけないですし、元のスピードに戻るのも時間がかかってしまいます。
それを軽減するのに「タスクを分割しておく」というのが有効です。メリットとしては
1つ1つの分割されたもの(サブタスク)の範囲は小さくなるので、全体像を思い出すのが楽になります。
サブタスクみたいに1つ1つの作業を小さくしておいた方が細切れになっている時間枠の中で完了できる可能性が上がります。
上記は細切れになっていることへの改善効果ですが、タスクを分割することは、分割するために事前に全体像や作業順番を考え抜く必要があるため検討が深くなる、見積もりを出したい場合は小さい方が見積もりの精度が上がる、とうようなメリットもあります。
タスクをすべて書き出しておく
自分は、やるべきタスクをすべてTrelloに書き出すようにしています。「すべて」というだけあって、粒度も細かいものまで書くようにしており、例えば「A機能を実装する」「Bのバグを修正する」と言った一般的な粒度のものから「Slackで誰々にメッセージを送る」「カレンダーの予定を送る」といった本当に細かいものまで書き出しています。さらに、上記の「タスクを分割しておく」の項目で書いたように、サブタスクもTrelloのChecklist機能を使って、タスクカードの中に書いておいています。
個人的にはこれが有用に感じていて、次に何をやるかを思い出すのが楽になりますし、サブタスクまで書いてあると上でも書いたように頭に入るのが早くなり作業を始めやすくなります。また、細かい粒度のものがあると、すぐ終わらせて「どんどん完了している」という感覚になり精神的にもプラスの効果を感じています。
次のステップや後回しにしたものを書き出しておく
スケジュールが細切れになっている場合はおそらく突然他のタスクに移らないといけない場合などが発生しやすくなっているかと思います(電話がかかってくる、チャットで話しかけられる、等)。
そういう場合は、タスクを中断しても後で戻ってきたときにすぐに再開できるように、次にやることを書き出しておいたり、後回しにしたものを書き出しておくのをオススメします。走り書きでも良いので、少し書いてあるだけで戻ってきたときの再開のしやすさが違います。
特にプログラミングは良い例で、関数やクラスなどのコードを書くときは、その中でやることをコメントで書いておくと、戻ってきたときにすぐに再開できるのでオススメです。事前にコメントを書いていない場合でも、さっと次にコーディングする内容のコメントを書くだけで、再開するときにそれまでの作業をそこまで追わなくても次の内容から逆算ができ、効率的に再開できます。
近いタスクをまとめる
他の内容よりも少し面倒なので、自分もいつもやっているわけではないのですが、ときどき内容が近いタスクをまとめてやったりしています。
例えば、コードレビューが複数ある場合はなるべく他のタスクに移らずに連続でやります。タスクの種類(コーディング、コードレビュー、チャットやメールの返信など)によって、それぞれ自分の中で「モード」のようなものがあるように感じており、仮にまったく異なる内容(違うレポジトリのコードレビュー)でも、そのモードに入っていれば、そのまま同じモードで作業をするのが楽に感じます。頭の中でそのモードで処理をしているため、既にウォームアップできている、というような感覚でしょうか。
目標を明確にして、達成感を得られるようにする
これは先程の「タスクを分割しておく」の延長ですが、それぞれのサブタスクに明確に「ゴール」を設定しておくと、達成したときにモチベーションの向上につながります。タスクはどこでも分割できますが、なるべく「関数やクラスを1つ書き切る」など「何かを終わらせた」と感じられるような分割の仕方が良いと思います。そうすることで作業が進んでいるという達成感を得やすくなります。欲を言えば、明確にフィードバックがあるものだと、なお良いと思います。例えば、UIがあるような作業であれば完成品が目に見えますし、ユニットテストがあれば、テストが通ったときに✅が出ると明確に進んでいるのが分かる、というようなものです。
上記は、自分が日々マルチタスクをしている中で、その影響を少しでも軽減するために実践している方法です。他にもいろいろな方法があると思いますが、自分が書いたものも皆さんに効果があるものもあると思いますので、ぜひ参考にしてみてください。