仕事に効くコンピュータサイエンス
マルチタスクの嘘 — プロセスとコンテキストスイッチ読了目安 10分

通知を全部受け取らなくていい — 割り込みとマスキング

このページの問いは、鳴った通知に全部その場で反応する必要が本当にあるか、です。前のページで切り替えには高いコストがあると述べました。ここでは、そのコストを制御する仕組みを扱います。多くの職場で通知への即応が習慣になっているのは、悪意や怠慢ではなく、単に「受け方を選んでよい」という発想そのものが共有されていないからだと考えられます。

コンピュータには「割り込み」という仕組みがあります。実行中の処理を強制的に中断させ、緊急性の高い別の処理をすぐに行わせる信号のことです。キーボードのキーが押された、通信が届いたといった外部からの出来事は割り込みとして扱われ、CPUはいま何を処理していても、原則としてすぐにそれに反応します。割り込みは、CPU自身が予測してあらかじめ準備しておける出来事ではなく、外部から一方的に飛び込んでくる点が特徴です。

しかし、すべての割り込みに常に即座に反応していると、本来やるべき重要な処理が中断され続け、先に進めなくなります。そこでコンピュータには「マスキング」(特定の割り込みを一時的に受け付けなくする仕組み)があります。マスキングをかけている間、該当する割り込みは待たされます。ただし、なかったことにはなりません。多くの場合、待たされた割り込みは「キュー」(順番に並んで待つ列のこと)に積まれ、マスキングが解除された時点で順番に処理されます。

ここでとりわけ重要なのは、マスキングにも例外があるという点です。停電や致命的な異常のような、絶対に無視できない出来事のための割り込みは「マスク不可能な割り込み」として、マスキング中でも強制的に処理されます。つまり仕組みとしては、「ほとんどの通知は後回しにできるが、本当に致命的なものだけは別枠で必ず通す」という二段構えになっています。

なぜマスキングという仕組みがわざわざ用意されているのでしょうか。素朴に考えると、割り込みには即座に応じたほうが誠実で正しいようにも思えます。しかし理由は、割り込みへの対応そのものにも、無視できないコストがかかるからです。前のページで見たコンテキストスイッチと同じで、割り込みに応じるたびに、CPUは今の処理を保存し、割り込み処理に切り替え、また元の処理に戻るという手順を踏みます。重要な処理の最中に、優先度の低い割り込みが何度も入ると、重要な処理がいつまでも終わりません。マスキングは、この事態をあらかじめ防ぐための安全弁です。

これを仕事に翻訳します。チャットの通知、メールの受信音、社内システムのアラートは、いずれも割り込みです。すべてに即座に反応するのではなく、意図的に「今は受け付けない」時間帯をつくるのがマスキングです。ただし、通知を切っている間も、依頼そのものは消えているわけではありません。通知欄やメールの受信箱というキューに積まれ、マスキングを解除したときにまとめて確認すればよいのです。

ここで押さえておきたいのは、割り込みそのものと、割り込みへの対応を、いったん分けて考えるという発想です。割り込みが発生すること自体は止められません。取引先も上司も、あなたの都合に完全に合わせて連絡してくるわけではないからです。しかし、割り込みが発生した瞬間に必ず今すぐ処理しなければならない、という思い込みは、コンピュータの世界でも成り立っていません。割り込みは「知らせる」ためのものであり、「即座に処理する」ことを強制するものではないのです。この分離こそが、マスキングという仕組みを成立させている前提であり、この章のこのページ全体を貫く考え方でもあります。

具体的な場面を見てみます。1つ目は、報告書を書く1時間だけ、チャットの通知をオフにする場面です。この間に来たメッセージは消えるわけではなく、通知欄に残っています。1時間後にまとめて確認すれば、対応漏れは起きません。2つ目は、チームで「至急以外は、11時と15時にまとめて確認する」という運用ルールを決める場面です。個人の意志だけでなく、チーム全体の割り込みルールとして合意すると、周囲も安心して待てるようになります。3つ目は、システム障害や取引先からの重大なクレームのような、本当に緊急なものについては、通常の通知経路とは別に、電話や直接の声かけといった「マスクできない経路」を別途用意しておく場面です。

4つ目は、複数の連絡手段を優先度で使い分ける場面です。日常的な連絡はチャット、確認が必要だが急がない連絡はメール、そして本当に緊急な連絡だけは電話、というように経路を分けておくと、マスキングをかけている間でも、電話という経路だけは意図的に生かしておくことができます。これは、コンピュータの世界で複数の割り込みに優先度をつけ、優先度の高いものだけをマスキングの対象から外す仕組みと同じ考え方です。優先度という考え方は、次の章で扱うスケジューリングにもそのままつながっていきます。5つ目は、上長や取引先に対して、あらかじめ「通常の依頼は日中随時、至急の場合は電話で」と伝えておく場面です。相手にとっても、どの経路を使えば確実に届くかが分かっていれば、無理に何度もチャットで催促する必要がなくなり、双方の負担が減ります。こうした取り決めは、一度言葉にして共有しておくだけで、以後何度も繰り返し効果を発揮する、費用対効果の高い工夫だと言えます。

マスキングを解除したあとの動きにも触れておきます。マスキングを解除した瞬間、キューに積まれていた通知が一気に目に入ることがあります。ここで全部を同時に処理しようとすると、結局そのあと何度も細かい切り替えが発生してしまいます。解除した直後は、まず全体にざっと目を通して、対応の要不要と優先度だけを先に仕分け、それから優先度の高いものから順に対応するという2段階の動きにすると、キューをさばく効率が上がります。仕分けと対応を同時に進めようとしないことが、このコツの要点です。

マスキングを実際に運用している場面を見てみます。あなたはチームに「10時から11時半は集中タイムなので、チャットの返信が遅れます」と一言伝え、通知をオフにしました。11時半に画面を開くと、5件のメッセージが並んでいます。ひとつずつ順に開くのではなく、まず件名だけをざっと見て、「これは今日中でよい」「これは午後の会議までに」と仕分けます。仕分けが終わってから、優先度の高いものから返信を書き始めます。同僚からは特に不満の声はありませんでした。あらかじめ一言伝えておいたことが、待たせても大丈夫という安心感につながったのです

ここでの落とし穴は2つあります。ひとつは、すべてをマスクしてしまい、本当に緊急なものまで見落とすことです。マスキングは「後回しにしてよいものを選別する」ための仕組みであって、「何も見ない」ための仕組みではありません。緊急時にだけは必ず届く経路を、あらかじめ別に用意しておく必要があります。この別経路を決めずにマスキングだけを導入すると、重大な連絡が11時の確認まで放置される事態になりかねません。

この落とし穴が起きやすいのは、マスキングという言葉の響きから、単に「通知オフ」という1つの操作だけで済ませてしまう場合です。通知アプリの設定を切るだけでは、緊急連絡と日常連絡の区別がつかず、両方とも同じように後回しにされます。実際に機能させるには、何が「マスク不可能な割り込み」に当たるかを先に言葉で決め、その経路だけは別に確保しておくという、2段階の設計が必要です。優先度の低いものを後回しにする仕組みと、優先度の高いものを確実に通す仕組みは、別々に用意しなければならないという点が見落とされがちです。

もうひとつの落とし穴は、逆に一切マスキングをかけないことです。通知が来るたびに反応していると、前のページで見た切り替えコストが際限なく積み重なります。「通知はいつでも見る」という姿勢は、一見誠実に見えて、実際にはすべての仕事の進み方を遅らせます。マスキングは怠慢ではなく、重要な仕事を守るための設計です

「通知はいつでも見る」という姿勢が生まれやすいのは、即座に反応しないことを、相手への不誠実だと感じてしまう、まじめな人ほど陥りやすい場合です。しかし、緊急でない依頼にまで常時即応していると、あなたの1日は他人の割り込みによって埋め尽くされ、結局あなた自身が担うべき仕事が後回しになります。これは、依頼してきた相手にとっても長期的には望ましくありません。あなたが重要な仕事に集中できなければ、いずれその仕事の遅れが、依頼者自身にも跳ね返ってくるからです。マスキングを周囲に説明するときは、「対応しない」のではなく「まとめて確実に対応する」という言い方で伝えると、誠実さを損なわずに運用できます。

マスキングを導入するときは、何を緊急とみなすかを、周囲とあらかじめ言葉で決めておくことが要になります。「至急」の基準が人によって違うと、マスキングの間に本当は待てない依頼が紛れ込み、あとで信頼を損ないます。逆に基準がはっきりしていれば、マスキングの時間帯があること自体が、周囲にとっても「いつ返事が来るか」が予測できる安心材料になります。

基準を決める際の目安のひとつは、「対応が数時間遅れることで、実際に困る人や損害が発生するか」です。困る人が具体的に思い浮かぶなら、それはマスクできない割り込みの候補です。一方、「何となく早く返したほうが感じがよい」という程度の理由であれば、たいていはマスキングの対象にしてよいものです。この線引きを個人の感覚だけに任せず、チームで一度言葉にして共有しておくと、担当者が変わっても同じ基準で運用できます。基準を文章にして共有すること自体が、チーム内の暗黙の緊張を減らす効果も持っています。

もう一つ触れておきたいのは、マスキングの単位です。1日中通知をオフにするような極端な運用は、多くの職場では現実的ではありません。むしろ、30分から2時間程度の短い単位でマスキングの時間帯を区切り、1日の中に複数回設けるほうが、緊急連絡への対応漏れも防ぎつつ、まとまった集中時間も確保しやすくなります。単位の長さは、扱っている仕事の性質と、チームが許容できる返信の遅さに応じて、少しずつ調整していくとよいでしょう。

通知を制御するという行為は、慣れないうちは少し勇気がいるかもしれません。しかし、基準と別経路さえ事前に整えておけば、安心して長く運用を続けられる仕組みです。

持ち帰り

  • 割り込みに常に即座反応する必要はなく、意図的に受け付けない時間(マスキング)をつくってよい
  • マスキング中の依頼は消えるのではなく、キューに積まれて後で処理される
  • 本当に緊急なものだけは、通常の通知とは別の経路を用意しておく

通知の制御は、個人だけの設定にとどめず、チームの合意としてもう一段仕組み化することもできます。次のページでは、この考え方をさらに一歩進め、そもそも1つの時間帯を1つの案件だけに割り当てるシングルタスク設計と、似た仕事をまとめて片づけるバッチ処理という、時間割そのものの組み方に話を進めます。マスキングが割り込みの「受け方」の設計だとすれば、次に見るのは「時間そのものの使い方」の設計です。

やってみる

明日、1時間だけチャットとメールの通知をオフにし、そのあとでまとめて確認する時間を試してみてください。緊急連絡用の電話番号など、本当に必要な別経路だけは、事前に周囲へきちんと伝えておくようにしてください。