ハロー、@seto_hi です。
大量のタスクを抱えた結果、コンテキストスイッチにコストを払っている暇がなくなりました。
最近はAndroidのプロジェクト管理をしつつ、同僚とペアプロしてリファクタ手法を教えてFatFragmentを殺しつつ、ORMにRoomを導入して鬼のようにテストを書きつつ、BigQueryで利用状況のデータ抽出をしつつ、改善案を考えつつ、社内向けにAndroidのセキュリティやAndorid11の勉強会をやりつつ、あ文字数
— setoh (@seto_hi) 2020年7月2日
マルチタスクになって並列で仕事をこなせればいいのですが、自分はシングルスレッドの性能を高めるように生きてきたのであまり得意ではないです。
シングルスレッドで多種のタスクを行うには、コンテキストスイッチから逃げることはできません。
自分がどのようにしてコンテキストスイッチと戦っているかを書きます。
はじめに
コンテキストスイッチを上手に行うにはある程度の慣れが必要だと思います。
自分も以前は得意ではありませんでしたが、やっていくうちに慣れてきました。
スイッチングコストの原因
コンテキストスイッチが大変なのは、恐らくタスク間のスイッチングコストが高いことだと思っています。
この原因を考えた時に、自分の中では大きく2つあると気付きました。
まずはやる気が出ない問題です。
新しいタスクをやらなければと思っても、なんとなく手が動かなくて、タスクに取りかかれないという状態です。
もうひとつは集中できない問題です。
新しいタスクをやり始めても前のタスクのことや次のタスクのことを考えてしまい、あまり集中できないという状態です。
あとはデータ分析→UIデザインなど、全く違う分野のタスクをやると集中することが難しいです。
これらに対処すればスイッチングコストを下げることができるはずだという前提で対策を行っています。
対策
前提
睡眠をしっかり取る、血糖値をコントロールするなど、パフォーマンスが出る体調にしておくことは大前提です。
また、コンテキストスイッチができると思い込むことも大切です。
できないと考えていると、実際はうまくっていても否定的に見てしまうことがあります。
自分はコンテキストスイッチができる、生まれながらのコンテキストスイッチ名人、スイッチングコストゼロ太郎だ、と思いながら毎日仕事をしています。
対策1 : 環境を変える
「今から自分は違うタスクをやるんだ」と意識するために、環境を変えます。
座り作業から立ち作業にしたり、BGMの音楽を変えたり、飲み物を変えたりと色々な環境を変えています。最近は家なので服装を変えたり髪型を変えるまでやることもあります。
トイレに行ったりキッチンで飲み物を準備したりと一旦物理的にデスクから離れるのも効果がありました。
あとは無意味にジャンプしたりストレッチしたりもします。
対策2 : とにかく手を動かす
「 何かをやり始めるとやる気が出る」という脳の働きは色々なところでよく言われています。自分はこれが当てはまると思うので、とにかく手を動かすようにしています。
とりあえずテストを実行してみたり、空のファイルを作ったり、クラス名だけ書いてみたり、関係のあるURLを開いたり、とハードルの低いタスクで手を動かします。
文章などを書く場合は最初からちゃんとしたものを書こうとせず、とりあえず箇条書きでひたすら書き出します。
そうしていくうちに徐々に「次は○○をするか」という思考になっていき、エンジンがかかることが多いです。
それでもうまくいかない場合は「もうちょっとだけやってみるか」と自分に言い聞かせて手を動かし続けると自然と集中できる気がします。
本当にダメな場合には「 やり始めるとやる気が出る」という強く法則を意識して、歯を食いしばってやり続けることもあります。こういう場合はだいたい疲れているので、急ぎでない時は休憩をした方が後の効率が上がると思います。
対策3 : 飛んできたタスクを即打ち返す
色々タスクが溜まってくると、タスクが溜まっているということだけで頭がいっぱいになります。
タスクが溜まっていなければこれに悩むこともないので、5~10分程度で対応できるタスクは気付いた瞬間に打ち返すようにしています。
5~10分で終わるタスクは調べることや考えることが少ないタスクのため、割り込みで作業をしてもあまり脳への負担にならない気がしています。
対策4 : 書き出して脳内から消す
簡単なタスクは即打ち返すことにしても、そんなに簡単なタスクばかりではありません。
溜まってしまったタスクに関しては、とにかく書き出すことでこれに対処しています。
1~2日以内に終わらせる仕事はslackの分報にメモし、それ以上かかるタスクはTodoistに積んでいます。slackのリマインダーもよく使います。
これによってやり忘れることもなく、溜まったタスクを意識することが減りました。
また、1日の業務の終了前に翌日のタスクを分報に書き出しています。
やはり始業直後は脳のエンジンがかかりにくいと思うので、何も考えずにやることが決まっているということは楽です。
最後に
これは自分なりのコンテキストスイッチのコストを減らす方法であり、万人に通用するものだとは思っていません。
「コンテキストスイッチが苦手」で済ませずに、細かな原因を分析して対策をすれば各個人に合ったコンテキストスイッチの方法が見つかる可能性が上がると思います。
以上!