بسیاری از پروژهها در دنیای مدیریت پروژه و ساخت با محدودیتهای زمانی مشخصی همراه هستند که رعایت آنها در تدوین برنامهزمانبندی چالشهایی را ایجاد میکند. استفاده از قیدهایی ازجمله «فعالیت یا رخداد کلیدی دیرتر از تاریخ مشخصی پایان نیابد» (FNLT یا Finish No Later Than) ابزاری موثر برای تأکید بر اهمیت رعایت محدودیتهای زمانی پروژه هستند. این قیدها نشاندهنده اهمیت یک تاریخ خاص در طول حیات پروژه هستند. زمانی که منطق شبکهای (network logic) بهتنهایی نمیتواند وضعیت واقعی برنامه زمانبندی را بهدرستی نشان دهد، استفاده از قید در اعمال محدودیتهای زمانی پروژه میتواند موثر باشد. بهعنوان مثال برای تعیین تاریخ تحویل مستندات (deliverables)، قیدهای FNLT بسیار کاربردی هستند، یعنی زمانی که مستندات پروژه میتوانند زودتر از تاریخ تعیین شده در قرارداد تحویل داده شوند، اما به هیچ عنوان نباید بعد از آن تاریخ ارائه گردند (برای کسب اطلاعات بیشتر به مقاله مقدمهای بر تحلیل تاخیرات با استفاده از نرمافزار MSP مراجعه کنید).
قیدها انواع متنوعی دارند که بسته به شرایط هر پروژه میتوانند در برنامه زمانبندی لحاظ شوند. بهعنوان مثال اگرچه قید «فعالیت یا رخداد کلیدی زودتر از تاریخ مشخصی شروع نشود» (SNLT یا Start No Later Than) و قید FNLT هر دو از جابهجایی فعالیتها به تاریخی پس از تاریخ قید مشخصشده جلوگیری میکنند اما هرکدام بسته به محدوده برنامهزمانبندی میتوانند تحت شرایطی مناسبتر باشند. برای روشنشدن موضوع، این دو نوع قید را با مثالهایی بررسی میکنیم (برای آشنایی بیشتر با نحوه ایجاد روابط در MSP به مقاله چگونه روابط بین پروژهای برنامه زمانبندی را در MSP پیادهسازی کنیم؟ مراجعه کنید).
فرض کنید پروژهای شامل فعالیت اجرای آسفالت است که شرایط سرد زمستانی میتواند بر آن تاثیر منفی بگذارد. در این حالت، نمیخواهیم اجرای آسفالت پس از تاریخ مشخصی در اواخر پاییز انجام شود. این تاریخ را چگونه میتوان تعیین کرد؟کدام قید برای تعیین این تاریخ مناسبتر است، قید SNLT یا قید FNLT؟
در این موقعیت قید SNLT میتواند محافظهکارانهتر و مناسبتر عمل میکند. اگر اجرای پروژه به فصل زمستان برسد، دیگر تعیین اینکه اجرای آسفالت باید تا چه تاریخی در زمستان به پایان برسد، کمکی نمیکند و بهتر است حتی به شروع اجرای آسفالت فکر هم نشود. چنانچه از قید FNLT استفاده شود و تاریخ قید FNLT نقض شود، دیگر دیر شده است و بهاصطلاح «کار از کار گذشته است». اجرای آسفالت آغاز شده است و حالا باید آن را به پایان رساند، که این امر میتواند کیفیت آسفالت را تحت تاثیر قرار دهد؛ بنابراین، قید SNLT برای تعریف توقفهای زمستانی مناسبتر از FNLT است.
بااینحال، قید FNLT برای تعیین تاریخهای تحویل مستندات بسیار کارآمدتر است. در مورد مهلتهای زمانی، قید FNLT سختگیرانهتر و محافظهکارانهتر از SNLT است. شروع یک فعالیت معمولاً آسان است، اما تکمیل آن چالشبرانگیز است، زیرا نیازمند اثبات اتمام واقعی فعالیت است، درحالیکه شروع یک فعالیت گاهی به مدرک خاصی نیاز ندارد.
بنابراین، قیدهای FNLT برای هشدار به مدیران پروژههای صنعت ساخت درباره تاریخهای تحویل قراردادی مستندات بسیار مناسباند. در فرایند ارسال مستندات نقض قید SNLT ممکن است نگرانی چندانی ایجاد نکند. اما عدم رعایت قید FNLT مشکلساز است، زیرا شما متعهد شدهاید مستندات را تا تاریخ مشخصشده تحویل دهید؛ بنابراین، مدیران ساخت باید در تعیین تاریخهای قید FNLT دقت کنند. در نتیجه، قیدهای FNLT برای تعیین تاریخهای تحویل مستندات از قیدهای SNLT مناسبترند.
در ادامه با بررسی یک پروژه نمونه به نحوه اعمال قیود در نرمافزار MSP خواهیم پرداخت:

شکل ۱. نمایش برنامه زمانبندی پروژه نمونه
در شکل ۱، یک برنامهزمانبندی نمونه برای پروژه اجرای سیستم لولهکشی زیرزمینی نشاندادهشده است. در قرارداد این پروژه ذکر شده است که این پروژه باید تا تاریخ ۲۴ ژوئیه ۲۰۱۸ (24-07-2018) تحویل داده شود؛ بنابراین، برنامهزمانبندی به قید FNLT برای رخداد کلیدی پایان پروژه (project closeout milestone) نیاز دارد که تاریخ تعهد تحویل پروژه است.
برای افزودن قید FNLT در جدول فعالیتها، رخداد کلیدی پایان پروژه را تعیین، سپس از تب Task، گروه Properties، آیکون Information انتخاب شود. در کادر Task Information، تب Advanced را انتخاب و از منوی کشویی نوع قید، گزینه Finish No Later Than انتخاب شود (شکل ۲).

شکل ۲. تعیین قید FNLT در نرمافزار
تاریخ قید را روی ۲۴ ژوئیه ۲۰۱۸ تنظیم میشود (شکل ۳).

شکل ۳. تنظیم تاریخ قید FNLT
برنامه زمانبندی پس از اعمال قید تحویل پروژه در تاریخ ۲۴ ژوئیه در شکل ۴ نمایشدادهشده است.

شکل ۴. برنامه زمانبندی با قید FNLT اعمالشده
مشاهده میشود این قید بر تاریخ رخداد کلیدی پایان پروژه (project closeout milestone) اعمال شده و آن را به تاریخ مورد نظر منتقل کرده است اما این قید منطق شبکه را برهم زده است چرا که رخداد کلیدی پایان پروژه رابطه پایانبهشروع (Finish to Start - FS) با فعالیت پیشنیاز خود، یعنی اجرای آسفالت سطح جاده دارد و عملاً پروژه نمیتواند پیش از تکمیل اجرای آسفالت سطح جاده به پایان برسد؛ بنابراین، قید اعمالشده منطق شبکهای را زیر پا میگذارد. برای رفع این مشکل و مشاهده تاثیر قید بدون نقض منطق شبکه، باید به مسیر File | Options > Schedule رفته و در بخش «scheduling options for this project»، گزینه «Tasks will always honor their constraint dates» را غیرفعال کرد (شکل ۵) به این معنی که تاریخ فعالیتها تنها بر اساس قیود تنظیم نشوند و منطق شبکه در اولویت قرار گیرد.

شکل ۵. غیرفعالکردن گزینه رعایت اجباری قیدها
اکنون، با بررسی نمودار گانت (شکل ۶)، تاریخ پایان پروژه بر اساس منطق طبیعی برنامه زمانبندی نمایش داده میشود.

شکل ۶. نمودار گانت با منطق طبیعی برنامه زمانبندی
مطابق شکل 6 مشاهده شد که منطق شبکه بر قید اعمال شده اولویت داده شد و تاریخ پایان بهجای 24 ژوئیه به 27 ژوئیه برگشت. حال ممکن است این سوال پیش بیاید که این حالت چه تفاوتی با حالت عدم اعمال قید در برنامه زمانبندی دارد و اعمال قید چه تفاوتی در برنامه زمانی ایجاد کرده است؟ با توجه به ستون شناوری کل (Float) در شکل 6 میفهمیم که در پروژه شناوری منفی (Negative Float) ایجاد شده که نشان میدهد پروژه سه روز از برنامه عقب است. هنگامی که شناوری کل منفی میشود، به این معناست که زمان موردنیاز برای تکمیل فعالیتها یا کل پروژه از تاریخ مشخص شده فراتر رفته است. در این پروژه، رخداد کلیدی پایان پروژه که به تاریخ قید وابسته است، پس از اعمال منطق زمانبندی و فعالیتهای پیشنیاز محاسبه شده و مشخص شده است که اتمام فعالیتها سه روز دیرتر از تاریخ قید تعیینشده رخ میدهد. این تاخیر باعث ایجاد شناوری کل منفی سهروزه در برنامه شده است، به این معنا که پروژه در حال حاضر نمیتواند در مهلت مقرر به اتمام برسد مگر اینکه اقدامات اصلاحی انجام شود (برای مطالعه بیشتر به مقاله بهروزرسانی برنامه زمانبندی در Microsoft Project مراجعه کنید). برای رفع این مشکل چند انتخاب محدود دارد:
- شروع زودهنگام پروژه
- افزایش منابع و کاهش مدتزمان فعالیتها
- درخواست تاریخ تحویل دیرتر برای پروژه
جمعبندی اعمال محدودیتهای زمانی در نرمافزار MSP
بهترین رویکرد در مدیریت پروژه این است که تاریخهای اتمام فعالیتها بر اساس مدتزمان آنها و منطق شبکه تعیین شوند. بااینحال، گاهی قیدهای خارجی مانند تاریخ تحویل مشخصشده در قرارداد، برنامه زمانبندی را تحتتاثیر قرار میدهند. برای مدلسازی این تاریخها، استفاده از قید Finish No Later Than (FNLT) (عدم پایان دیرتر از تاریخ مشخص) مناسب است تا تاثیر آنها در جدول فعالیتها نمایش داده شود. بااینوجود، باید از نقض منطق شبکهای در نمودار گانت (Gantt Chart) جلوگیری کرد، زیرا این امر میتواند باعث سردرگمی درباره تاریخهای واقعی و قابلدستیابی پروژه شود. برای این منظور، باید گزینه «Tasks will always honor their constraint dates» (فعالیتها همیشه تاریخهای قید خود را رعایت میکنند) را غیرفعال کرد. این کار به مقادیر شناوری کل (total float) اجازه میدهد تا هشدار دهند که پروژه در معرض خطر عدم رعایت مهلتهای زمانی قرار دارد. قیدها باید با احتیاط و تنها برای تاریخهای قراردادی یا قیدهای خارجی به کار روند. همچنین، مستندسازی هر قید برای شفافسازی دلیل و منطق آنها ضروری است (برای آشنایی بیشتر با Microsoft Project به مقاله راهنمای گامبهگام برای کسب بیشترین تخصص در (Microsoft Project - MSP) مراجعه کنید).
در این مقاله به سؤالات زیر پاسخ داده شده است
1. چگونه میتوان محدودیتهای زمانی را در نرم افزار Microsoft Project اعمال کرد؟
2. تفاوت بین قیدهای Finish No Later Than (FNLT) و Start No Later Than (SNLT) چیست و در چه موقعیتهایی هرکدام مناسبتر هستند؟
3. چگونه میتوان از نقض منطق برنامه در هنگام استفاده از قیود جلوگیری کرد؟
جایگاه این مبانی در موسسه ACEMI
باتوجهبه اهمیت نرمافزار Microsoft Project در برنامهریزی، زمانبندی و کنترل پروژه، در نقشه راه مدیریت ساخت موسسه ACEMI، دوره ویدئویی آموزش نرمافزار Microsoft Project در مدیریت پروژه و دوره تقویمی (آنلاین) آموزش جامع Microsoft Project (همراه با پروژه واقعی) در سطح مهارتهای سخت (سطح کارشناسی و اجرایی) ارائه میشود. برای کسب اطلاعات بیشتر درباره دورهها و سرفصلهای ارائه شده ، نحوه و زمان برگزاری میتوانید به تقویم آموزشی در وبسایت موسسه ACEMI مراجعه نمایید.
[1] tensix.com/Microsoft Project and Finish No Later Than Constraints.