نام مناسب برای Bullet Graph

این مدت نامه‌نگاری‌هایی با استیفن فیو کردم درباره برگردان Bullet Graph به فارسی. نتیجه نهایی این شد که همون اسم “نمودار گلوله‌ای” بهترین انتخابه. بنابر این از این به بعد از همین اسم استفاده خواهم کرد.

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

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

نوشته نادر خرمي راد (Nader Khorrami Rad)
بخش: اخبار
مطالب مرتبط:

تکمیل ورک‌شاپ اول کتاب پراجکت 2010

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

این چند روز پروژه بدون منبع رو تموم کردم و مجموعا 90 صفحه شد!

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

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

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

تولد سه سالگی سایت

همین الان متوجه شدم که امروز تولد سه سالگی این سایته؛ اولین مطلب دقیقا سه سال پیش، یعنی 5/2/1386 نوشته شده بود.

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

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

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

نوشته نادر خرمي راد (Nader Khorrami Rad)
بخش: اخبار

ترسیم Bullet Graph در اکسل

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

این نمودار ابداع Stephen Few، استاد بزرگِ بصری‌سازی اطلاعاته. یه کتاب خیلی خوب هم داره که تو فکرم ترجمه کنم.

بگذریم. بولت گراف اینه:

 

 image

 

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

برای ساخت نمودار دو روش استفاده می‌کنم. یکی از اون‌ها برای نمودارهای تکی مناسب‌تره و اونیکی برای نمودارهای گروهی.

 

شیوه ترسیم نمودارهای تکی:

فرض کنین می‌خوایم نمودار رو برای این مقادیر ترسیم کنیم:

image

حالا یه جدول دیگه می‌سازیم که مقادیرش رو از روی این دو مقدار محاسبه کنه:

image

مقدارها رو که می‌تونین حدس بزنین چی هستن، دیگه توضیح نمی‌دم.

حالا مقدارها رو انتخاب کنین…

image

و بعد نموداری که تو شکل می‌بینین رو انتخاب کنین…

image

این می‌شه نتیجه کار:

image

حالا روی یکی از میله‌ها کلیک راست کنین و Format Data Series رو انتخاب کنین. سمت چپ کادر محاوره‌ای که باز می‌شه Series Options رو انتخاب کنین و بعد دستگیره Gap Width رو کاملا به سمت چپ بکشین…

image

نتیجه می‌شه این:

image

حالا راهنما رو برمی‌دارم، حداکثر نمودار رو می‌برم روی 100٪، برچسب‌های محور عمودی رو هم پاک می‌کنم، خط‌های عمودی نمودار رو هم کمرنگ می‌کنم. صد البته نمودار رو کوچیک هم می‌کنم:

image

مرحله بعد رنگ‌آمیزیه. روی میله آبی رنگِ کوتاه کلیک کنین… حالا دوباره کلیک کنید تا فقط همون یه دونه انتخاب بشه… بعد کلیک راست و Format Data Point. حالا رنگش رو انتخاب کنین. همین کار رو با سه‌تا میله بعدی بکنین و به اون سه‌تا رنگ یکسانی بدین.

image

تموم!

 

شیوه ترسیم نمودارهای گروهی:

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

این اطلاعات پایه:

image

کل اطلاعات رو همراه با برچسب‌ها انتخاب کنین و باهاش نمودار Clustered Culumn بکشین:

image

یه کم تر و تمیزش می‌کنیم:

image

حالا روی میله‌هایی که می‌خواین داخل قرار بگیرن کلیک راست کنین و Format Data Series رو انتخاب کنین. تو کادر محاوره‌ای که باز می‌شه Secondary Axis رو انتخاب کنین.

image

روی محور جدیدی که سمت راست کشیده شده کلیک کنین و بهش حداکثری بدین که برابر با محور سمت چپ باشه.

image

نمی‌دونم با این همه شکلی که تو این مطلب گذشتم چقدر طول می‌کشه صفحه‌تون کامل لود بشه، ولی به هر حال کار رو ادامه می‌دیم.

دوباره روی میله‌های داخلی کلیک راست کنین و Format Data Series رو انتخاب کنین و این دفعه Gap Width رو تا آخر سمت راست ببرین.

image

همین، تموم شد. تو این پروژه فرضی پیشرفت واقعی E از برنامه‌ریزیش بیشتره. مبارک باشه!

اگه دوست ندارین نمودارتون دوتا محور عمودی داشته باشه می‌تونین یکیشو پاک کنین، ولی به نظر من بهتره نکنین، چون اگه یه موقع حداکثرِ این دوتا نمودار با هم فرق کنه مقیاس دو گروه میله عوض می‌شه و نمودار اشتباه می‌شه.

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

تکمیل کتاب پراجکت 2010

تالیف کتاب پراجکت 2010 تموم شد. البته الان باید زمان قابل توجهی رو صرف مرتب کردن کتاب و فصل‌بندی کنم، چون این کتاب رو به ترتیب مطالبی که تنظیم کرده بودم ننوشتم؛ هر وقت هر مبحثی رو که می‌پسندیدم می‌نوشتم.

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

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

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

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

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

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

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

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

 

این برنامه نمونه رو در نظر بگیرین:

image

حالا یه چنتا فیلد رو بهش اضافه می‌کنم:

image

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

image

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

خوب، همین دیگه؛ کار تموم شد. فقط مقدار پیشرفت فیزیکی هر فعالیت رو تو ستون % Work Completeوارد کنین و پیشرفت خلاصه‌فعالیت‌ها و پروژه رو هم از همونجا بخونین. مثلا:

image

الان % Complete مطابق معمول پیشرفت زمانی رو نشون می‌ده، یعنی پیشرفت فعالیت‌ها رو با ضریب وزنی Duration میانگین‌گیری می‌کنه. ولی % Work Complete مثل همیشه داره با ضریب وزنی Work میانگین‌گیری می‌کنه، یعنی همون چیزی که ضریب وزنی فیزیکی ماست.

تو شکل قبل فعالیت اول 50٪ پیشرفت کرده و ضریب وزنی فیزیکیش هم 10٪ بوده، در نتیجه پیشرفت پروژه می‌شه حاصل ضرب این‌ها، یعنی 5٪.

 

خوب، لابد دلتون می‌خواد قبل از شروع پروژه نمودار پیشرفت برنامه‌ریزی شده رو هم ترسیم کنین. برای این کار به Task Usage برین، محور زمانی جدول زمان‌مند (سمت راست) رو تنظیم کنین تا دوره‌هایی که می‌خواین رو نشون بده. حالا فیلد Cumulative Work رو تو جدول باز کنین (برای این کار روی جدول کلیک راست کنین و از منو فیلد رو انتخاب کنین) تا مقدارها نمایش داده بشن.

 

image

حالا کارهای تجمعی هر عنصری که می‌خواین (مثلا خلاصه فعالیت پروژه که پیشرفت کل پروژه رو نشون می‌ده) کپی کنین و ببرین تو اکسل.

 image

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

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

image

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

 

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

روش اینه که بعد از این‌که مجوعه اعداد رو کپی کردین تو اکس، اون‌ها رو انتخاب کنین، بعد دستور replace رو اجرا کنین و بگین که h رو با “هیچی” جانشین کنه. همین، تموم!

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

آداب کار در فضای الکترونیکی

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

 

هیچوقت ایمیل‌ها رو بدون موضوع و متن نفرستید!

 

خیلی عیجبه، ولی بالای 90٪ از مواقعی که فایلی رو برام با ایمیل می‌فرستن، ایمیل نه موضوع داره و نه متن.

این مسئله از دو جهت مهمه:

 

  1. وقتی ایمیل رو اینطوری می‌فرستید مودبانه نیست. مثل این میمونه که برین تو اتاق یه نفر و بدون این‌که در بزنین، سلام و احوال پرسی کنین و حتی طرف رو نگاه کنین، گزارشی رو بندازین رو میزش و برین بیرون. بی ادبانه نیست؟
  2. شاید کسی که ایمیل رو می‌گیره بدونه که فایل رو به چه دلیل براش فرستادین یا با مرورش بفهمه؛ ولی حساب این رو بکنین که اگه لازم باشه 6 ماه دیگه تو ایمیل‌هاش دنبال اون بگرده چیکار باید بکنه. موضوع و متن نامه کلید پیدا کردنش در زمان جستجوس. پس هم موضوع و متن اضافه کنین و هم دقت کنین که عبارت‌های بی‌معنایی نباشن و ترکیب‌های مهم و کلماتی کلیدی باشن که جستجو رو در آینده تسهیل کنن.

 

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

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

ارتباط مقادیر واقعی در پراجکت

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

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

 

1. فیلدهای زمانی، شامل:

  • Actual Start
  • Actual Finish
  • Actual Duration
  • Remaining Duration
  • Complete % (ساده و زمان‌مند)

 

2. فیلدهای کاری، شامل:

  • Actual Work (ساده و زمان‌مند)
  • Actual Overtime Work (ساده و زمان‌مند)
  • Remaining Work
  • Remaining Overtime Work
  • Work Complete %

 

3. فیلدهای هزینه، شامل:

  • Actual Cost (ساده و زمان‌مند)
  • Actual Overtime Cost
  • Remaining Cost
  • Remaining Overtime Cost

 

و حالا نکته مهمی که وجود داره اینه که ارتباطِ بین این سه گروه رو بدونین. ارتباط بین این سه گروه رو تو شکل زیر ترسیم کردم:

 

image

ارتباط بین زمان و کار دو طرفه‌س، ولی می‌شه اون رابطه رو با تنظیم A قطع کرد. این تنظیم گزینه Updaing task status updates resource status هست که تو کادر محاوره Options، زبانه Calculation قرار داره. البته متن این گزینه طوریه که آدم فکر می‌کنه ارتباط یک طرفه‌س، ولی این ارتباط در واقع دو طرفه‌س. اگه گزینه رو غیر فعال کنین، به‌روزرسانی زمان روی کار اثری نمی‌ذاره و به‌روزرسانی کار هم روی زمان اثر نمی‌ذاره. ولی اگه فعال باشه، که پیش‌فرض هم فعاله، وقعی یکی از این دو رو به‌روزرسانی کنین، اونیکی هم به‌روز می‌شه. مثلا اگه Complete % رو زیاد کنین، Work Complete % هم زیاد می‌شه (این دوتا عدد الزاما یکی نیستن).

ارتباط این دوتا با هزینه یک طرفه‌س، یعنی روی هزینه اثر می‌ذارن، ولی هزینه واقعی روی وضعیت زمان و کار واقعی اثری نمی‌ذاره. اگه بخواین می‌تونین این ارتباط رو با غیر فعال کردن B از بین ببرین. B همون گزینه Actual Costs are always calculated by Microsoft Office Project هست که تو زبانه Calculation کادر محاوره Options قرار داره. این گزینه هم در شرایط عادی فعاله.

 

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

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

نمودارهای دایره‌ای را کنار بگذارید

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

به این نمودار توجه کنین:

image

نظرتون درباره نمودار چیه؟ به نظرتون به اندازه کافی خوانا هست؟

البته می‌شه به اندازه کافی تو اون دقت کرد و مثلا متوجه شد که چه حدود نسبت‌هایی برقراره، ولی مگه قرار نیست نمودار کار رو راحت‌تر کنه؟

شاید به این فکر کنین که ممکنه این قالب‌بندی بهتر باشه:

image

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

نموداری که اکثر مواقع نتیجه خوبی می‌ده، نمودار میله‌ایه:

image

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

نمودارهای دایره‌ای دو مشکل کلی دارن:

  • وقتی بیشتر از سه قطاع داشته باشن، نمی‌تونن نسبت‌ها رو خوب نشون بدن.
  • معمولا نسبت اطلاعاتی که ارائه می‌کنن به فضایی که اشغال می‌کنن پایینه.

 

من خودم گاهی برای مقایسه دو یا سه مقدار از نمودارهای دایره‌ای استفاده می‌کنم (یا شاید بهتر باشه بگم می‌کردم). مثلا همچین چیزی:

image

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

این نوع نمودار به خاطر کم بودنِ تعداد مقادیرش بد نیست، ولی همین رو هم می‌شه میله‌ای نمایش داد:

image

حتی می‌شه کمی بیشتر انرژی گذاشت و نمودارهای پیشرفته‌تری هم تهیه کرد:

image

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

توضیح: آخرین نموداری که تو این مطلب می‌بینین و یک سالی هست که دایما ازش تو گزارشام استفاده می‌کنم، اسمش Bullet Graph هست و مبتکر اون، کسیه که تو این مطلب از توضیحاتش زیاد استفاده کردم: Stephen Few

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

تاریخ‌های موثر در شناوری

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

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

 

تاریخ‌های مهم این‌ها هستن:

  1. تاریخ پایان پروژه
  2. تاریخ پایان فعالیت‌هایی که پس‌نیاز ندارن (توضیح 1)
  3. فرجه‌ها
  4. تاریخ قیدهایی که انعطاف‌پذیر نیستن

 

توضیح 1: وقتی تاریخ پایان فعالیت‌هایی که پس‌نیاز ندارن در تعیین شناوری‌ها مبنا قرار می‌گیره که گزینه Calculate Multiple Critical Tasks رو تو Tools| Options| Calculation فعال کرده باشین.

حالا ماجرا رو با هم مرور می‌کنیم. برنامه شکل زیر رو ببینین:

image

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

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

برای فعالیت چهارم فرجه‌ای در پایان روز 9 قرار می‌دم. وضعیت اینطوری می‌شه:

image

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

حالا به فعالیت ششم قید Finish No Later Than برای پایان روز نهم می‌دم:

image

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

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

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

image

این هم همون شناوری منفیه که هر هفته چند نفر با جستجوی اون به سایت من می‌رسن! مفهوم پیچیده‌ای نیست، هست؟

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

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

image

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

وقتی بین قید و روابط تناقض وجود داشته باشه تکلیف چیه؟

پیش‌فرض اینه که قید مبنا قرار بگیره.

حالا می‌تونین برین تو Tools| Options| Schedule و گزینه Tasks will always honor their constraint dates رو غیر فعال کنین. حالا اگه تناقضی بین قید و روابط وجود داشته باشه اولویت به روابط داده می‌شه. این هم می‌شه وضعیت همون برنامه قبلی، بعد از تغییر تنظیم:

image

خوب، حالا من قید و فرجه رو برمی‌دارم، یعنی وضعیت برنامه می‌شه مثل اولین شکلی که دیدین (بد نیست الان برگردین بالا و نگاهی بهش بندازین). حالا می‌رم به Tools| Options| Calculate و گزینه Calculate multiple critical paths رو فعال می‌کنم. نتیجه این می‌شه:

image

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

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

خوب، من امیدوارم این مطالب رو به شما منتقل کرده باشم:

  • تنها تاریخ مقدسی که برای محاسبه شناوری‌ها به کار می‌ره تاریخ پایان پروژه نیست.
  • شناوری منفی با ……. به وجود میاد. با چی؟
  • مسیرهای بحرانی متعدد با مقید کردن فعالیت‌های آزاد به وجود میاد.
نوشته نادر خرمي راد (Nader Khorrami Rad)
< newer older>

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