در پنج گام قبلی توانستیم فعالیتهای پروژه را تعریف و توالی بین این فعالیتها را مشخص کنیم. سپس نوع و تعداد منابع مورد نیاز برای انجام هر یک از فعالیتها را تعیین کردیم که بر اساس آن مدت زمان انجام هر فعالیت برآورد شد. با توجه به شبکه ایجاد شده و مدت زمان فعالیتها مسیر بحرانی پروژه مشخص میشود.
مسیر بحرانی طبق تعریف استاندارد GAO طولانیترین مدت زمان زنجیره فعالیتهای پروژه در برنامه زمانبندی است که به ما زودترین تاریخ پایان پروژه را نشان میدهد که کمترین میزان شناوری کل را نیز داراست. شناوری کل میزان زمانی است که یک فعالیت میتواند به تاخیر بیفتد یا جابجا شود بدون اینکه روی تاریخ اتمام پروژه اثرگذار باشد.
زمانی که در برنامه زمانبندی از قیدها یا Constraints استفاده نکنیم و تقویمهای چندگانه نداشته باشیم، شناوری کل فعالیتهای روی مسیر بحرانی صفر خواهد بود. مسیر بحرانی به ما کمک میکند که روی چه فعالیتهایی تمرکز بیشتری داشته باشیم و اینکه در زمان بکارگیری منابع اولویت تخصیص به چه صورت باشد.
در تصویر زیر 3 فعالیت روی مسیر بحرانی هستند که زمان اتمام و مدت زمان کلی پروژه را مشخص میکنند. بر این اساس این پروژه 11 روزه به اتمام خواهد رسید.
در این تصویر فعالیت سوم دارای زودترین زمان شروع (1/16) و دیرترین زمان شروع (1/20) میباشد. این بدین معناست که این فعالیت این امکان را دارد به جای (1/16) در تاریخ (1/20) آغاز شود بدون اینکه روی زمان اتمام پروژه تاثیرگذار باشد. فاصله زمانی بین زودترین و دیرترین زمان شروع 4 روز است اما به دلیل اینکه فاصله زمانی (1/17) تا (1/19) در تقویم تعطیل در نظر گرفته شده است این فعالیت دارای تنها یک روز شناوری میباشد و سایر فعالیتها در این زمانبندی از آنجائیکه روی مسیر بحرانی بوده و هیچ قیدی هم روی آنها لحاظ نشده است دارای شناوری صفر هستند.
در نرمافزارهای زمانبندی پس از ایجاد شبکه و تعیین مدت زمان فعالیتها خود نرمافزار به صورت خودکار مسیر بحرانی را مشخص میکند و عموماً فعالیتهای با شناوری صفر و منفی بحرانی در نظر گرفته میشوند که البته این منطق ایراداتی دارد.
در کنار فعالیتهای بحرانی مفهومی به نام فعالیتهای نزدیک بحرانی (Near Critical) هم وجود دارد. فعالیتهای که شناوری آنها نزدیک به فعالیتهای بحرانی بوده و در صورت اندکی انحراف میتوانند بحرانی شوند. مسیر نزدیک بحرانی با کمی تاخیر تبدیل به مسیر بحرانی میشود.
بنابراین در مدیریت زمانبندی پروژه باید هم مسیر بحرانی و هم مسیرهای نزدیک به بحرانی مانیتور شوند و البته در زمان برنامهریزی باید آستانه کنترلی در این زمینه تعیین شود که تا چند روز شناوری نزدیک بحرانی محسوب شود.
نکته بعدی این است که مسیر بحرانی در طول پروژه ممکن است تغییر کند و ثابت نیست. با تاخیر فعالیتها برخی از فعالیتهای غیر بحرانی ممکن است به بحرانی تبدیل شوند و بالعکس.
مسیر بحرانی و طولانیترین مسیر
از لحاظ تئوری مسیر بحرانی توالی فعالیتهایی است که طولانیترین مسیر پروژه را نشان میدهند. GAO بر این عقیده است که هرچه برنامه زمانبندی با استفاده از تقویمهای متعدد و اعمال انواع قید روی فعالیتها پیچیدهتر شود، شناوریهای فعالیتها بخوبی نمیتواند نشانگر مدت زمان مجاز یک فعالیت برای به تاخیر افتادن باشد بگونهای که تاریخ اتمام پروژه به تعویق نیفتد.
همانطور که قبلاً هم توضیح داده شد، استفاده از قیدها ممکن است فعالیتهایی را با داشتن شناوری، بحرانی کند. بنابراین در برنامههای زمانبندی با تعداد زیادی قید شاهد فعالیتهای متعدد با شناوری صفر و منفی خواهیم بود در حالیکه این فعالیتها شاید روی مسیر بحرانی نباشند.
در تصویر زیر ما شاهد دو مسیر هستیم که مسیر بالایی که با رنگ قرمز نمایش داده شده است مسیر بحرانی است و تمامی فعالیتهای روی این مسیر دارای شناوری صفر هستند و فعالیتهای روی مسیر پایینی هر دو دارای شناوری 2 روز میباشند.
حال تصویر زیر را در نظر بگیرید که روی دو فعالیت مسیر پایینی قید لحاظ شده است که فالیت inspect rough-in HVAC دقیقاً باید در تاریخ (1/24) شروع شود و فعالیت Rough in interior HVAC and through-roof penetration نمیتواند دیرتر از تاریخ (1/20) به اتمام برسد.
با این شرایط شناوری کل این دو فعالیت هم صفر خواهد شد و بحرانی میشوند و پروژه دارای دو مسیر بحرانی است در حالی که مسیر بالایی طولانیترین مسیر پروژه میباشد.
به مسیر بحرانی واقعی پروژه Driving Path یا مسیر کنترل کننده هم گفته میشود. یعنی مسیری که تاریخ اتمام پروژه را تعیین میکند. توصیه GAO این است که در نرمافزارهای زمانبندی به خصوص نرمافزار MSP ممکن است با فیلتر کردن فعالیتهای بحرانی نرمافزار فعالیتهای با شناوری صفر و منفی را به ما نشان بدهد که در واقع ممکن است این فعالیتها بحرانی نباشند و شدیداً به این نکته باید توجه کرد که در زمان مدیریت زمانبندی توجه ویژهای به فعالیتهای Driving پروژه باشد نه لزوماً فعالیتهایی که دارای شناوری صفر هستند.
نکته مهمی که وجود دارد این است که در نرمافزار Primavera P6 این قابلیت وجود دارد که مسیر بحرانی بر اساس Longest Path و نه لزوماً حداقل شناوری شناسایی شود. بنابراین در حالتی که هیچ قیدی روی فعالیتها اعمال نشده و تقویمهای متعدد نداریم شناوری فعالیتهای مسیر بحرانی صفر خواهد بود.
مشکلات رایج برای اعتبار مسیر بحرانی
در حالت ایدهآل مسیر بحرانی طولانیترین مسیر پروژه است که هیچ قیدی هم روی فعالیتها ندارد و در واقع شناوری فعالیتهای روی مسیر بحرانی صفر است.
شناسایی دقیق مسیر بحرانی بسیار اهمیت دارد زیرا بعداً مبنای ما جهت کنترل پروژه و آنالیز تاخیرات خواهد بود. بنابراین ضرورت دارد که قبل از تهیه خط مبنای پروژه یا Baseline مسیر بحرانی مجدداً بررسی و ارزیابی شود و همچنین پس از هر بار Update و بروزرسانی برنامه زمانبندی نیز چک کردن مسیر بحرانی و تغییرات آن الزامی است.
مسیر بحرانی باید یک Continuous Path باشد به این معنا که از ابتدای پروژه آغاز و به انتهای پروژه ختم شود. همانظور که در بخشهای قبلی توضیح داده شد ما باید یک برنامه جامع یکپارچه (IMS) در پروژه داشته باشیم که شامل کلیه فعالیتها است. بنابراین به خصوص در پروژههایی که از چند فاز تشکیل شدهاند بسیار اهمیت دارد که برنامه زمانبندی تمامی فازها به صورت یکپارچه تهیه شود، در غیر این صورت مسیر بحرانی پروژه قابل اتکا نخواهد بود.
تمامی تقویمها و ارتباط بین فعالیتهای با تقویم چندگانه باید بررسی شود و در صورتیکه روی فعالیتی قید اعمال شده است باید چک شود. در تصویر زیر فعالیت دوم دارای تقویم 7 روز کاری است و به همین دلیل غیر بحرانی شده است.
استفاده از Lag روی مسیر بحرانی هم موجب پیچیدگی میشود و ممکن است محاسبات شناوری را تغییر دهد. در تصویر زیر ارتباط بین فعالیت inspect rough-in HVAC و install interior vapor barrier با Lag دو روزه همراه شده است.
نکته بعدی این است که به هیچ وجه نباید فعالیتهای از جنس LOE روی مسیر بحرانی قرار گیرند زیرا زمان این فعالیتها وابسته به سایر فعالیتهاست. بنابراین باید این موضوع هم چک شود و در صورتی که فعالیت LOE روی مسیر بحرانی بود روابط آن را مجدداً بررسی و اصلاح کنیم. در تصویر زیر به دلیل برقراری روابط اشتباه فعالیت Manage Framing که از نوع LOE است بحرانی شده و باید اصلاح گردد و با فعالیت Set steel columns and beams رابطه SS برقرار کنیم.