پروفایل برنامه ریزی و کنترل پروژه

نادر خرمی راد

کتاب ارزیابی عملکرد زمانی پروژه ها چاپ شد

کتاب ارزیابی عملکرد زمانی پروژه‌ها با مدیریت ارزش کسب شده چاپ شد.

 

image

 

این کتاب ارزیابی عملکرد زمانی تو تحلیل ارزش کسب شده و سیستم‌های جدیدتر، از جمله تحلیل زمان کسب شده رو به شکل خیلی جالبی توضیح می‌ده. عملا هدف کتاب اینه که بگه عملکرد هر نوع پروژه‌ای رو بهتره که با چه روشی ارزیابی و کنترل کرد و به نظر من برای کسایی که کارشون برنامه‌ریزی و کنترل پروژه‌س خیلی مفیده.

 

تو قسمت آموزش تحلیل زمان کسب شده سایت فهرست مطالب این کتاب هم وجود داره.

کسانی که بخوان کتاب رو آنلاین سفارش بدن، می‌تونن به سایت ناشر مراجعه کنن.

نوشته نادر خرمی راد (Nader Khorrami Rad)

در باب اهمیت شاخص های زمانی

واقعیت اینه که معمولا برای ارائه وضعیت پروژه از شاخص‌های اصطلاحا حجمی، فیزیکی یا چیزهایی از اون دست استفاده می‌شه و مدیران هم روی همین شاخص‌ها تاکید دارن. مثلا می‌گن:

پیشرفت واقعی الان 40٪ هست، در حالی که مقدار برنامه‌ریزی شده‌ش 55٪ بوده.

 

به نظر شما یه همچنین چیزی تو ذهن مخاطب چطوری تعبیر می‌شه؟

عملا همه به این فکر می‌کنن که به اندازه حاصل تقسیم این دوتا، یعنی حدود 70٪ از کارهای برنامه‌ریزی شده رو انجام دادیم و مثلا اگه اینطور پیش بره مدت پروژه‌مون 30٪ (یا درست‌ترش 37٪) طولانی‌تر از اون چیزی می‌شه که باید بشه. پس اوضاع بده!

از طرف دیگه، با خودشون فکر می‌کنن که 40٪ کار انجام شده، یعنی یه چیزی بیشتر از یک سوم کار. مثلا این همه زحمتی که کشیدیم تازه شده یک سوم کار و حدودا باید دو برابر این مقدار جلسه بیایم و نامه‌نگاری کنیم و پول خرج کنیم و حرص بخوریم تا کار تموم بشه.

فرقی نمی‌کنه که چه شاخص‌هایی ارائه کنین، در نهایت دو تصویر در ذهن اکثر مخاطب‌ها شکل می‌گیره:

  1. وضعیت زمانی پروژه چطوریه و به طور خلاصه، پروژه چقدر دیرتر از اون زمانی که قرار بوده تموم بشه تموم می‌شه.
  2. الان چقدر از کار انجام شده و برای تموم شدنش باید چقدر دیگه زحمت بکشیم.

 

ولی مسئله اینه که هردو تصویر تعبیرهایی زمانی هستن، حتی اگه در ظاهر خلاف این باشن. پس چرا خودمون از اول شاخص‌های زمانی رو ارائه نکنیم؟ مثلا به جای جمله‌ای که اون بالا گفتم، بگیم:

تا الان 400 روز از پروژه گذشته و کاری که انجام شده به اندازه چیزیه که برای 320 روز برنامه‌ریزی شده بوده.

و می‌تونیم اینطوری کاملش کنیم که: … و اگه پروژه به همین ترتیب پیش بره احتمالا با 90 روز تاخیر تموم می‌شه.

 

این شاخص‌ها در ابتدا یه کم به نظر پیچیده‌تر میان، ولی اگه با چنتا نمودار خوب ارائه بشن و توضیح‌های کافی هم بهشون اضافه بشه، عملا نتیجه خیلی بهتری می‌دن.

دلتون می‌خواد بدونین که خود من چیکار می‌کنم؟

خود من شاخص‌های زمانی رو ارائه می‌کنم و تاکیدم هم روی اونه، ولی به هر حال برای این‌که کسی نگران نشه، در آخر شاخص‌های حجمی رو هم ارائه می‌کنم.

 

فواید این کار در اینه:

مقدارها خیلی دقیق‌تر هستن. وقتی مخاطب مقدارهای حجمی رو به زمانی تبدیل می‌کنه، هیچوقت تبدیل رو به شیوه مناسب انجام نمی‌ده و نتیجه دقیق یا درست نیست. مثلا فرض کنین پیشرفت برنامه‌ریزی شده دوره قبل 40٪ و این دوره 60٪ بوده (پروژه تو این دوره خیلی سرعت گرفته). حالا اگه پیشرفت ما بعد از گذشت 600 روز به 40٪ رسیده باشه، وضعیت از نظر زمانی چطوریه؟ خیلی‌ها احساس می‌کنن که به اندازه 200 روز عقبیم، ولی واقعیت اینه که به اندازه 30 روز عقبیم.

اگه دوست داشتین در مورد شاخص‌های زمانی بیشتر بدونین، به قسمت آموزش تحلیل زمان کسب شده مراجعه کنین.

در ضمن این رو هم بگم: چیزی که بهش می‌گن پیشرفت زمانی، یعنی پیشرفتی که ضرایب وزنیش مدت زمانه، در حالت کلی هیچ تعبیری نداره و به هیچ وجه نباید استفاده بشه.

نوشته نادر خرمی راد (Nader Khorrami Rad)

نسخه جدید برنامه محاسبه ارزش کسب شده در پراجکت

یکی از خوانندگان، به نام آقای محمد قلمکاری، حالتی رو پیدا کردن که توش فایلی که برای محاسبه زمان کسب شده در پراجکت تهیه کرده بودم صحیح کار نمی‌کرد و لطف کردن اون رو برای من فرستادن.

مشکل از اینجا بود که حلقه‌ای BCWP و BCWS رو تو دوره‌های یک دقیقه‌ای از ابتدای بیس‌لاین تا انتهای بیس‌لاین مقایسه می‌کرد و چون مدت برنامه زیاد بود، overflow می‌کرد و در نتیجه ES از حدی بالاتر نمی‌رفت.

تازه الان متوجه این مسئله شدم که هیچ دلیلی نداره که این دوتا رو با دقت دقیقه با هم مقایسه کنیم و ساعت کاملا براش کافیه. دوره حلقه رو به ساعت تبدیل کردم و مشکل برطرف شد. سرعت اجرای برنامه هم به مراتب بیشتر شد.

هر دو فایل تو آدرس قبلی در قسمت آموزش تحلیل زمان کسب شده هستن و می‌تونین دریافتشون کنین.

نوشته نادر خرمی راد (Nader Khorrami Rad)

آموزش تحلیل زمان کسب شده

قسمت جدیدی برای آموزش تحلیل زمان کسب شده به سایت اضافه کردم؛ امیدوارم به دردتون بخوره.

تحلیل زمان کسب شده روشیه برای ارزیابی عملکرد زمانی پروژه و پیش‌بینی تاریخ پایانش. تو کار برنامه‌ریزی و کنترل پروژه ما، که بیشتر از هر چیز به زمان توجه می‌کنیم، خیلی کاربرد داره.

نوشته نادر خرمی راد (Nader Khorrami Rad)

نسخه جدید ابزارهای زمان کسب شده

ابزارهایی که برای تحلیل زمان کسب شده تهیه کرده بودم رو یه مقدار اصلاح کردم. فایل جدید با همون آدرس قبلی قابل دریافته.

تو این ویرایش دوتا تغییر دادم:

  1. تو تمام فرمول‌هایی که می‌خواستن مقدارها رو بر اساس تقویم‌ها حساب کنن شرطی گذشته بودم که اگه فعالیت تقویم داره با همون تقویم و در غیر اون صورت با تقویم پروژه محاسبه بشه. با این حال جایی که باید پارامتر تقویم پروژه رو وارد می‌کردم تهی رها کرده بودم. نمی‌دونم وقتی اون پارامتر تهی باشه دقیقا چه اتفاقی می‌افته (تو اجرای برنامه اتفاقای عجیبی ندیده بودم)، ولی به هر حال درستش کردم.
  2. شاخص EACtV که اختلاف تاریخ‌های پایان رو نشون می‌داد قبلا تفاضل Finish و EACt بود؛ ولی بعد دیدم انتخاب خوبی نیست. برای این کار تفاضل Baseline Finish و EACt خیلی معنی‌دارتره. این مورد رو هم عوض کردم.

 

خیلی دلم می‌خواست که کدهای اون برنامه خودکار اجرا بشن و لازم نباشه که کاربر هر دفعه کد رو اجرا کنه، چون ممکنه آدم گاهی یادش بره و اطلاعات رو اشتباه برداشت کنه. از طرف دیگه اطلاعات ارزش کسب شده و زمان کسب شده در سطوح بالای پروژه معنی دارن و معمولا برای کل پروژه به کار می‌رن؛ برای محاسبه‌شون هم هیچ روند جز به کلی وجود نداره. به همین خاطر یه برنامه دیگه مشابه قبلی نوشتم که مقادیر رو فقط برای خلاصه فعالیت پروژه حساب می‌کنه. این برنامه خیلی سبک شده و در نتیجه تونستم اجراش رو ببندم به  رویداد “تغییر”. در نتیجه دیگه نیازی نیست که کاربر روتین رو اجرا کنه و هروقت که برنامه تغییری کنه، مقدارهای ارزش کسب شده مثل تمام مقدارهای دیگه خود به خود آپدیت می‌شن.

برنامه جدید رو می‌تونین از این آدرس دریافت کنین. برای استفاده این مسایل رو در نظر داشته باشین:

  1. حتما اجرای ماکروها رو تو تنظیم‌های پراجکت فعال کنین.
  2. انتظار نداشته باشین که جز خلاصه فعالیت پروژه تو جای دیگه‌ای مقدار بگیرین؛ پس اگه خلاصه فعالیت پروژه نمایش داده نشده، باید نمایشش بدین.
  3. برای برنامه قبلی توضیح دادم که چطوری می‌تونین ابزارها رو از این فایل به فایل‌های دیگه منتقل کنین و فکر می‌کنم راه ساده و خوبی بود. ولی متاسفانه با فایل جدید نمی‌تونین این کار رو کنین، چون کدهای وابسته به رویداد رو تا جایی که می‌دونم نمی‌شه تو ماژول نوشت و در نتیجه با Organizer منتقل نمی‌شن؛ راه حل جانشینی هم براش سراغ ندارم.

 

اگه اشکالی تو برنامه دیدین یا پیشنهادی داشتین به من خبر بدین.

نوشته نادر خرمی راد (Nader Khorrami Rad)

ابزارهای زمان کسب شده برای پراجکت

مجموعه‌ای از ابزارهای زمان کسب شده برای پراجکت تهیه کردم که تو این مطلب معرفی و ارائه می‌کنمش. مهم‌ترین خروجی این ابزارها تاریخ پایان تخمینی پروژه‌س.

برای شروع کار این فایل رو دانلود کنین. برای استفاده از فایل دو راه پیشنهاد می‌کنم:

  1. برنامه رو توی همین فایل وارد کنین. همین الان تو فایل یه برنامه نمونه هست که می‌تونین باهاش عملکرد رو آزمایش کنین.
  2. این فایل و فایل برنامه مقصد رو تو پراجکت باز کنین، برین تو Organizer و این عناصر رو از این فایل به فایل مقصد کپی کنین: نمای ES Gantt، جدول ES Table، ماژول ESm و تمام فیلدهای اختصاصی شده فایل مبدا.

 

قطعا شرط استفاده اینه که فیلدهایی که قراره کپی بشن از قبل تو برنامه‌تون استفاده نشده باشن.

برای این‌که از برنامه استفاده کنین یه سری پیش‌فرض‌های دیگه هم هست:

  1. اجرای ماکروها رو تو تنظیم‌های پراجکت فعال کرده باشین.
  2. برنامه رو طوری تنظیم کرده باشین که با تحلیل ارزش کسب شده ارزیابی بشه؛ یعنی هزینه‌ها (یا ضرایب وزنی فیزیکی) رو با Fixed Cost یا هزینه منابع تعریف کرده باشین و بیس‌لاین هم ذخیره کرده باشین.

 

فعلا پیش‌نیاز دیگه‌ای به نظرم نمی‌رسه. اگه کارهای قبلی رو انجام داده باشین می‌تونین از ابزارها استفاده کنین. برای سادگی نمای ES Gantt رو باز کنین. این نما فیلدهایی که لازم دارین رو بهتون نشون می‌ده و گانت رو هم طوری تنظیم کرده که اطلاعات رو بهتر نشون بده. حالا باید Alt+F8 رو بزنین و روتین ES_Calc رو اجرا کنین. بعد از هر بار که تغییری تو برنامه بدین باید دوباره این روتین رو اجرا کنین تا فیلدهای زمان کسب شده مقدارهای درست رو نشون بدن.

اگه تعداد فعالیت‌ها و مدت زمان پروژه زیاد باشه، اجرای برنامه خیلی طولانی می‌شه. خونسردی خودتون رو حفظ کنین، برین یه کم تو اینترنت بچرخین و بعد برگردین سراغ نتایج!

 

خروجی‌هایی که می‌گیرین این‌ها هستن (مهم‌ها رو نارنجی کردم):

  • AT: زمانی که در عمل سپری شده
  • ES: زمانی که کسب شده
  • SPIt: شاخص عملکرد زمانی (حاصل تقسیم ES به AT) که نشون می‌ده چه مقدار از زمانی که سپری شده استفاده کردین. مقدار یک یعنی از تمام اون زمان مطابق برنامه استفاده کردین و مثلا 0.5 یعنی این‌که کاری که کردین مثل این میمونه که از نصف زمان استفاده کرده باشین.
  • EACt: تاریخ پایان تخمینی پروژه. این فیلد می‌گه که اگه با همون روندی که از زمان شروع پروژه تا حالا کار کردین کار رو ادامه بدین چه تاریخی تموم می‌شه.
  • EACtV: نشون می‌ده که آیتم احتمالا چقدر دیرتر از برنامه‌ریزی تموم می‌شه.
  • p-factor: تبعیت اجرا از زمان‌بندی رو نشون می‌ده. نکته مهمش در اینه که هرچقدر p-factor بالاتر باشه دقت تاریخ پایان پیش‌بینی شده از نظر آماری بالاتر خواهد بود.
  • EVp: نشون می‌ده که چه مقدار از ارزش کسب شده در تبعیت از زمان‌بندی کسب شده.

 

تمام محاسبات با در نظر گرفتن تقویم‌ها انجام شدن و اگه فعالیت‌های مختلف تقویم‌های یکسانی نداشته باشن مشکلی پیش نمیاد. مسئله‌ای که مشکل ایجاد می‌کنه اینه که منابع تقویمی داشته باشن که ساعت‌های کاری تقویم فعالیت زیرمجموعه اون نباشه. اگه فعالیت‌ها شکستگی داشته باشن هم دقت محاسبات تو سطوح پایین افت می‌کنه (تو سطوح بالا مشکلی پیدا نمی‌کنه).

 

کلا هم تمام این محاسبات تو سطوح بالا و به خصوص کل پروژه دقت بالاتری دارن. حتی معمولا توصیه می‌کنن که از این مقادیر فقط برای کل پروژه استفاده بشه. در نتیجه اگه در سطح فعالیت‌ها نکات عجیبی دیدین تعجب نکنین.

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

 

دیگه بگم که… خیلی ممنون از همه کسانی که تو نظرسنجی کتاب تحلیل ارزش کسب شده شرکت کردن، مثل معمول نظرهاتون به من کمک کرد. اکثرا نظرشون این بود که به جای نرم‌افزار ProTrack پراجکت رو توضیح بدم و من هم در نهایت همین گزینه رو انتخاب کردم. برنامه‌ای که می‌بینین همونیه که برای این کتاب نوشتم. بنا بر این اگه مشکلی تو برنامه دیدین ممنون می‌شم که به من اطلاع بدین.

برنامه در حالت ساده کاملا درست کار می‌کنه و تنها چیزی که باید کنترل بشه تو ترکیب‌های پیچیده‌س. من خودم سناریوهای خیلی زیادی رو که فکر می‌کردم مشکل ایجاد می‌کنن تست کردم و تو خیلی‌هاشون هم مشکلاتی خودنمایی کردن و اون مشکلات رو حل کردم؛ می‌مونه سناریوهایی که به نظر من نرسیده!

 

در ضمن، کتاب هم تموم شد. البته یکی دو هفته دیگه زمان لازم دارم، چون می‌خوام یه بار کامل مرورش کنم و بعضی جاها توضیحاتی اضافه کنم. توضیحات کتاب اصلی به نظرم یه مقدار کمه و اگه بیشتر بشه برای خواننده جالب‌تر خواهد بود.

نوشته نادر خرمی راد (Nader Khorrami Rad)

درخواست اطلاعات برای یک کار تحقیقی

من می‌خوام تحقیقی در مورد روش‌های پیش‌بینی تاریخ پایان پروژه انجام بدم. البته همچین تحقیق‌هایی زیاد تو دنیا انجام شده، ولی به نظر من پیش‌فرض‌های اون‌ها با مال ما فرق داره. معمولا انحراف‌ها تو پروژه‌های ایرانی خیلی بیشتر از چیزیه که تو مدل‌سازی‌ها و پروژه‌های نمونه اون‌ها وجود داره و می‌خوام بدونم این مسئله چقدر روی جواب‌ها تاثیر می‌ذاره. حدس من اینه که دقت پیش‌بینی تو پروژه‌های ما به دلایلی که گفتم، بالاتر خواهد بود! حالا باید ببینیم.

در هر حال. دلم می‌خواد این کار رو روی تعداد زیادی پروژه‌های واقعی که تموم شدن انجام بدم، بیشتر از اون چیزی که تو دیتابیس خودم دارم. به همین خاطر درخواستم اینه که اگه چنین اطلاعاتی دارین در اختیار من بذارین. چیزی که من لازم دارم اینه:

 

  1. پیشرفت برنامه‌ریزی شده اولیه، از ابتدا تا انتها و بر اساس حداقل 10 دوره کنترلی. این مقدار باید بر اساس زمان‌بندی اولیه (پیش از ثبت مقادیر واقعی) و به عبارت دیگه بر اساس بیس‌لاین به دست اومده باشه.
  2. پیشرفت واقعی دوره‌ها، از ابتدا تا انتهای پروژه.
  3. مبنای تعیین ضرایب وزنی پروژه.

 

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

قطعا نتیجه این بررسی در اختیار همه قرار می‌گیره.

 

چیزی که قصد دارم آزمایش کنم، دقت پیش‌بینی تاریخ پایان پروژه با روش زمان کسب شده (earned schedule) و مقدار PF=SPIt و یه روش زمان کسب شده‌ای دیگه که جنبه آماری داره هست (یکی از خواننده‌ها لطف کرده بود مقاله‌ای برای من فرستاده بود که این روش هیجان انگیز رو معرفی می‌کرد).

اعتقاد من اینه که مقدار تاخیری که با روش مسیر بحرانی به دست میاریم و اعلام می‌کنیم زیاد جالب نیست. مشکلش اینه که فرض می‌کنه ادامه کار با سرعت و شتابی برابر با سرعت و شتاب برنامه‌ریزی شده انجام می‌شه، در حالی که اگه پیمانکار کارهای قبلی رو مثلا با نصف سرعت برنامه‌ریزی شده انجام داده باشه، سخته بخوایم فرض کنیم که ادامه کار رو با سرعت برنامه‌ریزی شده پیش می‌بره.

تو دو سال گذشته که تاریخ پایان تخمینی پروژه‌ها رو تو گزارش‌های دوره‌ای ارائه می‌کنم خیلی راضی بودم. توجه مدیران به این مقدار روز به روز بیشتر شده، طوری که وقتی گزارش دستشون می‌رسه اولین چیزی که می‌رن نگاه می‌کنن تاریخ پایان تخمینیه، نه چیزهای دیگه‌ای مثل درصد پیشرفت. بعضی‌هاشون فقط همون تاریخ رو نگاه می‌کنن، گزارش رو می‌ذارن کنار و بحث‌هاشون رو شروع می‌کنن.

این توجهِ زیاد قطعا باعث شده که گلایه‌هایی هم بشه. بعضی‌ها اعتبار اون رو زیر سوال می‌برن، به خصوص که معمولا تاریخ پایانی که گزارش می‌شه بدبینانه‌تر از اون چیزیه که شهودشون بهشون می‌گه. با این حال گذشت زمان نشون داده که پیش‌بینی‌ها خوب بودن؛ حداقل تو چنتا پروژه‌ای که این مدت داشتم. با این حال دلم می‌خواد کمی دقیق‌تر و روی تعداد بیشتری پروژه اون رو آزمایش کنم و حدودی برای دقتش به دست بیارم.

 

یه ماجرای دیگه که احتمالا بعد از این کار انجام خواهم داد، بررسی تاثیر ضرایب وزنی روی دقت پیش‌بینی‌هاس. همه می‌دونین که این ضرایب وزنی چقدر مشکل ایجاد می‌کنن. کافیه یه نفر از نتایج ارزیابی خوشش نیاد، اولین کاری که می‌کنه اینه که ضرایب وزنی رو زیر سوال ببره (حتی با وجود این‌که خودش یا مدیر بالادستش قبلا اون رو رسمی تایید کرده). من به دلایلی اعتقاد دارم که تاثیر ضرایب وزنی روی تاریخ‌های پیش‌بینی شده خیلی کمه. حالا می‌خوام در اولین فرصت میزان اعتبار این نظر خودم رو بررسی کنم.

 

خوب، منتظر اطلاعاتتون هستم و پیشاپیش تشکر می‌کنم.

نوشته نادر خرمی راد (Nader Khorrami Rad)

محاسبه تاخیر

خیلی‌ها درباره شیوه محاسبه تاخیر تو شرایط مختلف از من می‌پرسن. جواب هم همیشه بستگی داره به شیوه پایش، نوع فعالیت‌ها و …

ولی یه نکته رو فراموش نکنین؛ بهترین راه برای ارزیابی عملکرد زمانی پروژه، استفاده از روش زمان کسب شده‌س (توسعه‌ایه برای تحلیل ارزش کسب شده) و محصولش به مراتب بهتر از چیزیه که فقط با روش مسیر بحرانی به دست میارین. سخت هم نیست، نگران نباشین!

در کنار این مسئله، باز هم از همه یه درخواست تکراری دارم: لطفا از عبارت “تاخیر” فقط برای اشاره به زمان استفاده کنین، بهتره به اختلاف پیشرفت واقعی و برنامه‌ریزی شده بگیم “انحراف”، نه “تاخیر”. این توصیه صرفا به این خاطره که سوتفاهم به وجود نیاد و منظور به خوبی منتقل بشه.

نوشته نادر خرمی راد (Nader Khorrami Rad)
اشتراک مطالب سایت

با اشتراک در فرم زیر مطالب جدید برایتان ایمیل می‌شوند:

اشتراک مطالب در تلگرام