آموزش تسطیح منابع در ام اس پی(MSP)
تسطیح منابع در نرم افزار MSP
تسطیح منابع بزرگ ترین محصولی است که در برنامه های دارای منبع در اختیارمان قرار می گیرد. با کمک آن می توانیم نیازی که به منابع داریم را بهینه کنیم، فعالیت ها را به شیوه ای واقع بینانه زمان بندی کنیم و پیش بینی های بیشتری از برنامه دریافت کنیم. اگر در برنامه ای منبع تعریف کنید، ولی هیچگاه منابع را تسطیح نکنید، به احتمال زیاد به این معنی است که منابع صوری و بی دلیل وارد شده اند.
لزوم تسطیح منابع در MSP
در ادامه آموزش تسطیح منابع در ام اس پی تعریف منابع کاربردهای متعددی دارد. یکی از قابلیت هایی که با در اختیار داشتن منابع فراهم می شود، امکان تسطیح است.
وقتی منبعی اضافه تخصیص داشته باشد باید یکی از کارهای زیر را انجام داد:
- افزایش میزان دسترسی منبع: ساده ترین راه این است که منبع مورد نظر را افزایش دهید.
- تغییر تخصیص ها: گاهی می توان به جای یک منبع، منبع دیگری را به فعالیتی اختصاص داد. اگر با این کار حجم کار منبع اول کاهش یابد و در منبع دوم نیز اضافه تخصیص به وجود نیاید، راه مناسبی برای از بین بردن اضافه تخصیص ها خواهد بود. معمولا این کار را در مورد منابع انسانی انجام می دهند.
- اصلا برنامه: می توانید با جابجا کردن فعالیت ها، کاری کنید که فعالیت هایی که منبع مورد نظر را به خود اختصاص داده اند توزیع بهتری داشته باشند و در نتیجه نیاز به منبع در طول زمان خرد شده ،حداکثر نیاز آن به حد موجود برسد. این کار ممکن است مدت زمان پروژه را افزایش دهد.
به راه حل آخر، تسطیح منابع گفته می شود. می توانید این کار را به طور دستی، یا با استفاده از ابزار موجود در Project انجام دهید.
برنامه فرضی شکل زیر را در نظر بگیرید.
نام فعالیت ها در سمت چپ نمودار نوشته شده است. سه فعالیت اول دارای منبع Rs هستند. فرض کنید حداکثر مقدار این منبع ،۳۰۰٪ باشد. در این صورت اگر به Resource Graph بروید، نمودار شکل زیر را خواهید دید.
آموزش مرتبط : آموزش تسطیح منابع در ام اس پی(MSP)
در ادامه آموزش تسطیح منابع در ام اس پی همانطور که در نمودار منبع دیده می شود و از طریق گانت نیز قابل استخراج است، میزان منبع مورد نیاز در روزهای ۳، ۴ و ۵، بیشتر از مقدار تعیین شده است. اگر به نمودار گانت بازگردید، متوجه می شوید که این مسئله به خاطر همپوشانی فعالیت های c و d است. برنامه نشان می دهد که فعالیت d شناوری زیادی دارد، در نتیجه می توانیم آن را به تاخیر بیاندازیم.
در این حالت، منبع تسطیح می شود، بدون این که مشکلی ایجاد شود. در این مثال، از روتین تسطیح منبع Project استفاده شده است. همانطور که دیده می شود ،تسطیح منابع در این حالت مدت زمان پروژه را تغییر نداده است.
شکل زیر برنامه نمونه دیگری را نشان می دهد، که مانند برنامه قبلی است، با این تفاوت که مدت زمان فعالیت های f و g آن کاهش یافته، در نتیجه شناوری فعالیت d از بین رفته است.
در این حالت، تسطیح منابع، از طریق ایجاد تاخیر در شروع فعالیت d، به خاطر شناوری نداشتن فعالیت گفته شده، کل پروژه را به تاخیر می اندازد.
اگر مدت زمانی که به پروژه اضافه شده است قابل پذیرش نباشد، باید با استفاده از راه های دیگر، آن را کاهش دهید.
کاربردهای تسطیح منابع
در ادامه آموزش تسطیح منابع در ام اس پی پس از تعریف فعالیت ها و زمان بندی آن ها، منابع را به طور کامل تعریف کنید تا منابع لازم برای پیش رفتن طبق زمان بندی نتیجه شده به دست آید.
در این حالت ممکن است بتوانید با کمی اصلاح برنامه ریزی، که تاثیر چندانی روی زمان ندارد، نیاز به منابع را کاهش دهید که متناظر با کاهش هزینه هاست. از سوی دیگر، ممکن است نیاز به برخی منابع بیشتر از امکان باشد، که در این صورت می توانید آن ها را تسطیح کرده، تاخیر ایجاد شده را با سایر منابع اصلاح کنید.
به عنوان مثال فرض کنید در حال برنامه ریزی یک پروژه احداث اسکلت بتنی هستید که در آن ۸ نوع قالب مختلف(قالب ستون با قطرهای مختلف، قالب دیوار و قالب سقف) وجود دارد. یکی از کارهایی که می توان در برنامه ریزی انجام داد، این است که میزان قالب های مورد نیاز را تعیین کرد تا مدیریت پروژه آن ها را خریداری کند. در این وضعیت حداقل کردن هزینه قالب ها اهمیت زیادی دارد.
برای این که به بهترین نتیجه دست یابید ،باید آزمایش و خطا کنید. دایما باید حداکثرهای مختلفی برای انواع قالب تعریف کرده، پروژه را تسطیح کنید تا در نهایت با کمترین تعداد قالب به تاریخ پایان مناسب برسید.
کاربرد دیگری که منابع در برنامه ریزی دارند، تعیین سلسله مراتب اجرا است. نازک کاری یک پروژه را در نظر بگیرید. فعالیت های مختلفی مانند گچ و خاک، سفید کاری، زیرسازی رنگ، رنگ آمیزی، فرش کف، زیرسازی سقف کاذب و نصب پنل های سقف کاذب در تمام فضاها تکرار می شوند.
هرکدام از این فعالیت ها با یک یا چند اکیپ انجام می شوند، به این معنی که هر فعالیت در هر زمان فقط در یک یا چند (به تعداد اکیپ ها) فضای فیزیکی در حال انجام است. چنین حالتی را چگونه برنامه ریزی خواهید کرد؟
بسیاری از کاربران برای این حالت از روابط استفاده می کنند؛ گردش کاری در نظر می گیرند، به این صورت که به عنوان مثال نازک کاری از بالاترین طبقه آغاز شده، فضاها را به صورت ساعت گرد از فلان مبدا تکمیل و به پایین حرکت می کند. مشکل بزرگی که وجود دارد، این است که تمام این فعالیت ها با یکدیگر رابطه دارند و کافی است که یکی از آن ها در یکی از فضاها دچار مشکل شود؛
در این حالت تمام فعالیت های دیگرِ برنامه نیز در همان فضا گرفتار می شوند. این در حالی است که در واقعیت، نیروهای اجرایی فضایی که تکمیل نشده است را رها کرده، به فضاهای دیگر می روند.
اعمال این مسئله در برنامه ای که برای سلسله مراتب گفته شده از روابط استفاده کرده باشد، مستلزم بازبینی تمام روابط است، که کار بسیار مشکل و وقت گیری می باشد. علاوه بر آن ،فعالیت های بحرانیِ گزارش شده در چنین برنامه ای نیز قابل استناد نمی باشد.
از سوی دیگر، فرض کنید به خاطر تاخیری که در یکی از فعالیت ها، مانند فرش کف، به وجود آمده است، تعداد اکیپ های کاری آن را افزایش می دهیم تا همزمان در دو فضای فیزیکی کار کنند. اعمال این مسئله به برنامه نیز نیازمند بازبینی تمام روابط است.
تمام مشکلات گفته شده با استفاده از تعریف مناسب منابع و تسطیح آن ها حل می شود. در این حالت بین هیچکدام از فعالیت های هم نوع، رابطه ای ترجیحی تعریف نمی شود (به عنوان مثال، گردش کاری برای سفیدکاری تعریف نمی شود و تنها پیش نیازهای منطقی آن وارد می شوند).
نتیجه این است که تعداد منبع مورد نیاز بیشتر از تعداد اکیپ خواهد بود. وقتی برنامه را تسطیح کنید، اکیپ های موجود بین فضاهای کاری توزیع میشوند. هرگاه فضایی دچار وقفه شود و دوباره برنامه را تسطیح کنید، آن فضا به بعد موکول شده، سایر فضاها در برنامه قرار می گیرند. اگر لازم باشد اکیپی اضافه کنید، حداکثر موجودی منبع را اضافه کرده، آن را تسطیح می کنید تا توزیع جدید مشخص شود.
به برنامه شکل زیر توجه کنید.
فرضِ کنید توالی فعالیت های گروه a مناسب است. فعالیت های a1 تا a7 به ترتیب پیش نیاز b1 تا b7 هستند و توالی به وجود آمده در گروه b در شرایط فعلی، به خاطر همین پیش نیاز است. ولی این توالی مناسب نیست ،زیرا فرض بر این است که یک اکیپ فعالیت های گروه b را اجرا می کند، در حالی که در بسیاری از زمان ها چهار فضا فعال است.
برای فعالیت های گروه b منبعی به نام BR تعریف می کنیم که حداکثر مقدار آن ۱۰۰٪ (یک واحد) است. برنامه پس از تسطیح به صورت شکل زیر خواهد بود.
اکنون فرض کنید قرار است برنامه را تجدید نظر کنیم تا فعالیت های گروه b با دو اکیپ کاری تعریف شوند. باید حداکثر منابع را ۲۰۰٪ تعریف کرده، برنامه را دوباره تسطیح کنیم. نتیجه در شکل زیر دیده می شود.
بر اساس سه اکیپ کاری در شکل زیر نمایش داده شده است.
انجام آزمایش های اینچنینی، با استفاده از تسطیح منابع بسیار ساده است، در حالی که اگر از روابط استفاده کرده باشید، بسیار مشکل خواهد بود.
ابزار تسطیح منابع در ام اس پی
در ادامه مطلب تسطیح منابع در ام اس پی نرم افزار Project قابلیت تسطیح منابع نیز دارد. متاسفانه این قابلیت همیشه کارکرد مناسبی ندارد و در برنامه های پیچیده دچار مشکل می شود. نتایج آن هم به اندازه کافی بهینه نیستند؛ به عنوان مثال برنامه ای که با روتین بهتری تسطیح شده باشد می تواند زمانی کوتاه تر از آنچه Project محاسبه می کند داشته باشد.
در برنامه های پیچیده، روتین تسطیح منابع قادر به رفع تمام اضافه تخصیص ها نیست، در حالی که انتظار می رود روتین تسطیح منابع به قیمت افزایش مدت زمان، هرگونه اضافه تخصیصی را از بین ببرد. به این دلیل، شرکت های مختلف plug-inهایی برای Project نوشته اند که کار تسطیح منابع را به شیوه های بهتر انجام دهد.
تسطیح منابع یک فعالیت
اگر در ستون Indicators فعالیتی علامت وجود داشته باشد، به این معنی است که حداقل یکی از منابعِ آن در مدت زمان فعالیت اضافه تخصیص دارد.
می توانید یک یا چند فعالیت را انتخاب کرده ،Resource| Level| Level Resource را اجرا کنید. با این کار کادر محاوره شکل زیر باز می شود.
منابعی که به فعالیت اختصاص یافته باشند در لیست نمایش داده می شوند و می توانید یک یا چند منبع را از این لیست انتخاب کنید تا تسطیح شوند؛ به طور پیش فرض تمام منابع فعالیت انتخاب شده اند. توجه داشته باشید که منابعی که به فعالیت اختصاص نیافته باشند در این لیست نمایش داده نخواهند شد.
وقتی روی Level Now کلیک کنید، منابعِ انتخاب شده با تنظیم های پیش فرض تسطیح خواهند شد. به این ترتیب باید اضافه تخصیص های منابعی که به فعالیت اختصاص یافته بودند، حداقل در مدت زمان فعالیت، اضافه تخصیص نداشته باشند. با این حال گاهی ممکن است تسطیح موفقیت آمیز نباشد و مقداری از تسطیح باقی بماند. در چنین حالت هایی اگر از ابزار تسطیح کلی استفاده کنید احتمال موفقیت بیشتر خواهد بود.
اگر Resource| Level| Level Resource را به جای نمای گانت در نمای Resource Sheet اجرا کنید، لیست تمام منابع در لیستلیستِ کادر محاوره نمایش داده می شود، ولی به طور پیش فرض منبع یا منابعی که پیش از اجرای دستور انتخاب کرده بودید آماده تسطیح خواهند بود.
تسطیح تمام منابع در MSP
معمولا نیازی نیست که تسطیح را محدود به چند منبع کنید و لازم است که تمام منابع را تسطیح کنید. در این صورت می توانید Resource| Level| Level All را اجرا کنید تا تمام منابع با تنظیم های پیش فرض تسطیح شوند.
حذف اثر تسطیح
هر زمان که لازم باشد می توانید روی Resource| Level| Clear Leveling کلیک کنید تا کادر محاوره شکل زیر باز شود.
اگر Entire project را انتخاب کنید اثر تسطیح در کل برنامه از بینِ می رود و اگر قبلا فعالیت هایی را انتخاب کرده باشید و گزینه Selected tasks را انتخاب کنید، فقط اثر تسطیح همان فعالیت ها از بین خواهد رفت.
تنظیم های تسطیح
برای مشخص کردن تنظیم های تسطیح Resource| Level| Leveling Options را اجرا کنید. با این کار کادر محاوره شکل زیر باز می شود.
تسطیح گزینه های کادر محاوره از این قرارند:
- Automatic / Manual: خودکار یا دستی بودن تسطیح را مشخص می کند. اگر گزینه پیش فرض ،یعنی Manual انتخاب شده باشد، منابع فقط با اجرای دستور تسطیح که در قسمت های قبل توضیح داده شد تسطیح خواهند شد. اگر گزینه Automatic انتخاب شده باشد، منابع دایما به طور خودکار تسطیح می شوند. در این حالت با هر تغییر در برنامه، همراه با محاسبه زمان بندی، محاسبات تسطیح نیز انجام می شوند. با توجه به این که تسطیح منابع کار سنگینی است، گزینه خودکار در اکثر شرایط قابل استفاده نیست و برنامه را بیش از اندازه سنگین می کند. از سوی دیگر، خودکار بودن تسطیح تا حدی کنترل برنامه ریز را بر برنامه کاهش می دهد. به همین خاطر تنها در شرایط خاص از این گزینه استفاده می شود.
- Look for overallocations on a: این کادر بازشو، دوره ای را که برای کنترل اضافه تخصیص ها به کار می رود مشخص می کند. این دوره می تواند دقیقه، ساعت، روز، هفته یا ماه باشد. مقدار پیش فرض ،که در اکثر موارد بهترین انتخاب است، روز است. وقتی یک دوره زمانی را انتخاب کرده باشید، اضافه تخصیص های دوره های کوتاه تر از آن تسطیح نخواهند شد. به عنوان مثال اگر روز را انتخاب کرده باشید و مجموع تخصیص های یک روز بیشتر از حداکثر نباشد، تسطیح نمی شود، در حالی که ممکن است در بعضی ساعت های روز اضافه تخصیص وجود داشته باشد. در واقع فرض بر این است که برنامه زمان بندی نگاهی کلی به پروژه دارد و مسایلی که از حدی ریزتر باشند، خارج از برنامه توسط عوامل اجرایی حل خواهند شد. اختلاف برنامه با واقعیت معمولا آنقدر زیاد هست که تسطیح ساعت به ساعت معنای چندانی نداشته باشد.
- Clear leveling values before leveling: اگر فعال باشد، پیش از تسطیح منابع، نتایج تسطیح قبلی پاک خواهند شد. معمولا از این گزینه استفاده می کنند تا برخی انحراف های احتمالی روی هم انباشته نشوند.
- Leveling range: اگر گزینه Level entire project را انتخاب کنید، کل برنامه تسطیح می شود. اگر مایل باشید تنها دوره زمانی خاصی را تسطیح کنید، باید از گزینه دوم استفاده کرده، شروع و پایان دوره ای که قرار است تسطیح شود را مشخص کنید. معمولا در زمان تسطیح کل برنامه را تسطیح می کنند تا تاریخ پایان هم مشخص شود.
- Leveling order: در این کادر بازشو سه گزینه زیر وجود دارد که تا حدی توالی تسطیح را مشخص می کنند:
- ID Only: فعالیت هایی که ID کوچکتری داشته باشند، بعد از تسطیح به احتمال زیاد زودتر از فعالیت های مشابهی که ID بزرگتر دارند برنامه ریزی خواهند شد.
- Standard: فعالیت ها را بر اساس شناوری، تاریخ پایان، اولویت و سایر قیدها تسطیح می کند. به عنوان مثال ابتدا شناوری ها کنترل می شوند، هرچه شناوری فعالیتی بیشتر باشد ،احتمال به تاخیر افتادن آن بر اثر تسطیح بیشتر خواهد بود. این گزینه معمولا بهترین انتخاب است.
- Priority, Standard: مانند Standard است، با این تفاوت که اولویت فعالیت ها که در فیلد Priority تعیین می شود، اولین عامل تعیین کننده خواهد بود. اگر در شرایطی لازم باشد که بر ترتیب فعالیت ها کنترل بیشتری داشته باشید، باید از این گزینه استفاده کنید. پیش از تسطیحِ منابع با این گزینه، باید فیلد Priority را به جدول اضافه کرده، اولویت ها را وارد کنید.
- Level only within available slack: اگر این گزینه فعال باشد، فعالیت ها حداکثر به اندازه شناوری هایشان به تاخیر خواهند افتاد. در نتیجه تاریخ پایان پروژه تغییر نمی کند. با این حال، این قید باعث می شود که اکثر اضافه تخصیص ها تسطیح نشوند. این گزینه به طور پیش فرض غیر فعال است.
- Leveling can adjust individual assignments on a task: اگر فعال نباشد، با تمام منابعِ هر فعالیت به طور یکسان برخورد می شود. در نتیجه اگر یکی از آن ها اضافه تخصیص داشته باشد و لازم باشد که به عنوان مثال فعالیت شکسته شود، تخصیص سایر منابع نیز همراه با آن شکسته خواهد شد .اگر فعال باشد، با منابع هر فعالیت به طور جداگانه برخورد خواهد شد. اگر قصد دارید از گزینه فعال استفاده کنید، می توانید فیلد Level Assignment را به جدول فعالیت ها اضافه کنید و مقدار آن را در فعالیت هایی که قصد دارید با تمام تخصیص هایشان یکسان برخورد شود Yes کنید. این گزینه برای فعالیت های Fixed Duration قابل استفاده نیست.
- Leveling can create splits in remaining work: اگر فعال باشد، ممکن است برخی فعالیت ها شکسته شوند، به این معنی که قسمتی از مدت زمان فعالیت طی شود، برای مدتی فعالیت آن قطع شود و دوباره ادامه پیدا کند. معمولا برنامه ریزها برای جلوگیری از افزایش پیچیدگی برنامه، از این گزینه استفاده نمی کنند.
- Level resources with the proposed booking type: یک روش پیشرفته برای برنامه ریزی منابع ، این است که ابتدا آن ها را به طور موقتی به فعالیت ها اختصاص می دهند تا برنامه ریزی مشخص شود و بعد از آن تخصیص را قطعی می کنند. این کار زمانی کاربرد دارد که برنامه ریزی به صورت سازمانی (enterprise) انجام شود و منابع از بانک منابع سازمان که در اختیار تمام برنامه ها هست تهیه شوند .در این حالت وقتی منبع به طور موقتی اختصاص می یابد، از دسترس سایر برنامه ها خارج نمی شود، در حالی که اگر اختصاص را قطعی کنید، سایر برنامه ها قادر به استفاده از آن نخواهند بود. این گزینه مشخص می کند که اینگونه منابع نیز تسطیح شوند یا خیر.
فیلدهای مربوط به تسطیح
در ادامه مطلب تسطیح منابع در ام اس پی علاوه بر تنظیم های کادر محاوره Resource Leveling، برخی تنظیم ها یا مقدارهای اطلاع رسانِ دیگر نیز وجود دارند، که از این قرارند:
- فیلد Priority: یکی از فاکتورهایی که می تواند روی تسطیح اثر داشته باشد، اولویت فعالیت هاست که در فیلد Priority تعیین می شود. اگر مایل باشید که ترتیب فعالیت ها را در تسطیح تحت تاثیر بگذارید، می توانید از این فیلد استفاده کنید. هرچه اهمیت فعالیتی بیشتر باشد و به عبارت دیگر ترجیح دهید که زودتر آغاز شود و بر اثر تسطیح کمتر به تاخیر افتد، باید به آن مقدار اولویت بیشتری بدهید. اگر مقدار اولویت فعالیتی برابر با ۱۰۰۰ باشد، تسطیح نخواهد شد.
- فیلد Can Level: اگر لازم است که منبع خاصی تسطیح نشود، به فیلد Can Level آن مقدار No بدهید. در این حالت اگر دستور Level All را هم اجرا کنید، منجر به تسطیح منبع نخواهد شد.
- فیلد Level Assignments: اگر لازم است که تخصیص های فعالیتی تسطیح نشوند، به فیلد Assignments Level آن مقدار No دهید.
- فیلد Leveling Can Split: ممکن است ترجیح دهید که تسطیح منابع در برخی از فعالیت ها شکست (Split) ایجاد نکند؛ در این حالت می توانید به فیلد Leveling Can Split آن فعالیت ها مقدار No دهید.
- فیلدهای Preleveled Start و Preleveled Finish: این دو فیلد، تاریخ های شروع و پایانِ پیش از تسطیحِ فعالیت را نشان می دهند. بهترین راه برای کنترلِ این که تسطیح منابع روی فعالیت تاثیر گذاشته است یا نه، مقایسه این دو فیلد با Start و Finish است.
- فیلد Leveling Delay: همانطور که توضیح داده شد، تسطیح منابع برخی از فعالیت ها را به تاخیر می اندازد. اطلاعات تاخیرهای گفته شده، در فیلد Leveling Delay ذخیره می شوند. اگر مایل باشید می توانید فیلد گفته شده را ویرایش کنید تا تاثیر تسطیح تغییر کند. علاوه بر آن، اگر مایل باشید که تسطیح منابع را به طور دستی انجام دهید، بهترین انتخاب این است که از این فیلد استفاده کنید.
امیدواریم از این مطلب در سایت صنایع سافت که درباره آموزش تسطیح منابع در ام اس پی بود، لذت برده باشید. هر سوال و نظری دارید برای ما کامنت بذارید، کمتر از یک روز پاسخ داده میشه 😉