زمان‌بندی ابزاری است برای تعیین فعالیت‌های بحرانی و ترتیبی‌است برای انجام فعالیت‌ها به منظور به پایان رسیدن پروژه در زمان تعیین‌شده و مقرون‌به‌صرفه. البته زمان‌بندی و در نتیجه فعالیت‌های بحرانی در طول اجرای پروژه ثابت نمی‌ماند و در حین اجرای پروژه, با جلو یا عقب افتادن برخی فعالیت‌ها، زمان‌بندی و در نتیجه فعالیت‌های بحرانی تغییر می‌کنند. تغییرات زمان‌بندی که نتیجۀ تخصیص منابع به فعالیت‌هاست می‌تواند فعالیت‌های بحرانی را تغییر دهد. علاوه بر مسیر بحرانی مسائل قابل تأمل دیگری نیز در زمان‌بندی وجود دارد که در این مقاله به آن‌ها پرداخته شده است.

 

لازم به یادآوری است که همۀ مطالب با فرض این‌که برنامه‌ریزی پروژه براساس تاریخ شروع است و نه تاریخ پایان بیان شده‌اند. به علت اهمیت تاریخ پایان پروژه مسئلۀ مسیر و فعالیت‌های بحرانی و شناخت آن‌ها بسیار مهم است. شناسایی مسیر و فعالیت‌های بحرانی به کمک شناوری انجام می‌شود. شناوری‌ها دو دسته‌اند: شناوری کل (Total Slack) و شناوری آزاد (Free Slack). شناوری کل تاخیر مجاز در شروع یا پایان فعالیت به شکلی است که تاریخ پایان پروژه به تاخیر نیافتد. این شناوری حداقل شناوری شروع (Start Slack) و پایان (Finish Slack) است. به طور پیش‌فرض فعالیت‌های بحرانی فعالیت‌هایی‌اند که مقدار شناوری کل آن‌ها صفر است.

شناوری شروع و شناوری پایانِ تاخیر مجاز, در شروع و پایان فعالیت, به شکلی است که تاریخ پایان پروژه به تاخیر نیافتد. از آن‌جا که در شناوری شروع زمان شروع فعالیت مطرح است فعالیت‌هایی که تاریخ شروع یا پایان آن‌ها وابسته به این تاریخ شروع‌اند (فعالیت‌های پس‌نیازی که نوع رابطۀ آن‌ها SS یا SF است) در تعیین مقدار این شناوری از فعالیت‌هایی که تاریخ شروع یا پایان آن‌ها وابسته به تاریخ پایان فعالیت‌اند (فعالیت‌های پس‌نیازی که نوع رابطۀ آن‌ها FS یا FF است) مؤثرترند. این امر دربارۀ شناوری پایان برعکس است. البته باید توجه شود که علاوه بر نوع رابطه عوامل دیگری, از جمله مدت زمان فعالیت‌های پس‌نیاز و فعالیت‌های دیگری که زمان شروع و پایان آن‌ها وابستگی غیرمستقیم به فعالیت موردنظر دارند, نیز مؤثرند. 

برای تعیین شناوری شروع و پایان فعالیت‌ها در شبکۀ CPM پروژه حرکت رفت انجام می‌شود و زودترین زمان شروع ( Early Start) و پایان (Early Finish) فعالیت‌ها تعیین می‌شود؛ سپس حرکت برگشت انجام می‌شود و دیرترین زمان شروع (Late Start) و پایان (Late Finish) فعالیت‌ها تعیین می‌شود. تفاوت (Early Start) و ( Late Start) شناوری شروع و تفاوت (Early Finish) و (Late Finish) شناوری پایان است. 

در صورتی‌که برنامه‌ریزی پروژه براساس تاریخ شروع باشد و هیچ‌کدام از فعالیت‌ها قید As Late As Possible نداشته باشند مقادیر فیلدهای Start و Early Start و نیز فیلدهای Finish و Early Finish یکسان خواهد بود. از این‌رو از فیلدهای Start، Finish، Late Start و Late Finish برای تعیین مقدار شناوری کل استفاده می‌شود؛ به همین‌شکل در صورتی‌که برنامه‌ریزی پروژه براساس تاریخ پایان باشد و هیچ‌کدام از فعالیت‌ها قید As soon As Possible نداشته باشند مقادیر فیلدهای Start و Late Start و نیز فیلدهای Finish و Late Finish یکسان خواهد بود. از این‌رو از فیلدهای Start، Finish، Early Start و Early Finish برای تعیین شناوری کل استفاده می‌شود. 

شناوری آزاد مدت زمان مجازی‌است که فعالیت می‌تواند, بدون به تاخیرافتادن هیچ‌کدام از پس‌نیازهایش, به تاخیر بیافتد. در صورتی‌که فعالیت پس‌نیاز نداشته باشد شناوری آزاد مساوی شناوری کل خواهد شد. 

برای تعیین حداکثر شناوری فعالیت‌های بحرانی باید مسیر زیر دنبال و مقدار موردنظر در لیستif slack is less than or equal to Tasks are critical و در قسمت Calculation options for this project وارد شود: 

File → Options → Advanced 

تعیین مسیر و فعالیت‌های بحرانی

تعیین مسیر و فعالیت‌های بحرانی با اهداف گوناگون نظیر کاهش طول مسیر بحرانی برای کاهش مدت‌زمان پروژه انجام می‌شود. برای کاهش طول مسیر بحرانی دو روش وجود دارد: الف- کاهش مدت زمان فعالیت‌های بحرانی. ب- هم‌پوشانی فعالیت‌های بحرانی. کاهش مدت فعالیت‌های بحرانی با افزایش منابع تخصیص داده شده به آن‌ها و هم‌پوشانی فعالیت‌ها با کاهش تاخیر زمانی بین اجرای فعالیت‌ها و تغییر نوع ارتباط بین فعالیت‌ها از رابطۀ معمول FS به SS یا FF است. 

برای تعیین فعالیت‌های بحرانی می‌توان از فیلدهای Total Slack و Critical استفاده کرد. عبارت فیلد Critical فعالیت‌هایی با مقدار شناوری کل مساوی یا کم‌تر از مقدار آستانه Yes است. در ضمن می‌توان به میلۀ شناوری کل افزود. برای این‌منظور باید میله‌ای با استفاده از دستور Bar Styles در زبانه Format و به‌نام Slack تعریف شود که مقادیر فیلدهای From و To آن در پنجرۀ Bar Styles به ترتیب Early Finish و Late Finish باشد.