週次報告を1件作るのに、資料を集め、数字を確認してもらい、上司の承認を得て、配布する、という4つの工程があるとします。この4つを1件ずつ順番に完了させてから次の報告に取りかかっていたら、複数の報告を並行して進めることはできません。工程と工程の間にある待ち時間を、どう重ねて使うかを考えるのが、このページのテーマです。1件を丁寧に仕上げることと、複数件を並行してさばくことは、まったく別の技術だという前提から出発します。
パイプライン化とは何か
パイプライン化(複数の工程を、1つずつ完了させるのではなく、重ねて並行に進める仕組み)とは、ある処理を複数の段階に分け、前の段階が終わるのを待たずに、次の段階に取りかかれる部分から順に進めていく設計です。工場の流れ作業を思い浮かべると分かりやすい発想です。1台の車を最初から最後まで組み立ててから次の車に取りかかるのではなく、複数の車が同時に異なる工程を流れていくことで、全体の生産性を上げます。
コンピュータの内部でも、この発想は使われています。1つの命令を「読み込む→解読する→実行する」という複数の段階に分け、ある命令が実行段階にある間に、次の命令はもう解読段階に進んでいる、という重ね方をします。1つ1つの命令の処理時間そのものは変わらなくても、複数の命令を重ねて流すことで、単位時間あたりに処理できる命令の数、つまりスループット(単位時間あたりに処理できる仕事の量)は大きく向上します。
ここで押さえておきたいのは、パイプライン化は「1件を速くする」技術ではなく、「複数件をこなす速さを上げる」技術だという点です。1件だけを扱っているなら、工程を重ねる相手がいないため、パイプライン化の恩恵は生まれません。恩恵が生まれるのは、常に複数の案件や複数の依頼が並行して存在している状況においてです。日々の仕事の多くは、実際には複数の案件を同時に抱えている状態であるにもかかわらず、1件ずつ順番に片付けようとしてしまうことが少なくありません。
なぜ重ねると速くなるのか
パイプライン化の効果を理解する鍵は、「1件あたりの所要時間」と「全体の完了までの時間」を分けて考えることです。1件の報告書が資料集めから配布までに4日かかるとしても、複数の報告書を1日ずつずらして流していけば、2件目、3件目の報告書も、初日から4日という同じ期間で完成します。1件あたりの所要時間は変わらなくても、複数件をこなす際の全体のペースは大きく上がるのです。
これは、前のページまでで見た「依頼を先に出す」「待っている間に他を進める」という考え方の延長線上にあります。1つの工程の待ち時間の最中に、別の工程、あるいは別の案件の作業を差し込むことで、待ち時間そのものが無駄にならずに済みます。パイプライン化とは、この差し込みを、行き当たりばったりではなく、あらかじめ設計として組み込んでおくことだと言えます。
工場の流れ作業の比喩に戻ると、もう1つ大事な点が見えてきます。それは、各工程を担当する人や設備が分かれているからこそ、重ねて流すことができるという点です。1人の職人が最初から最後まで1台を組み立てる方式では、パイプライン化は成立しません。仕事に置き換えれば、複数の工程がすべて自分1人の手にかかっている場合、重ねられるのはあくまで自分の頭バウンドな作業の順番だけであり、他人バウンドな部分については、依頼を出す相手が空いているかどうかにも左右されます。パイプライン化は、自分の工夫だけで完結するとは限らない、という前提も押さえておく必要があります。
仕事への翻訳 — 工程を分けて重ねる
仕事にパイプライン化を持ち込むには、まず業務を工程に分解する必要があります。前の例で言えば、週次報告は「資料集め」「数字の確認依頼」「承認依頼」「配布」という4つの工程に分けられます。それぞれの工程には、自分の手で進める部分と、他人の返事を待つ部分が混在しています。
このとき、複数の案件を抱えている場合は、1件を最初から最後まで仕上げてから次の案件に着手するのではなく、ある案件の待ち時間の間に、別の案件の作業を進めるという重ね方ができます。案件Aの数字確認を依頼して待っている間に、案件Bの資料集めを進める。案件Bの確認を依頼して待っている間に、案件Aの承認依頼の準備を進める。こうして複数の案件の工程を少しずつずらして重ねることで、1件ずつ順番にこなすよりも、全体の完了ペースを上げられます。
この重ね方を実践するために必要なのは、特別な道具ではなく、案件ごとの「今どの工程にあるか」を把握できる一覧です。頭の中だけで管理しようとすると、案件数が増えるにつれてどれがどこまで進んでいるか分からなくなり、重ねるどころか二重に作業してしまったり、確認を忘れたりする事故につながります。案件と工程を書き出した簡単な一覧を手元に置いておくだけで、パイプライン化は格段にやりやすくなります。
具体場面で見る
問い合わせ対応の現場では、複数の問い合わせを同時に抱えているとき、1件を完全に解決してから次の問い合わせに移るのではなく、事実確認が必要な問い合わせについては確認依頼だけ先に出し、待っている間に、確認不要ですぐ回答できる別の問い合わせに手をつける、という重ね方が有効です。これにより、確認待ちの時間を無駄にせず、複数の問い合わせを同時並行で前に進められます。
引き継ぎ業務では、複数のテーマについて前任者に確認する必要がある場合、テーマAの質問を送って待っている間に、テーマBの資料を読み込んで質問事項をまとめる、という進め方がパイプライン化にあたります。すべてのテーマを1つずつ「質問して待って」を繰り返していては、引き継ぎ全体の完了は工程数だけ待ち時間が積み重なった分だけ遅れます。工程をずらして重ねることで、引き継ぎ全体の期間は大幅に短縮できます。
会議調整でも、複数の会議を同時に調整している場合、1つの会議の日程が確定するのを待ってから次の会議の調整を始めるのではなく、複数の会議の候補出しを同時並行で進めておくことで、全体の調整完了までの時間を縮められます。それぞれの会議の返信待ちという待ち時間が、互いに重なって進むためです。
週次報告の作成でも、複数のチームの報告を取りまとめる立場であれば、あるチームからの提出を待つ間に、別のチームの提出物を確認する、というパイプライン化が自然に成立します。全チームの提出が揃うのを待ってから初めて確認作業に着手すると、確認作業がすべて締切直前に集中してしまい、かえって全体の完了が遅れます。届いたものから順に確認を進めておけば、最後に残るのは未提出の分だけになり、全体の見通しも立てやすくなります。
パイプライン化の前提 — ボトルネックを見極める
パイプライン化には1つ重要な前提があります。全体の速さは、最も遅い工程によって決まるという点です。工場の流れ作業でも、ある工程だけ極端に時間がかかれば、他の工程がどれだけ速く進んでも、その遅い工程の前で仕事が滞留してしまいます。この最も遅い工程のことをボトルネック(全体の流れを制限している最も遅い部分)と呼びます。
仕事に置き換えると、複数の案件を並行して進めていても、承認者が1人しかおらず、その承認者の手が空くまで全案件が止まってしまう、という状況がボトルネックの典型です。この場合、資料集めや数字確認をどれだけ効率化しても、承認という工程がボトルネックである限り、全体のペースはそこで頭打ちになります。パイプライン化を考えるときは、工程を重ねることだけでなく、どこが全体の流れを制限しているのかを見極めることが欠かせません。
ボトルネックを見極めたあとの対処法は、大きく2つあります。1つは、ボトルネックとなっている工程そのものの処理能力を上げることです。承認者を1人から2人に増やす、承認の基準を明確にして判断を早められるようにする、といった対応がこれにあたります。もう1つは、ボトルネックの手前に案件を溜めすぎないよう、他の工程の着手ペースを調整することです。資料集めばかりを急いで進めても、承認待ちの案件が山積みになるだけであれば、資料集めのペースをボトルネックに合わせて調整した方が、全体としては混乱が少なくなります。どちらの対処法を選ぶかは、ボトルネックの原因が能力不足にあるのか、それとも案件の流し方にあるのかによって変わります。
落とし穴 — 重ねすぎると管理が破綻する
パイプライン化の落とし穴は、重ねる案件の数を増やしすぎることです。同時に進める案件が増えれば増えるほど、「どの案件が今どの工程にあるか」を把握する負担も増えていきます。この管理自体が頭バウンドな作業であり、案件数が一定を超えると、管理のための手間が、重ねることで得られる時間短縮の効果を上回ってしまいます。
もう1つの落とし穴は、工程を無理に重ねようとして、本来は順番が必要な工程まで並行させてしまうことです。承認が下りる前に配布の準備を進めるのは問題ありませんが、承認が下りる前に配布そのものを実行してしまっては、順序が崩れて事故につながります。パイプライン化は、待ち時間を有効活用するための重ね方であって、必要な順序そのものを飛ばしてよいという話ではありません。どの工程は前後を入れ替えられて、どの工程は入れ替えられないのかを、あらかじめ見極めておく必要があります。
見極め方の目安は、その工程が前の工程の結果そのものを必要としているかどうかです。配布は承認という結果そのものを前提にしているため、順序を崩せません。一方、配布先のリストを整えておくという準備作業は、承認の結果に依存しないため、承認待ちの間に進めても問題ありません。同じ「配布」という言葉でくくられていても、結果に依存する部分と依存しない部分を分けて考えることで、どこまで重ねてよいかが見えてきます。この分解の作業自体は頭バウンドな作業であり、事前に済ませておけるという点も覚えておく価値があります。
次のページでは、本章で見てきた4つの視点を振り返り、次章のスケジューリングの話につなげます。
持ち帰り
- パイプライン化とは、複数の工程や案件を、1件ずつ順番にではなく、重ねて並行に進める設計
- 全体の速さは最も遅い工程(ボトルネック)で決まるため、重ねるだけでなく遅い工程を見極める必要がある
- 重ねる案件を増やしすぎると管理の手間が増え、順序が必要な工程を誤って並行させると事故につながる
やってみる
今抱えている案件を2つ選び、それぞれの工程を書き出して、片方の待ち時間にもう片方のどの作業を差し込めるかを1つ見つけてみてください。あわせて、それぞれの案件で全体の流れを遅らせている工程がどこかも見当をつけておくと、次に活かせます。