制約理論が導き出したプロジェクトのリードタイム短縮
制約理論は製造業のリードタイムを短縮するトヨタ生産方式をベースにした生産管理の手法としてスタートしていますが、その後ソフトウェア開発や建設などのプロジェクト形式の業務についてもリードタイムを短縮する方法を開発しました。
プロジェクトは連鎖するタスクを複数の人が協力して消化していき最後のタスクが終わることで完成する一連の流れです。一つのプロジェクトの一つのタスクはそれほど時間がかかるものではありませんが、他のタスクが終わらないことで手待ち時間が長時間あったり、複数のプロジェクトが同時並行で走ることで別のタスクが邪魔をしてすぐに必要なタスクに取り掛かれなかったりすることで遅延していきます。
このため、感覚的に1か月ぐらい終わりそうと思うようなプロジェクトでも普通に3ヵ月ぐらいかかってしまったりするため、それを見越してみんな長めに必要な作業時間を確保しようとします。そうして、各自がバッファーと呼ばれる余裕時間を積み上げていく結果、想像以上にプロジェクト期間は長くなります。
それだけ長くなれば、予定よりもかなり早く終わってもおかしくないのですが、余裕時間をたくさん持った結果、安心してしまいギリギリまで手を付けないという現象が発生します。この夏休みの宿題効果により余裕時間は全く意味をなさず消化されていきます。
期間を短縮するためバッファーを取り除く
このバッファーは製造業でいう無駄な仕掛在庫のようなもので、リードタイムを伸ばす要因にしかなりません。バッファーを取りたがるのは、約束した期限までに作業を終わらせないといけないというプレッシャーがあるためです。これを、5分5分ぐらいの確率で終わるギリギリの作業時間まで圧縮してバッファーを取り除きます。プレッシャーを無くすために、作業が間に合わないのは当たり前という前提をプロジェクトメンバー全員が共有する必要があります。ともすれば、ほぼ100%期限通りに終わらせる人の方を「バッファーを取りすぎているんじゃないか」と疑うようなイメージになります。
バッファーを取り除いた期間というのはとても短くなりますが、その期間でプロジェクトを終わらせられる確率は50%もないはずです。というのも、速く作業が終わっても予定通りにしか開始できないケースはありますが、遅れは100%後の作業を遅らせるためです。このため、取り除いたバッファーの一部はプロジェクト全体のバッファーとして確保しておき、工程の遅れをその全体のバッファーで吸収します。プロジェクトマネージャーは各工程を監視する必要はなく、プロジェクト全体のバッファーを監視することで遅れを監視することができるようになります。
複数プロジェクトにまたがるリソースという制約
また、複数のプロジェクトにまたがってリソースを利用するため、別のプロジェクトにリソースが取られることを計算に入れずにスケジューリングしてしまうと、予想外にリソースが空かず、遅延する要因になります。
例えば、キーマンが3つのプロジェクトをかけ持っていた場合に、そのキーマンを自分のプロジェクト専属のような扱いでスケジューリングしてしまうと、「ちょっと今週は別プロジェクトで立て込んでて…」などと言われて簡単に1週間、2週間と遅延していきます。
この複数にまたがるリソースを計算に入れてスケジュールを組むことも重要になってきます。計算に入れるためにはこの期間はこのプロジェクトに100%集中、この期間は別のプロジェクトに100%集中、といったようにその作業をやっている間は別のところから割込みが入らないような状況を作ることも重要になってきます。
もともとプロジェクト管理手法にはPERTと言われるプロジェクトの工程のつながりの中で最長になるつながり(クリティカルパス)を見つけ出し、クリティカルパスを集中管理するという手法がありました。しかし、PERTは一つのプロジェクトを想定しているものであるため、複数のプロジェクトにまたがるリソースが各プロジェクトのクリティカルパスの中に現れた場合に、そこを考慮してスケジューリングする必要があるという点が制約理論の新しい部分で、クリティカルチェーンと名づけられました。