زمان بندی مبتنی بر منابع
منظورم اینه که منابع روی زمان بندی تاثیر بذارن. من یه طرفدار شدید این شیوه برنامهریزیم. تو این روش فقط روابط اجتناب ناپذیر توی برنامه تعریف میشن (مثلا گچ و خاک بعد از سفت کاری باید انجام بشه، چون سفت کاری اگه نشده باشه چیزی نیست که روش گچ و خاک بشه)، و روابطی که نشون دهنده سلسله مراتب کاری باشن، وارد نمیشن (مثلا گچ و خاک این طبقه بعد از طبقه بالا یا پایینش). در عوض منابعی قابل تسطیح برای فعالیتهای مشابه تعریف میشه و در صورت لزوم اولویتهای اونها هم مشخص میشه و بعد از اینکه منابع رو تسطیح کنیم، سلسله مراتبی که لازم داشتم به وجود میاد.
امتیاز بزرگ این روش اینه که برنامه خیلی انعطاف پذیر میشه. مثلا خیلی راحت میشه تعداد اکیپها رو کم و زیاد کرد و برنامه را تسطیح کرد تا تاثیرش رو دید؛ در حالی که تغییر تعداد اکیپ تو حالتی که از روابط برای پیاده کردن اونها استفاده شده باشه یه فاجعه تمام عیاره.
با وجود تمام امتیازهای این روش که واقعا الان وقتش رو ندارم که بیشتر از این بنویسم چون همین الان باید برگردم سر برنامهای که دارم تهیه میکنم که فردا تموم شده باشه، یه نقطه ضعف خیلی بزرگ هم وجود داره:
تو این حالت برنامهریزی، هیچ راهی برای پیدا کردن عناصری که به زمانبندی حاکم شدن وجود نداره. مثلا وقتی از روابط استفاده شده باشه، یه مسیر بحرانی هست که آدم با اون میتونه زمان رو کم و زیاد کنه. تو این حالت چنین چیزی نیست. من الان یه برنامه دارم که 30 تا گروه کاری داره. هر گروه کاری یه تاریخ شروع کار تو پروژه داره و یه تعداد اکیپ، که برای جلوگیری از پیچیدگی هرچه بیشتر برنامه تعداد اکیپ رو هم در طول زمان ثابت گرفتم. من الان مدت پروژم مطابق قرارداد نیست، و بیشتر از یه ساعته که دارم با اون 60 تا پارامتری که گفتم بازی میکنم که زمانم درست بشه، ولی یا کمتر میشه، یا بیشتر…
پ.ن. وقتی دارین به وضعیتی که توش گیر کردم فکر میکنین این رو هم به تصورهاتون اضافه کنین که هر بار تغییر دادن پارامترها بعد از تسطیح منابع خودش رو نشون میده و تسطیح منابع یه برنامه چند هزار آیتمی که منبع هم زیاد داره، واقعا زمان زیادی لازم داره. اگه من یه روزی لپتاپم رو آپدیت کنم، بزرگترین دلیلش همین تسطیح منابعه.