انتخاب نوع رابطه در زمان بندی
چهار نوع رابطه برای زمانبندی وجود داره و اکثر برنامهریزها آزادانه از این چهار نوع استفاده میکنن (اشتباه!).
خیلی وقت پیش، وقتی که قرار بود برای یه طرح شیوهنامه برنامهریزی تهیه کنم، یکی از بندهایی که گذاشتم این بود که برنامهریز باید سعی کنه اکثر روابطش رو با FS پیادهسازی کنه. این رو به این خاطر گفته بودم که به تجربه بهم ثابت شده بود که بقیه روابط شبکه رو ضعیف میکنن و نتایجی که تو این حالت از برنامه میگیریم کیفیت مناسب ندارن.
مدتی بعد که مشغول خوندن استانداردها شدم، دیدم که PMBOK، استاندارد زمانبندی PMI و PRINCE2 همگی تاکید میکنن که باید تا جای ممکن از FS استفاده کرد. این ماجرا رویکرد من رو به این ماجرا تاکید کرد.
مدتها بعد از اون گهگاه به این ماجرا فکر میکردم و تحلیلش میکردم، تا جایی که وقتی داشتم یه منبع آموزشی برای پراجکت تهیه میکردم، توش از طرف خودم توصیه کردم که سعی کنن بیشتر از ۹۰ درصد روابط رو با FS بسازن، چون تا اون موقع به این نتیجه رسیده بودم که استفاده از سایر روابط معمولا توجیه اصولی نداره و صرفا ناشی از اشتباه برداشته.
نکته جالب اینه که مدتی بعد یکی از دستورالعملهای وزارت دفاع آمریکا رو میخوندم که به پیمانکارانشون ابلاغ میشه. جایی تو اون دستورالعمل گفته بود که اگه تعداد روابط FS یه برنامهای کمتر از ۹۰ درصد باشه، اون برنامه از نظرشون مردوده.
با این حساب الان خیلی در مورد این رویکرد جدیتر از قبل هستم. حالا از شما میخوام که چند سناریو تو ذهنتون بیارین که توش از رابطهای غیر از FS استفاده میکنین. حالا ماجرا رو تحلیل کنین و به این دو سوال جواب بدین:
- اون رابطه رو چطوری میشه FS پیادهسازی کرد؟
- به لحاظ مفهومی و عملکردی رابطه FS تو اون شرایط مناسبتره یا رابطهای که قبلا انتخاب کرده بودین؟
میتونیم یه سناریوی رایج رو برای SS با هم مرور کنیم. این رایجترین چیزیه که من تا حالا دیدم.
فعالیت S1 دوازدهتا پیشنیاز داره؛ فعالیتهای P1 تا P12. برای اونها دوازدهها رابطه FS میسازین.
فعالیت S2 همزمان با S1 شروع میشه. بین اونها یه رابطه SS میسازین.
به نظرتون این کار درسته؟
برای جواب دادن به این ماجرا باید به این سوال جواب بدیم که اگه S1 شروع نشده باشه، S2 رو هم نمیشه شروع کرد؟
معمولا جواب به این سوال منفیه. وقتی میگن که S2 همزمان با S1 شروع میشه معمولا منظورشون اینه که پیشنیازهای مشابهی دارن. در نتیجه رابطه صحیح برای S2 هیچوقت S1.SS نیست، بلکه باید دوازده رابطه FS بین اون و P1 تا P12 بسازین. در غیر این صورت عملکرد برنامه صحیح نخواهد بود.
برنامهریزها خیلی وقتها از این نوع SSها برای ساده کردن روابط استفاده میکنن و عملا برنامه رو ضعیف میکنن. مثلا اگه دهتا فعالیت با اسمهای S1 تا S10 داشته باشیم که هرکدوم دوازدهتا پیشنیاز P1 تا P12 داشته باشن و بخوایم روابط رو FS پیادهسازی کنیم، باید به اندازه حاصلضرب ۱۰ در ۱۲، یعنی ۱۲۰ رابطه تعریف کنیم. این در حالیه که اگه روابط رو برای اولی تعریف کنیم و بقیه Sها رو باهاش SS کنیم، تعداد روابط ۲۱ خواهد بود، که به مراتب کمتره. میدونیم که تو این حالت شبکه رو خراب کردیم، ولی آیا واقعا لازمه که این همه رابطه تعریف کنیم؟
نه. میتونین یه مایلستون بسازین و دوازدهها پیشنیاز رو به اون بدین، بعد اون رو پیشنیاز Sها بکنین. به این ترتیب به جای ۱۲۰ رابطه فقط ۲۲ رابطه ایجاد میکنین و این واقعا از ۲۱ رابطه خیلی بیشتر نیست. در عوض برنامه سالمتری هم به وجود آوردین.
این ماجرا یه جنبه دیگه هم داره. تو این حالت واقعا تموم شدن P1 تا P12 که انقدر زیاد قراره استفاده بشه یه رویداد مهم به شمار میاد، پس نه تنها بد نیست که براش مایلستون تعریف کنیم، که خیلی هم مفید و معنیدار خواهد بود.
پس تو سناریوی قبلی نیازی نیست که به جای FS از SS استفاده کنیم. حالا یه سناریوی دیگه که اون هم رایجه.
فعالیت S با فعالیت P همپوشانی ۵۰ درصد داره.
خیلیها این رابطه رو SS+50% تعریف میکنن. آیا این درسته؟
تو این حالت اگه P شروع بشه و بلافاصله متوقف بشه یا مشخص بشه که مدت زمان لازم برای اون مثلا ۵ برابر برآورد اولیهس، S باز هم تو تاریخ قدیمی شروع میشه، چون فقط با شروع P ارتباط داره.
رابطه صحیح تو چنین مواردی، FS-50% هست، که مشکلات رابطه قبلی رو نداره.
پس، این توصیه رو همیشه در نظر داشته باشین که باید بیشتر از ۹۰ درصد فعالیتهای برنامهتون از نوع FS باشن.