@ledsun blog

無味の味は佳境に入らざればすなわち知れず

マルチタスク

マルチタスクはよくないです。 本当ですよ?

プレイヤーとして

コンテキストスイッチ

タスクの切り替えにはコンテキストスイッチが必要です。CPUと同じですね。 タスクに必要な情報をメモリからキャッシュに持ってこないと高速に処理できません。 キャッシュの容量は限られるため、タスクを切り替えると前のタスクの情報はキャッシュから捨てる必要があります。 そして遅いメモリから、新しいタスクに必要な情報を読み込みます。 コンテキストスイッチをするだけで作業効率が下がります。

メモリ容量を超える情報量を扱う大きなタスクの場合は、より遅いストレージに待避する必要があります。 大きなタスクを取り込むほどコンテキストスイッチが不利になります。 マルチタスクを常用すると大きなタスクに取り組めなくなります。 とくに若手のキャリア形成で不利に働くでしょう。

一方で、数ヶ月かかるような大きなタスクは成果が出るまで時間が掛かります。 一定期間で成果を評価される立場の場合、 大きなタスクはマルチタスクでやらざるを得ないという面もあります。

簡単なタスクからやりがち

人間の脳には難しいタスクを避ける性質があります。 マルチタスクが簡単なタスクと難しいタスクで組まれている場合、脳は簡単なタスクを選択させる判断を作りだします。

  • すぐおわる
  • 軽く見ておこう
  • 優勢度が高い
  • 待たせたら悪い

などなど色々な理由を作り出します。 人間が判断を下す器官は脳一つです。 脳が嘘の判断を作り出す状態では、正しい優勢順位は判断できません。 その結果、緊急で簡単なタスクが消化され、緊急ではないが重要なタスクは保留されます。

この対策には「タスクをこなす作戦を立てる時間」と「タスクをこなす時間」を分離する手法が知られています。 たとえば「Getting Things Done」や「ポモドーロ・テクニック」です。

リーダーとして

リーダーは多くの判断を求められます。 判断はすべてタスクです。 判断に必要な情報は、大抵歯抜けです。 常にそろってはいません。

情報が足りないので、判断を保留します。 保留した判断はマルチタスクになります。 情報が揃ったか定期的にポーリングします。 判断に必要な情報が揃っているか並べ直します。 その最中に、別の判断に必要な情報がアップデートされたりします。 さあ、どうしますか?

一つのやり方としては、ボールを相手に渡します。 このとき重要なのは、ボールを渡す前に判断に必要な情報をリスト化します。 つい、自分のボールを手放すために、速く簡単なリアクションを取ろうとしてしまいます。 ここで時間を確保して、必要な情報を整理します。 何かしら文章として読めるレベルまで、整理してしまうのが良いでしょう。 そうすると新情報のアップデートが簡単になります。 これは「緊急ではないが重要なタスク」です。

「緊急ではないが重要なタスク」に取り組む時間を作るためには「緊急で簡単なタスク」をチームメンバーに委譲する必要があります。 チームメンバーが実行した方が時間が掛かるかもしれません。 そのために余裕を持った納期を確保する必要があります。

  1. 余裕を持った時間を確保する
  2. チームメンバーに集中して取り組んでもらう
  3. 生まれた時間をつかって自分は次の作戦を考える

そういうサイクルが回せると、上手く行くかも知れません。 余裕を持った時間を確保するには、やることの取捨選択も大事です。

プロジェクトマネージャーとして

コンテキストスイッチは計測不能

プレイヤーがマルチタスクするとタスクの完了が予測できなくなります。 見積もった時間に加えて、コンテキストスイッチの時間が加算されます。 見積もり時間自体がブレるのに加えて、コンテキストスイッチ時間が増えるので、予測不可能性は高くなります。

ひとつのタスク実行中にコンテキストスイッチが何回発生するかも予測できません。 コンテキストスイッチに掛かる時間もブレます。

コンテキストスイッチを観測して、計画に反映していけるでしょうか? コンテキストスイッチの観測は難しいです。 プレイヤーにコンテキストスイッチが起きる度に報告をさせてみましょうか? 「コンテキストスイッチの報告」というタスクが増えました。 マルチタスクは加速します。

遅れ検知が遅れる

前述のようにマルチタスクを抱えたプレイヤーは、マルチタスクのうち簡単なタスクからやりがちです。 さらにわるいことに、タスクの簡単な部分をやりがちです。 タスクAの簡単な部分をやって、タスクBの簡単な部分をやります。 全タスクの進捗は80%まで順調に進みます。 そして80%で止まります。 何日も。 「もっと早段階で言ってくれれば対応しようがあったのに!」って思いますよね?

マルチタスクを許容した自分が生み出しているのでした。

仕掛品が増える

前述のように前述のようにマルチタスクを抱えたプレイヤーは、マルチタスクのタスクをちょっとずつやりがちです。 遅れてきたので、別の人に分担させたいです。 途中までやったタスクを引き継ぐのは難しいです。 結果的に、最初からやり直しになるかもしれません。 サンクコスト払いたくないですよね?

ギリギリまでもとの担当者に任せておきましょう。 いつの間にかギリギリを通り過ぎています。 担当者はヤバくなればなるほど遅れを隠します。 あーあ、マルチタスクを禁止していれば、隠される遅れは1タスク分だったのに・・・。 マルチタスクなので複数タスクが遅れています。

1タスク分の遅れなら、事前に用意しておいたバッファーで余裕で吸収できていたのに。

プレイヤーはマルチタスクしたがる

多くの場合、プレイヤーは手が空くことを嫌がります。 やることがなければ帰りたいです。 プロジェクトの後半で忙しくなるなら、前半で頑張って余裕を作っておきたいです。 「手が空いたので、タスクを割り振ってください」って言ってきます。

多くのプレイヤーは「自分はマルチタスクを効率良くこなせる」と思っています。 作業待ち時間が生まれたら「この時間に別のタスクをやれば早くおわる」と考えます。 「手が空いたので、タスクを割り振ってください」って言ってきます。 タスクを割り振ったときにかぎって、○○さんの作業が終わってマルチタスクになります。 割り込みでパニックおこして、作業の効率と品質が下がります。

ドラッグ

ああ、マルチタスクさせなければ遅れなかったのに。 遅れたからには遅れをとりもどさなくてはいけません。 遅れを取り戻すために、使える時間はありますか? タスクとタスクの間の隙間時間を活用しましょう。 そこにタスクを突っ込むのです。 マルチタスクを加速しましょう。 遅れの検知を遅らせましょう。

軽い気持ちで始めたマルチタスク。 もう二度とマルチタスクなしの体にはもどれません。

参考