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

وقتی یه کارشناس پیشرفت می کنه

وقتی یه کارشناس پیشرفت می‌کنه چی می‌شه؟ می‌شه مدیر. این تصور خیلی اشتباهه.

این تصور از چند جهت اشتباهه:

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

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

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

برنامه‌هایی که می‌گم یه فیلد اختصاصی دارن برای ضرایب وزنی. یه فیلد اختصاصی دارن برای این‌که پیشرفت واقعی فعالیت‌ها رو دریافت کنه و یه فیلد اختصاصی دیگه برای این‌که پیشرفت فیزیکی تمام آیتم‌ها رو ارائه کنه.

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

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

محاسبه تاخیر

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

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

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

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

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

فرمول تاریخ شروع:

(Int((Int([Start]-DateValue("21/3/1997 00:00:00"))-Int(Int([Start]-DateValue("21/3/1997 00:00:00"))/1461))/365)+76) & "/" & (IIf(((((Int([Start]-DateValue("21/3/1997 00:00:00")))-Int((Int([Start]-DateValue("21/3/1997 00:00:00")))/1461)) Mod 365))<=186,Int(((((Int([Start]-DateValue("21/3/1997 00:00:00")))-Int((Int([Start]-DateValue("21/3/1997 00:00:00")))/1461)) Mod 365))/31)+1,Int((((((Int([Start]-DateValue("21/3/1997 00:00:00")))-Int((Int([Start]-DateValue("21/3/1997 00:00:00")))/1461)) Mod 365))-186)/30)+7)) & "/" & (IIf(((((Int([Start]-DateValue("21/3/1997 00:00:00")))-Int((Int([Start]-DateValue("21/3/1997 00:00:00")))/1461)) Mod 365))<=186,Int(((((Int([Start]-DateValue("21/3/1997 …

اثر هاله نور در مدیریت پروژه

تا حالا اصطلاح Halo Effect رو شنیدین؟ می‌شه ترجمه‌ش کرد به اثر هاله نور.

قبلش یه سوال می‌پرسم. به نظر شما مدیر پروژه چه تخصصی‌هایی باید داشته باشه؟

جواب خیلی ساده‌س، تخصص در مدیری پروژه؛ همین.

کسی می‌تونه مدیر پروژه باشه که در مدیریت پروژه تخصص داشته باشه. ساده‌تر از این؟

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

این می‌شه گرایش PMI و همه سیستم‌های حرفه‌ای دیگه‌ای که من تا حالا دیدم.

حالا مشکل چیه؛ مشکل در اینه که اکثرا فکر می‌کنن اگه کسی تو حوزه کاری پروژه تخصص داشته باشه می‌تونه مدیر پروژه باشه. مدیر پروژه از نظر خیلی‌ها متخصص‌ترین کارشناس حوزه کاری پروژه‌س. به این می‌گن Halo Effect.

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

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

روش سریع برای اصلاح قالب‌بندی نما در پراجکت

تا حالا شده فایل پراجکتی به دستتون برسه که توش قالب‌بندی تمام عناصر نمای گانت (یا نمایی دیگه) رو عوض کرده باشن و قالب‌بندیشون هم به نظرتون جالب نباشه؟

منظورم فونت‌هاییه که هرکدوم یه اندازه‌ای هستن، رنگ‌های عجیب و غریب، بولد بودن‌های بی‌دلیل و …

اگه سعی کرده باشین قالب‌بندی رو به حالت معمولی برگردونین قطعا می‌دونین که کار وقت‌گیر و سختیه. راه ساده؟

بله، راه ساده هم داره؛ امروز اتفاقی وقتی می‌خواستم قالب‌بندی یه برنامه‌ای رو درست کنم به نظرم رسید.

منطق قالب‌بندی در پراجکت

قبلش باید این رو توضیح بدم. پراجکت تمپلیتی داره به اسم global.mpt و تمام قالب‌بندی‌ها توی اون ذخیره می‌شن. اون نمای گانتی که تو فایل‌های جدید می‌بینین از اون تمپلیت میاد.

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

شیوه بازیابی قالب‌بندی پیش‌فرض

حالا اگه از قالب‌بندی اختصاصی‌سازی شده‌ای که تو فایل هست خوشمون نیاد باید چیکار کنیم؟ خیلی …

قید ALAP پریماورایی در پراجکت

احتمالا می‌دونین که عملکرد قید As Late As Possible تو پریماورا و پراجکت فرق می‌کنه. وقتی فعالیتی رو تو پریماورا ALAP کنین، شناوری آزادش صفر می‌کنه، ولی اگه این کار رو تو پراجکت کنین، شناوری کلش صفر می‌شه.

قید ALAP پراجکت باعث می‌شه که شناوری کل تمام فعالیت‌هایی که مستقیم یا غیر مستقیم وابستگی‌ای به فعالیت ALAP شده دارن هم صفر بشه.

هرکدوم از این دو نوع قید کاربردهای خودش رو داره، و خیلی خوب می‌شد اگه هر دو نرم‌افزار هر دو نوع قید رو ارائه می‌کردن، که متاسفانه نمی‌کنن.

حالا اومدیم و تو پراجکت نیاز به ALAP پریماورایی پیدا کردین. تکلیف چیه؟

می‌شه با یه مقدار عملیات آکروباتیک موضوع رو حل کرد.

این هم برنامه مثال:

ALAP

فعالیتی که می‌خوایم شناوری آزادش صفر باشه، فعالیت a هست. چرا؟

فرض کنین مثلا a یه فعالیت تدارکاتیه. c رنگ دیواره، b خود دیوارکشیه، d هم بقیه کارها. a هم رنگیه که باید برای اونجا بخریم. حالا کی باید بخریمش؟

می‌شه a رو SF با c کرد تا زمان‌بندیش درست بشه. ولی تو این حالت اگه a به تاخیر بیفته، c رو به تاخیر نمی‌ندازه، در نتیجه اهمیتش تو برنامه مشخص نمی‌شه. به این خاطره که ترجیح می‌دیم a رو پیش‌نیاز c کنیم (در واقعیت هم همینطوره). حالا اگه معمولی این کار رو کنیم، a تو شروع پروژه شروع می‌شه، چون خودش پیش‌نیاز نداره. زمان مناسبش چه موقع باشه؟ بهترین گزینه زمانیه که شناوری آزادش رو صفر …