Professional Documents
Culture Documents
این کتاب چهارمین نسخه از کتابهای راهنمای جامع Projectاست که طبق روال گذشته برای مطابقت با
نسخه جدید نرمافزار و همچنین بهبود آموزشهای آن تهیه شده است .پیروی استقبال خوانندگان از مجموعه
کتابهای الکترونیکی مدیریت پروژه ،این نسخه از کتاب برای اولین بار به دو صورت چاپی و الکترونیکی منتشر
میگردد تا نیازهای گروه گستردهتری از مخاطبان را برآورده کند.
با وجود سابقه طوالنی کتابهای الکترونیکی در دنیا ،نشر الکترونیکی در ایران به خاطر تردید ناشران در
خصوص رعایت حق نشر از سوی خوانندگان ،همواره با تردیدهای فراوانی روبرو بوده است .اعتماد اولیه به
خوانندگان ایرانی در مجموعه کتابهای الکترونیکی مدیریت پروژه تجربهای موفق بود و رعایت حق نشر از سوی
ایشان ،که بر خالف انتظار بسیاری بود ،زمینه را برای تداوم این حرکت فراهم کرد .حفظ روند نشر الکترونیک
در آینده نیز به رعایت حق نشر از سوی تک تک خوانندگان ،از جمله شما دارد .لطفا به جای کپی دادن کتاب
به دوستان و همکاران خود ،آدرس خرید نسخه الکترونیکی www.khorramirad.info ،را به ایشان بدهید.
فهرست مطالب
برای دسترسی به فهرست مطالب ،پنل Bookmarksرا در نرمافزار PDFخوان خود باز کنید .شیوه باز کردن این
پنل در برخی از نرمافزارهای متداول از این قرار است:
مقدمه
مدیریت هر پروژه مهمترین عامل در موفقیت یا شکست آن است .طبق آمار اکثر پروژهها در زمان مقرر یا با
هزینه و کیفیت مشخص شده تکمیل نمیشوند و معموال عامل اصلی این شکست ضعف مدیریت پروژه است.
برنامه ریزی و کنترل پروژه ،یکی از مباحث مهم مدیریت پروژه است .برنامهریزی و کنترل پروژه بدون ابزار
مناسب کار سادهای نیست و Projectیکی از بهترین ابزارهای آن به شمار میرود.
پیشنیازهای کتاب
این کتاب طوری طراحی شده است که استفاده از آن برای سطوح مختلف ممکن باشد .با این حال مطالب عمدتا
نیاز به پیشنیازهای زیر دارند:
مهارت نسبی در اصول برنامهریزی و کنترل پروژه .اصوال این کتاب راهنمایی برای استفاده از نرمافزار
Projectدر برنامهریزی و کنترل پروژه است .اگر اطالعاتی از برنامهریزی و کنترل پروژه نداشته باشید،
قادر به استفاده از نرم افزار و در نتیجه کتاب ،نخواهید بود .با وجود آن برخی مباحث برنامهریزی و
کنترل پروژه ،به خاطر اهمیت زیاد یا وابستگی زیاد مطالب کتاب ،به طور مختصر توضیح داده شدهاند.
مقدمات کامپیوتر ،اصول استفاده از سیستم عامل و مهارت نسبی در کار با رابطهای کاربر رایج.
آشنایی با نرمافزارهای مجموعه Officeنیز کمک زیادی به خواننده خواهد کرد.
گستره کتاب
این کتاب تمام سطوح مقدماتی ،متوسطه و پیشرفته را در بر میگیرد .هدف در تهیه این کتاب ارائه منبعی
کامال مفهومی و کاربردی بوده است که عالوه بر کاربری نرمافزار ،اصول و مفاهیم کار و همچنین کارکرد هر
قابلیت نرمافزار را در شرایط کاری واقعی توضیح دهد.
برخی دیگر از مباحث مربوط به Projectدر این کتاب بررسی نشدهاند ،که از این قرارند:
کار با قابلیتهای سازمانی نرمافزار Project Server ،و نرمافزارهای همگروه :با توجه به
گستردگی مطالب گفته شده ،ارائه راهنمایی کاربردی در قالب حجم محدود یک کتاب ممکن نخواهد
بود .از سوی دیگر ،اکثر کاربران فقط با سیستم غیر سازمانی کار میکنند و نیازی به اطالعات گفته
شده ندارند .به این خاطر ،مطالب مربوط به سیستم سازمانی به هیچ وجه در کتاب بررسی نشدهاند.
برنامهنویسی :VBAاین قابلیت بسیار مهم Projectنیز عمال نیاز به کتاب مستقلی دارد و در این
کتاب بررسی نشده است .در صورت عالقهمندی میتوانید به کتاب راهنمای جامع برنامهنویسی
VBAدر ،Microsoft Projectترجمه نادر خرمی راد ،از انتشارات دیباگران تهران مراجعه کنید.
مباحث خاص :عمال تعریف تمام مباحثی که میتواند در مورد Projectوجود داشته باشد کار سادهای
نیست .برخی مباحث دیگر ،مانند کار با بانکهای اطالعاتی نرمافزار ،برنامهنویسی آن تحت .NETو
مانند آن ،از جمله مباحث خاصی هستند که در کتابهای اینچنینی مطرح نمیشوند.
سه مبحث دیگر در نسخههای قبلی کتاب وجود داشتند ،ولی در این نسخه برای جلوگیری از افزایش بیش از
اندازه حجم کتاب حذف شدند .این مباحث بعد از انتشار این کتاب با تفصیلی بیشتر از گذشته و در قالب
کتابهایی جداگانه منتشر خواهند شد .مباحث گفته شده از این قرارند:
مرجع فیلدها :این مرجع تک تک فیلدهای غیرسازمانی Projectرا به طور مختصر توضیح میدهد.
مرجع تنظیمها :این مرجع تمام تنظیمهای کادر محاوره Optionsنرمافزار را توضیح میدهد.
پروژههای نمونه :این منبع برنامهریزی و کنترل چند پروژه نمونه را از ابتدا تا انتها ارائه میکند.
مباحث تکمیلی
تسلط به نرمافزار به تنهایی برای موفقیت شما در نقش برنامهریز پروژه کافی نیست و باید عالوه بر آن بر مفاهیم
برنامه ریزی و کنترل پروژه به طور خاص و مدیریت پروژه به طور عام نیز مسلط باشید .بهترین منابع برای
یادگیری مدیریت پروژه از این قرارند:
در مورد استاندارد PMBOKمیتوانید به کتابهای راهنمای دانش مدیریت پروژه ) ،(PMBOKراهنمای آزمون
PMPو استاندارد مدیریت پروژه PMBOKو PMBOKبه زبان ساده مراجعه کنید .دو کتاب اول ترجمه نگارنده
این خطوط و ناشر آن ها انتشارات دیباگران تهران است .کتاب سوم تالیف این نگارنده است و صرفا به طور
الکترونیکی منتشر شده است.
عالوه بر استانداردهای گفته شده مطالعه استانداردهای عملی PMIدر خصوص زمانبندی و تدوین ساختار
شکست کار نیز اکیدا توصیه میشود:
در نهایت میتوانید برای یادگیری توصیههای زیربنایی زمانبندی که برای حفظ کیفیت و اثربخشی آنها الزم
است به کتاب قواعد زمانبندی پروژه ،تالیف این نگارنده و منتشر شده از سوی انتشارات دیباگران تهران مراجعه
کنید .مطالعه کتاب الکترونیکی رایگان راهنمای تدوین ساختار شکست کار پروژه بر اساس استانداردهای
PMBOKو ،PRINCE2تالیف این نگارنده ،نیز توصیه میشود.
یکی از بزرگترین امتیازهای Projectرابط کاربر بسیار خوب آن است که کار را سادهتر ،سریعتر و لذتبخشتر
میکند .هرچه باشد یک برنامهریز مدت زیادی را در حال کار با نرمافزار برنامهریزی سپری میکند و رابط کاربر
نرم افزار مانند محل زندگی و کار وی مهم و تاثیرگذار است .همانطور که ترجیح میدهیم در فضایی کار کنیم که
مناسب باشد ،قطعا ترجیح میدهیم که رابط کاربر نرمافزارهای پرکاربردمان نیز مناسب باشد.
در این فصل بعضی از مسایل بسیار پایهای مربوط به رابط کاربری نرمافزار را مرور میکنیم تا مبنایی برای
فصلهای آینده باشد.
رابط کاربر
اصول و منطق رابط کاربر Project 2013تفاوت عمدهای با نسخههای قبل ندارد ،ولی ابزارهای بصری بسیار
متنوعی به آن اضافه شده است که قابلیتهای فراوانی در اختیارتان قرار میدهند .شکل 1-1رابط کاربر
Projectرا نشان میدهد.
ریبون
ریبون مفهومی است که جانشین نوارابزار و منو شده است .نوارابزارها به نظر برخی از کاربران سادهتر و بهتر
هستند ،ولی برای نرمافزارهای پیچیدهای که ابزارهای فراوانی دارند چندان مناسب نیستند و به همین خاطر
مایکروسافت را به فکر چاره انداخته است.
ریبون نواری زبانهای است .منظور از زبانه ،عنوانهایی است که باالی نوار نوشته شدهاند و اگر روی آنها کلیک
کنید ،محتوای جدیدی در نوار نشان داده می شود .این کار مانند این است که با کلیک کردن روی عنوان زبانه،
زبانه را جلو کشیده ،ابزارهای آن را در اختیار گرفته باشید (شکل .)1-2
:Fileاین زبانه بر خالف سایر زبانهها تمام صفحه است ،یعنی وقتی روی آن کلیک میکنید تمام
فضای صفحه به محتوای این زبانه اختصاص داده میشود .ابزارهای ذخیرهسازی ،باز و بسته کردن
فایلها ،چاپ ،به اشتراک گذاری (این مفهوم به قابلیتهای سازمانی و یکپارچه مربوط میشود که
موضوع این کتاب نیستند) و تنظیمهای نرمافزار در این قسمت قرار دارند.
زبانههای گفته شده ابزارهایی را ارائه می کنند که تقریبا همیشه الزم هستند .برخی ابزارهای دیگر در نماهای
خاص یا در زمان انتخاب عناصر خا ص کاربرد دارند و به همین خاطر فقط در همان شرایط نمایش داده
میشوند .به عنوان مثال وقتی Projectرا باز میکنید و نمای گانت دیده میشود ،زبانه
Gantt Chart Tools Formatنیز باز میشود و ابزارهای قالببندی این نما را در اختیارتان میگذارد .اگر نمای
دیگری را باز کنید ،این زبانه بسته میشود و زبانه مخصوص آن نما باز میشود.
تایمالین
تایمالین از قابلیتهای جدید Project 2010بود ،از اولین ابزارهای بصری نسل جدید Projectکه در نسخه
2113به تکامل رسید .این عنصر باالی بعضی نماهای ترکیبی و به عبارت دیگر زیر ریبون نمایش داده میشود
(شکل .)1-3
تایم الین محوری زمانی است که رویدادها یا فعالیتهای مهم پروژه و موقعیت فعلی آن را نشان میدهد.
تایمالین به طور پیشفرض تهی است و باید فعالیتها و مایلستونهای مورد نظر خود را عالمت بزنید تا در آن
نمایش داده شود.
گزارشهای داخلی
یکی از عمدهترین تغییرات پراجکت ،2113اضافه شدن ابزارهای پیشرفته گزارشگیری و داشبوردهای اطالعاتی
است .با این قابلیت اکثر ابزارهای بصری Excelبه طور بومی در Projectدر اختیارتان خواهد بود و میتوانید
انواع گزارشها و داشبورهای اطالعاتی را به سادگی و با پویایی کامل بسازید (شکل .)1-4
می توانید نماهایی ترکیبی از داشبورها و نماهای استاندارد نیز بسازید تا اطالعات کلیدی دایما در مقابلتان حاضر
باشند (شکل .)1-5
نما
Projectنماهای فراوانی دارد که یکی از پر کاربردترینِ آنها ،نمای گانت ) (Gantt Chartاست .به همین خاطر
نمای پیشفرض نیز نمای گانت است .عنوان نما در نوار خاکستری رنگ عمودیِ سمت چپ نرمافزار نشان داده
میشود (شکل .)1-6
سمت چپ نمای گانت جدول و سمت راست آن نمودار گانت را نشان میدهد .اگر روی نوار سمت چپ پنجره
کلیک کنید ،منویی باز میشود و رایجترین نماها را نشان میدهد (شکل .)1-7
معموال نماهای کاربردی از همین منو قابل انتخاب هستند ،ولی اگر مایل باشید میتوانید به زبانه Viewریبون
بروید تا گزینههای بیشتری در اختیارتان قرار گیرد (شکل .)1-8
در این زبانه دو بخش به نامهای Task Viewsو Resource Viewsوجود دارد که به ترتیب برای نماهای
فعالیتها و نماهای منابع به کار میروند.
یکی از اصول ریبون این است که هرچه ابزاری پرکاربردتر باشد ،آیکن آن نیز بزرگتر باشد .همانطور که در
که آیکن نمای Resource Sheetاست، شکل نیز میبینید نمای گانت آیکن بزرگی دارد ،در حالی که
کوچکتر از آن است.
گزینه ای که فعال باشد در ریبون با رنگ متمایزی نمایش داده می شود .به این ترتیب ریبون نه تنها راهی برای
اجرای دستورها خواهد بود ،بلکه برای درک وضعیت نرمافزار نیز کاربرد خواهد داشت .در مثال قبل نمای گانت
فعال بود و به همین خاطر آیکن آن نیز در ریبون متمایز شده بود.
زیر یا کنار برخی آیکن ها فلش کوچکی قرار دارد که اگر روی آن کلیک کنید ،منویی باز میشود .اگر روی فلش
کنار هریک از نماها کلیک کنید ،منویی باز میشود که آخرین گزینه همه آنها More Viewsاست .وقتی روی
آن کلیک کنید ،کادر محاوره شکل 1-9باز میشود.
فرقی ندارد که گزینه را از منوی کدام نما انتخاب کرده باشید؛ به هر حال تمام نماهای موجود ،در این محاوره
نمایش داده میشوند .نما را انتخاب کرده ،روی Applyکلیک کنید تا باز شود.
جداول
بسیاری از نماهای پراجکت جدول دارند .هر جدول تعدادی سطر و ستون است .سطرها با نام رکورد ) (recordو
ستونها با نام فیلد ) (fieldنیز شناخته میشوند .هر رکورد اطالعات عنصری را در خود جای میدهد؛ رکوردهای
هر جدول باید تا حدی کافی مشابه یکدیگر باشند .اطالعات هر رکورد ،مجموعهای از فیلدها است .به عنوان
مثال ،جدولی از مشخصات افراد را در نظر بگیرید .در این جدول هر فرد رکوردی دارد و رکورد هر فرد شامل
فیلدهایی مانند نام ،نام خانوادگی ،شماره شناسنامه ،شماره تلفن ،محل تولد و مانند آنها میشود.
جدول نمای گانت ،فعالیتها ،مایلاستونها و خالصهفعالیتها را ذخیره میکند (بعدا درباره این ماهیتها
توضیح داده میشود) .هرکدام از این آیتمها مشخصههایی مانند شماره ردیف ،مدتزمان ،تاریخ شروع ،تاریخ
پایان ،مقدار پیشرفت و مانند آنها دارند و هرکدام از آن مشخصهها داخل یک فیلد قرار دارد.
فیلدهای Projectقابل حذف و اضافه کردن نیستند و فقط میتوان آنها را مخفی کرد یا نمایش داد .تعداد
زیادی فیلد اختصاصی نیز وجود دارد که در ابتدا عملکرد خاصی ندارند و اگر کاربر الزم بداند میتواند آنها را
برای مقاصد خاص تنظیم کرده ،به کار برد.
برای مخفی کردن ستون ،روی آن کلیک راست کرده ،از منویی که باز میشود Hide Columnرا انتخاب کنید
(شکل .)1-11
برای نمایش دادن ستون ،روی ستونی که قصد دارید کنار ستون جدید باشد کلیک راست کرده ،از منویی که باز
میشود Insert Columnرا انتخاب کنید .با این کار منویی در آن محل باز میشود و لیست فیلدها را نمایش
میدهد (شکل .)1-11
میتوانید به جای روشی که گفته شد از ریبون Format| Columns| Insert Columnرا اجرا کنید .با این کار هم
لیست فیلدها باز میشود.
اگر قصد دارید ستونی را جانشین یکی از ستونهای موجود کنید ،میتوانید به جای نمایش ستون جدید و
مخفی کردن ستون قدیمی ،روی عنوان ستون دابلکلیک کرده ،فیلد جدید را از لیستی که باز میشود انتخاب
کنید.
برخی مشخصات ستون نیز قابل تنظیم هستند .ابتدای روی یکی از سلولهای ستون مورد نظر خود کلیک کنید
و بعد از آن برای تنظیم آنها به قسمت Columnsزبانه Formatمراجعه کنید .در آن قسمت آیکنهای
را فعال کنید ،امکان وجود دارند که برای تنظیم ترازبندی محتوای ستون هستند .اگر گزینه
شکستن محتوای سلولهای ستون فراهم می شود؛ یعنی اگر محتوا طوالنی باشد و در پهنای ستون جای نگیرد،
در چند خط نمایش داده میشود .در همان قسمت روی Column Settingsکلیک کنید تا منویی از گزینهها در
اختیارتان قرار گیرد (شکل .)1-12
در مثال شکل قبل ،یکی از سلولهای ستون Startفعال است و به همین خاطر تنظیمها به ستون Startاعمال
خواهند شد .در منویی که باز شده است روی Field Settingsکلیک کنید تا کادر محاوره شکل 1-13باز شود.
اکنون میتوانید عنوان جدیدی در کادر Titleوارد کنید تا در باالی ستون نمایش داده شود.
توجه داشته باشید که فیلدهای معمولی یک نام دارند که تغییر نمیکند .فیلدهای اختصاصی دو نام دارند که
یکی از آنها ثابت است و دیگری را کاربر تعریف میکند .در کنار نام ،که ماهیتی کمابیش ثابت است ،عنوان نیز
وجود دارد ،که فقط برای نمایش به کار میرود ،و می توانید آن را به راحتی ویرایش کنید .حتی اگر یک فیلد را
چند بار در جدول درج کرده باشید ،میتوانید برای هرکدام از ستونهای آن عنوان جداگانهای انتخاب کنید .اگر
فیلدی عنوان نداشته باشد ،نامش به جای عنوان نمایش داده میشود.
پهنای ستون در قسمت Widthکادر محاوره Field Settingقابل تنظیم است .البته برای تنظیم پهنا راههای
دیگری نیز وجود دارد .برای استفاده از روش ساده تر ،ابتدا کادرهای محاوره را ببندید و بعد از آن اشارهگر ماوس
را به روی مرز سمت راست ستون در قسمت عنوان آن ببرید ،تا شکل اشارهگر تغییر کند؛ بعد از آن میتوانید
کلیک کنید ،و بدون رها کردن کلید ماوس آن را به راست یا چپ بکشید تا پهنای ستون بیشتر یا کمتر شود
(شکل .)1-14
اگر اشاره گر ماوس را روی مرز سمت راست ستون ببرید و دابل کلیک کنید ،پهنا best fitمیشود ،یعنی
کمترین پهنایی که برای نمایش تمام محتوای آن کافی باشد انتخاب خواهد شد.
با روشی مشابه آنچه گفته شد میتوانید ارتفاع ردیفها را هم تغییر دهید (شکل )1-15
میتوانید ترتیب ستونهای جدول را هم تغییر دهید .برای این کار روی عنوان ستون کلیک کنید تا انتخاب
شود ،بعد از آن اشارهگر ماوس را روی آن ببرید (در این حالت اشارهگر ماوس به صورتی که در شکل 1-16
نمایش داده شده است دیده خواهد شد) ،کلیک کنید و بدون رها کردن کلید ماوس آن را به محل جدید
بکشید.
با همین شیوه میتوان ردیفها را هم جابجا کرد .البته در جابجایی محل ردیفها دقت کنید ،زیرا در ساختار
برنامه تاثیر میگذارد .این مسئله در فصلهای بعدی بررسی خواهد شد.
فیلدها ماهیتهای مختلفی دارند .هر فیلد نوع داده خاصی را میپذیرد .به عنوان مثال ،در حالت معمولی
نمیتوانید عبارتی انشایی را در فیلدهای تاریخ یا مدت زمان وارد کنید .برخی فیلدها محاسباتی ،برخی دستی و
برخی ترکیبی هستند .فیلد Nameکه برای ثبت نام آیتم ها است نمونه خوبی از فیلدهای دستی به شمار
میرود .منظور از دستی ،این است که مقدار آن فقط دستی وارد میشود و اگر کاربر به آن مقداری ندهد،
مقداری نخواهد داشت .فیلدی مانند SPIکه شاخص عملکرد زمانی تحلیل ارزش کسب شده است ،فیلدی
محاسباتی است ،یعنی فقط نتیجه محاسبات نرمافزار را نشان میدهد و کاربر نمیتواند مقداری را در آن وارد
کند .بسیاری ا ز فیلدها ترکیبی هستند ،یعنی اگر کاربر مقداری را در آنها وارد کند ،دریافت میشوند و مقدار
جدیدِ آن ها باعث تغییر فیلدهای ترکیبی و محاسباتی دیگر میشود .از طرف دیگر ،اگر فیلدهای دیگر تغییر
کنند ،مقدار فیلدهای ترکیبی نیز ممکن است بر اساس محاسبات تغییر کند .فیلد % Completeنمونهای از
فیلدهای ترکیبی است .این فیلد برای ثبت پیشرفت است .در ادامه کتاب توضیح داده میشود که راههای
مختلفی برای ثبت پیشرفت وجود دارد .اگر به % Completeمقدار دهید ،فیلدهای دیگری مانند شروع واقعی،
مدت زمان صرف شده ،مدت زمان باقیمانده و مانند آنها مقدار می گیرند .از طرف دیگر اگر به آن فیلدها مقدار
دهید ،مقدار % Completeخودکار محاسبه خواهد شد.
انتخاب سلولها
در هر زمان ،حداقل یک سلول انتخاب شده است و با کادر پررنگی که دور آن ترسیم میشود قابل تشخیص
خواهد بود .به این سلول ،سلول فعال گفته می شود .اگر با صفحه کلید چیزی تایپ کنید ،در سلول فعال وارد
میشود.
می توانید در یک زمان بیشتر از یک سلول را انتخاب کنید ،با با استفاده از محدوده انتخاب شده عملیاتی انجام
دهید .متداولترین عملیات Cut ،Copy ،و Pasteاست .عالوه بر آن ،بعضی دستورهای مخصوص Projectنیز
می توانند به جای کل برنامه ،در محدوده انتخاب شده عمل نمایند .به عنوان مثال در زمان بهروز کردن برنامه،
میتوانید پیش از اجرای دستور ،محدودهای را انتخاب کنید و تعیین کنید که فقط محدوده انتخاب شده بهروز
شود.
یک راه برای انتخاب سطر و ستون ،این است که روی عنوان آنها کلیک کنید .راه دیگر استفاده از صفحه کلید
است .وقتی کلیدهای Ctrl+Spaceرا بفشارید ،ستونی که سلول فعال در آن قرار دارد انتخاب میشود (شکل
.)1-17
احتماال میتوانید حدس بزنید که با فشردن کلیدهای ،Ctrl+Shift+Spaceکل فعالیتها انتخاب خواهند شد.
برای انتخاب هر محدوده دلخواه ،با ماوس روی اولین خانه محدوده کلیک کرده ،اشارهگر را به سمت خانهای که
در گوشه دیگر محدوده قرار دارد بکشید .به این ترتیب محدوده انتخاب میشود (شکل .)1-19
محدوده انتخاب شده با پسزمینه تیره نمایش داده میشود .خانهای که در گوشه قرار دارد و رنگ آن تیره
نیست ،سلول فعال است .سلول فعال نیز یکی از سلولهای محدوده انتخاب است ،ولی اگر بعد از انتخاب
عملیاتی انجام شود که مخصوص سلولهای منفرد باشد و نتوان آن را به مجموعه اعمال کرد ،به سلول فعالِ
مجموعه اعمال خواهد شد .به عنوان مثال اگر بعد از انتخاب محدوده شروع به تایپ کنید ،عبارت در سلول فعال
تایپ خواهد شد و سایر سلولهای محدوده دست نخورده باقی خواهند ماند.
اگر بعد از انتخاب اولین گوشه محدوده اشاره گر ماوس را به پایین صفحه بکشید و کلید آن را رها نکنید ،صفحه
جابجا میشود تا بتوانید محدوده بزرگتری را انتخاب کنید.
اگر مایل باشید میتوانید بعد از انتخاب اولین محدوده ،کلید Ctrlرا نگه داشته ،محدوده دیگری را هم انتخاب
کنید (شکل .)1-21
اگر سلول یا محدوده ای انتخاب شده باشد و بعد از آن با نگه داشته کلید Shiftروی سلول دیگری کلیک کنید،
محدوده انتخاب از سلول فعال تا سلول جدید ،امتداد مییابد (شکل .)1-21
شکل :1-21بعد از انتخاب اولین سلول (شکل سمت راست) کلید Shiftنگه داشته شده و روی سلول پایین کلیک شده
است (شکل سمت چپ) .به این ترتیب محدوده بین دو سلول انتخاب شدهاند
اگر قصد دارید با کلید Shiftمحدوده را انتخاب کنید میتوانید پیش از انتخاب سلول دوم با استفاده از نوار
جابجایی ،به سلولهایی که پیش از آن دیده نمیشدند بروید.
به جای استفاده از ماوس ،میتوانید انتخابها را با کمک صفحه کلید نیز انجام دهید .انجام برخی کارها با این
روش ساده تر است .اولین قدم در استفاده از صفحه کلید ،جابجا کردن خانه فعال با کمک کلیدهای جهتدار
است؛ یعنی می توانید کلیدهای چپ ،راست ،باال یا پایین را بفشارید تا خانه فعال جابجا شود .با این کار فقط یک
خانه انتخاب میشود.
برای انتخاب خانههای متعدد با صفحه کلید ،بعد از انتخاب خانه اول ،کلید Shiftرا نگهداشته ،محدوده انتخاب
را در جهتی که در نظر دارید امتداد دهید.
یک ترفند بسیار مفید و سریع ،استفاده از کلید Ctrlاست .وقتی کلید Ctrlرا نگه دارید و کلیدهای جهتدار را
بفشارید ،به انتهای محدوده مقادیر خواهید رفت .به عنوان مثال اگر کلید Ctrlرا نگه دارید و کلید فلش پایین را
بفشارید ،به پایینترین خط جدول (مانند آخرین فعالیت در نمای گانت) منتقل خواهید رفت.
میتوانید روشهای جابجایی سریع را با روشهای انتخاب ترکیب کنید .به عنوان مثال اگر قصد دارید تمام
سلولهای ستون Startرا از ردیف پنجم تا انتها انتخاب کنید ،میتوانید پنجمین سلول Startرا انتخاب کرده،
کلیدهای Ctrlو Shiftرا نگه داشته ،فلش پایین صفحه کلید را بفشارید .با این کار محدوده انتخاب از آن خانه
تا پایینترین خانه کشیده میشود .در این ترکیب ،کلید Shiftباعث افزایش یافتن محدوده انتخاب تا مقصد و
کلید Ctrlباعث رسیدن به مقصد (پایینترین سلول) میشود.
قسمت عمدهای از شیوههای انتخابی که در این قسمت توضیح داده شدند در سایر نرمافزارهای تحت ویندوز و
به خصوص نرمافزارهای Officeنیز قابل استفادهاند.
وقتی عبارتی را تایپ کنید ،مقدار در سلول فعال وارد میشود .مقدار بعضی سلولها قابل ویرایش است ،در حالی
که برخی دیگر از سلولها اینگونه نیستند .این مسئله دالیل مختلفی میتواند داشته باشد .به عنوان مثال اگر
یک ستون اخت صاصی تعریف کرده باشید که مقدارهایش بر اساس فرمول به دست آیند ،مقدار هیچکدام از
سلولهای آن قابل ویرایش نخواهد بود .برخی دیگر از فیلدها ،مانند ( Durationمدت زمان) هر دو نوع رفتار را
دارند .مقدار مدت زمان فعالیتها را میتوان دستی وارد کرد ،در نتیجه این سلولها قابل ویرایش هستند ،در
حالی که مقدار مدت زمان خالصه فعالیتها بر اساس فعالیتهای زیرمجموعهشان محاسبه میشود ،در نتیجه
قابل ویرایش نیستند.
بسیاری از فیلدها فقط با تایپ یا Pasteشدن مقدار میگیرند؛ در حالی که برخی دیگر از فیلدها عالوه بر تایپ و
،Pasteبا استفاده از کادر بازشو نیز میتوانند مقدار بگیرند .وقتی چنین سلولهایی را انتخاب کنید ،در سمت
راست آنها یک فلش کوچک خواهید دید (شکل .)1-22
شکل :1-22سلول انتخاب شده دارای کادر بازشو است و به این خاطر در سمت راست آن فلش قرار دارد
وقتی روی فلش کلیک کنید ،یک کادر بازشو نمایش داده میشود و میتوانید مقدار سلول را از داخل آن انتخاب
کنید (شکل .)1-23
وقتی مقداری را در کادربازشو انتخاب کنید ،آن مقدار در سلول قرار خواهد گرفت .توجه داشته باشید که چنین
سلولهایی را به طور دستی و بدون استفاده از کادر بازشو نیز میتوان ویرایش کرد.
بسیاری از اطالعات Projectسلسله مراتبی هستند .منظور از سلسله مراتبی ،این است که برخی از عناصر
میتوانند زیرمجموعه برخی دیگر باشند.
معموال در هر لیست حداقل یک فیلد وجود دارد که سلسله مراتب را با تورفتگیها نشان دهد .این فیلد در
لیست فعالیتها ،فیلد Task Nameاست .در سایر لیستها نیز معموال از فیلد نام برای این کار استفاده میشود.
هر عنصر که زیرمجموعه عنصر دیگری باشد ،یک مرحله تورفتهتر از آن نشان داده میشود .عنصری که
تورفتگیاش به اندازه عنصر قبلی باشد ،هم سطح آن به شمار میرود (شکل .)1-25
عناصر دیگری نیز به تشخیص سلسله مراتب عناصر کمک میکنند .این عناصر ،معموال با عنوان کدهای
ساختاری ) (Outline Codeخوانده میشوند WBS .نمونه ای از کدهای ساختاری است که سلسله مراتب لیست
فعالیتها را نشان میدهد.
در سمت چپ تمام عناصری که زیرمجموعه داشته باشند ،عالمتی وجود دارد؛ زمانی عالمت یا نشان داده
میشود ،که زیرمجموعههای آن مخفی شده باشند؛ اگر روی آن عالمت کلیک کنید ،زیرمجموعهها نمایش داده
یا تبدیل میشود .اگر روی آن عالمت کلیک کنید نیز زیرمجموعهها مخفی شده ،عالمت شده ،عالمت به
به یا تبدیل خواهد شد (شکل .)1-26
به عنصری که زیرمجموعه عنصر دیگری نباشد ،سطح 1و به عناصری که زیرمجموعه عناصر سطح 1باشند،
عناصر سطح 2گفته میشود .به این ترتیب سطح بندی تمام عناصر از 1به بعد مشخص میشود .البته شماره
(Project سطوح در یک مورد ،به جای 1از صفر شروع میشود .این مورد زمانی است که خالصه فعالیت پروژه
) Summary Taskنمایش داده شده باشد .این آیتم سطح صفر خواهد بود.
توجه داشته باشید که در شکلهای مثال این کتاب معموال سطح 1و 2با پسزمینه نمایش داده میشوند .این
مسئله الزامی نیست و فقط برای افزایش خوانایی شکلها به کار میرود .امکان تعیین رنگ برای پسزمینه در
نسخههای قدیمیتر از 2117وجود ندارد.
یکی از مسایلی همیشگیِ کاربران ایرانی ،تایپ فارسی و تاریخ شمسی است .خوشبختانه پراجکت کامال از
سیستم یونیکد پشتیبانی میکند .در نتیجه هیچ مشکلی در تایپ فارسی وجود ندارد و فقط الزم است که
ورودی زبان فارسی در ویندوز تنظیم شود .در مورد تاریخ شمسی امکان پیشفرضی وجود ندارد و باید از یکی از
روشهایی که در این فصل توضیح داده میشود کمک گرفت.
-1از منوی Startویندوز به Control Panelبروید .اگر چنین گزینهای وجود ندارد ،کلیدهای
Winkey+Rرا فشرده ،در کادر محاورهای که باز میشود Controlرا تایپ و اجرا کنید.
-3در کادر محاورهای که به این ترتیب باز میشود ،به زبانه Languageبروید (شکل .)2-1
. را فعال کنیدInstall files for complex script and right-to-left languages گزینه-4
37 صفحه www.khorramirad.info
راهنمای جامع Microsoft Project 2013فصل :2تایپ فارسی و تاریخ شمسی
-6روی دکمه Detailsکلیک کنید .با این کار کادر محاوره شکل 2-2باز خواهد شد.
-7اگر گزینه Farsiدر گزینهها وجود ندارد ،روی Addکلیک کرده ،آن را انتخاب کنید.
-8در تمام کادرهای محاوره روی OKکلیک کنید و از همه آنها خارج شوید.
بعد از این می توانید با استفاده از آیکون تغییر زبان که در نوار ابزار ویندوز قرار دارد یا کلیدهای میانبر
،Alt+Shiftزبان را عوض کنید.
Persian تنظیم ویستا تفاوت خاصی با ویندوز XPندارد؛ به جز آنکه زبان فارسی را به جای عنوان ،Farsiبا
میشناسد.
-1از منوی Startویندوز Control Panel ،را اجرا کنید .اگر چنین گزینهای وجود ندارد ،کلیدهای
Winkey+Rرا فشرده ،در کادر محاورهای که باز میشود عبارت Controlرا وارد و اجرا کنید.
-2گزینه Regional and Language Optionsرا اجرا کنید .اگر از نمای غیر کالسیک استفاده میکنید،
گزینه مربوطه در قسمت Clock, Language and Regionقرار دارد.
-3به زبانه Keyboards and Languagesکه در شکل 2-3نمایش داده شده است بروید.
-4روی Change Keyboardsکلیک کنید .با این کار کادر محاوره شکل 2-4باز خواهد شد.
-5اگر گزینه Persianدر لیست وجود ندارد ،روی دکمه Addکلیک کنید (شکل .)2-5
-7چند بار روی دکمههای OKرا کلیک کنید تا از تمام کادرهای محاوره خارج شوید.
برای فعال کردن تایپ فارسی در ویندوز 8به کنترل پنل رفته ،گزینه Change Input Methodsرا اجرا کنید
(شکل .)2-6
بعد از آن روی Add a Languageکلیک کرده ،گزینه Persianرا انتخاب کنید (شکل .)2-7
جهت متن
متاسفانه پراجکت از معدود نرم افزارهای مایکروسافت است که قابلیت تعیین جهت متن ندارد .متنهای پراجکت
چپ به راست هستند و به این خاطر برای نوشتههای فارسی مشکالتی ایجاد میکنند .به عنوان مثال ،وقتی در
یک جمله فارسی کلمهای التین وجود داشته باشد ،محل اجزای جمله جابجا میشود.
این مشکل راه حل سادهای ندارد و باید با تغییر دادن متن عبارتها ،مشکالت را حداقل کنید .برخی از
نرمافزارهای فارسیساز پراجکت ،که عمدتا برای افزودن تاریخ شمسی به کار میروند ،دارای قابلیتهایی برای
اصالح جهت متن هستند.
تاریخ شمسی
متاسفانه Projectبه خودی خود قابلیتی برای پشتیبانی از تاریخ شمسی ندارد .با توجه به اینکه اکثر پروژههای
ایرانی بر اساس تاریخ شمسی کنترل میشوند ،با مشکل مواجه خواهید شد.
استفاده از شمسیسازهای تجاری :شمسیسازها یا اصطالحا فارسیسازهای تجاریِ متعددی برای
Projectوجود دارند که پس از نصب امکان نمایش شمسیِ تاریخها را به نرمافزار اضافه میکنند .آنچه
در این حالت اضافه میشود ،یک حالت نمایشی جدید است و تاریخها به شیوه معمولی ذخیره
میشوند ،در نتیجه اگر فایل را به دستگاه دیگری که فاقد شمسیساز است منتقل کنید ،تاریخها با
معادل های میالدی دیده خواهند شد .نکته مهم این است که اگر دو شرکت مختلف از دو فارسیساز
متفاوت استفاده کنند نیز با مشکلی مواجه نخواهند شد .با وجود آنچه گفته شد ،گاهی معادل شدن
تاریخها با مشکالتی روبرو میشود .این فارسیسازها معموال با قفلهای سختافزاری یا نرمافزاری
فروخته میشوند.
استفاده از برنامههای VBAرایگان :میتوانید یک برنامه VBAبنوسید که تاریخهای میالدی را از
فیلدهای مربوطه خوانده ،آنها را پس از تبدیل در فیلدهایی اختصاصی که برای این کار در نظر گرفته
شده است بنویسد .به این ترتیب میتوانید در جدولها ستونهایی برای مشخص کردن تاریخهای
فارسی داشته باشید .این روش محدودیت های زیادی دارد؛ زیرا به عنوان مثال اگر بخواهید با استفاده
از فیلترهای استاندارد فعالیتها را بر اساس تا ریخ فیلتر کنید ،از فیلدهای اصلی تاریخ که شمسی
نیستند استفاده خواهد شد .نمودار گانت نیز با این ترتیب فارسی نمیشود .برنامههای VBAآماده و
رایگان متعددی در اینترنت وجود دارد که میتوانید آنها را با کمی جستجو بیابید.
استفاده از فرمولهای شمسیساز :یک راه دیگر این است که با فرمولنویسی فیلدهای اختصاصی
جدیدی بسازید که معادل شمسی فیلدهای تاریخ را نشان دهند .این روش امتیازی بر استفاده از
VBAدارد ،و این است که اجرای آن در سیستمهایی که محدودیتهای امنیتی دارند و اجازه اجرای
VBAرا نمیدهند دچار مشکل نخواهد شد .تمام نکات منفی شمسیسازهای VBAدر این روش نیز
وجود دارد ،به اضافه این که اجرای آن بسیار کندتر است و برای برنامههایی که تعداد فعالیت زیادی
دارند به هیچ وجه توصیه نمیشود .این فرمولها را نیز میتوانید با جستجو در اینترنت بیابید.
Projectنرمافزاری برای برنامهریزی و کنترل برخی جنبههای پروژه است .به همین خاطر تا ندانید که
برنامهریزی و کنترل چیست نمیتوانید از نرم افزار به خوبی استفاده کنید .مبحث گفته شده خارج گستره این
کتاب قرار میگیرد و انتظار میرود که آن را از منابع دیگر بیام وزید؛ با این حال در این فصل مدیریت پروژه و
ارتباط آن با نرمافزارهای برنامه ریزی را به طور بسیاری اجمالی و صرفا جهت یادآوری برخی مسایل زیربنایی و
تاثیرگذار مرور خواهیم کرد.
برنامهریزی پروژه مجموعهای از پیشبینیها و سیاستگذاریهاست که به اجرای پروژه شکل میدهد .هدف این
است که برای هر نوع اتفاق آماده باشیم و تصمیمگیریها را به لحظه آخر نسپاریم ،زیرا معموال با اقدامهای
سریعتر می توان جلوی بروز مشکالت را گرفت و از فرصتها نهایت استفاده را کرد .اجرای پروژه اصوال چیزی
نیست جز محقق کردن برنامه پروژه.
برنامه پروژه جنبههای مختلفی دارد که هرکدام یکی از وجههای اجرا را شکل میدهد .استاندارد مدیریت پروژه
PMBOK Guideاین جنبهها را به ده گروه تقسیم میکند ،که بعضی از آنها به درجات مختلف در پراجکت
قابل برنامهریزی هستند .جدول بعد نقش پراجکت را در قبال حوزههای دانش مدیریت پروژه نشان میدهد.
- یکپارچگی
- کیفیت
میتوان از پراجکت برای قسمتهایی از مدیریت منابع انسانی کمک گرفت. منابع انسانی
- ارتباطات
- ریسک
- تدارکات
- ذینفعان
پس همیشه در نظر داشته باشید که برنامهای که در پراجکت تهیه میکنید برای مدیریت پروژه کافی نیست و
فقط بخشی از برنامهها را شکل میدهد.
اصوال برنامه ریزی پروژه یکی از اولین کارهاییست که باید انجام دهید .گاهی اوقات تهیه برنامه زمانبندی را به
مدتی بعد از شروع پروژه موکول میکنند ،که فقط نشاندهنده این است که وجود برنامه در پروژه جنبه صوری
دارد.
تا وقتی که اولین نسخه برنامه ها را کامل نکرده باشید نباید اجرای پروژه را شروع کنید؛ این یک قانون است.
اجرای پروژه چیزی نیست جز محقق کردن برنامهها ،در نتیجه تا زمانی که برنامهای نباشد ،اجرا نیز نمیتوان
کرد.
در آخر اینکه برنامهریزی پروژه بعد از تکمیل اولین نسخه برنامهها پایان نمییابد ،بلکه تا پایان پروژه ادامه پیدا
میکند تا با اصالح و بهبود دایمی برنامهها امکان اجرای مناسب را به وجود آورد.
شکل 3-1چرخه حیات برنامهریزی پروژه را مطابق با استاندارد PMBOK Guideنشان میدهد.
اولین نسخه برنامهها همیشه باید کامل باشد ،ولی گاهی نمیتواند تفصیلی باشد ،زیرا آینده پروژه هنوز به
روشنی مشخص نشده است .در این حالت مجاز هستیم که پروژه را به صورت کالن برنامهریزی کنیم و بعد از
آن به تدریج آینده نزدیک را به تفصیل برنامهریزی و بعد اجرا کنیم PMBOK Guide .این روش که اصطالحا
Rolling-Wave Planningنامیده میشود را مجاز میداند (شکل .)3-2
زمان
تهیه برنامه کالن اصال و بهبود دایمی برنامه کالن و برنامههای تفصیلی
استاندارد PRINCE2توصیه میکند که همیشه پروژه را مانند حالت دوم به صورت تدریجی برنامهریزی تفصیلی
کنید ،با این حال برنامهریزی تفصیلی یکباره را نیز مجاز میداند .ولی PMBOK Guideشما را تشویق میکند
که پروژه را یکباره به تفصیل برنامهریزی کنید ،مگر اینکه امکان آن وجود نداشته باشد.
حتی اگر قرار نیست پروژه یکباره برنامه ریزی شود ،باز هم باید برنامه کالن آن را در ابتدای کار تهیه
کنید.
هیچ کاری را نمیتوان اجرا کرد ،مگر اینکه پیش از آن به تفصیل برنامهریزی شده باشد.
برنامهریزی را نباید پس از تکمیل اولین نسخه متوقف کرد و باید همواره با اصالح و بهبود دایمی آن
امکان اجرای مناسب را فراهم کرد.
بعضی از کارشناسان و دستاندرکاران پروژهها با منفیبافی میگویند که وضعیت اجرای پروژهها در ایران مناسب
نیست و در نتیجه برنامهریزی و کنترل پروژه معنایی ندارد .تمام دالیلی که از نظر آنها منجر به این قضاوت
میشود را میتوان برای حذف مدیریت پروژه ،سرپرستهای اجرایی ،نیروهای کارشناس ،کارگران ،ماشینآالت و
سایر منابع اجرای پروژه نیز به کار برد و عمال هیچ پروژهای را اجرا نکرد.
اگر پروژه نیاز به مدیر پروژه و سرپرست اجرایی داشته باشد ،نیاز به برنامهریزی و کنترل پروژه نیز خواهد داشت.
فرقی ندارد که سیستم مدیریت پروژه شما چقدر آشفته یا ضعیف باشد ،باز هم میتوانید در مقام برنامهریزی و
کنترل اطالعات مفیدی به مدیران ارائه و از این طریق بنیه تصمیمهایشان را تقویت کنید.
مدلسازی پروژه
متاسفانه تصور اکثر افراد از برنامهریزی اشتباه است .در نظر آنان برنامه زمانبندی تصویری از اجرای پروژه است
که در ابتدای کار تهیه میشود و میتوان تا انتهای کار به آن نگاه کرد و تفاوتهای اجرا را با آن کشف کرد.
واقعیت این است که برنامه زمانبندی مدلی شبیهسازی شده پروژه است .همانطور که برای طراحی سازه از
مدلهای شبیهسازی شده سازه استفاده میکنند ،برای مدیریت پروژه نیز از مدلی شبیهسازی شده استفاده
میکنند که همان برنامه زمانبندی است.
برنامه زمانبندی ماهیتی کامال پویا است و نباید از آن انتظار داشت که همیشه ظاهری ثابت داشته باشد .پیش
از شروع کار میتوان با دیدن مدل ،روند کاری که برنامهریزی شده است را فهمید .بعد از اینکه اجرای پروژه
شروع شود ،باید دایما اطالعات واقعی را در برنامه وارد کرد .بعد از این مرحله برنامه تغییر شکل میدهد و
وضعیت فعلی و آینده پروژه را نشان میدهد .این مدل تاثیر اتفاقات واقعی را بر برنامهریزیهای آینده نشان
میدهد.
شبیهسازی پروژه در قالب مدلی که برنامه زمانبندی نام دارد کارکردهای مهمی دارد که از این قرارند:
در هر زمان میتوان وضعیت واقعی پروژه را به درستی ارزیابی کرد و فهمید .شاید به نظرتان
عجیب بیاید ،ولی بسیاری از مدیران و کارشناسان خبره نیز نمیتوانند بدون این ابزار وضعیت پروژه را
به خوبی ارزیابی کنند و فریب میخورند.
میتوان برای آینده برنامهریزی کرد .وقعی اطالعات واقعی در برنامه وارد شوند ،تاثیر آنها بر
آینده پروژه نیز مشخص میشود .اگر وضعیت نامطلوبی در آینده مدلسازی شده پروژه دیده شود،
میتوان پیش از آنکه دیر شود چارهای برایش اندیشید.
میتوان راه حل یافت .یافتن راه حل برای رفع مشکالت فعلی و مشکالتی که در آینده رخ خواهند
داد کار سادهای نیست .مد ل پروژه ابزار بسیار خوبی برای یافتن راه حل است .برنامه زمانبندی از دو
طریق به این کار کمک میکند:
با نشان دادن حساسیتها ،وابستگیها ،توالیها ،نیازها و سایر عوامل ،به کشف سناریوهای o
حل مشکل کمک میکند.
oمیتوان سناریوهای حل مشکل را در برنامه وارد کرد و نتیجه آنها را ارزیابی کرد .به این
ترتیب میتوان بهترین سناریو و به عبارت دیگر بهترین راه حل را انتخاب کرد.
هدفمندی برنامه
یکی دیگر از مشکالت رایج در برنامهریزی ،این است که دادههای فراوانی را بدون هدف به برنامه اضافه میکنند.
مثال هزینهها ،احجام کاری و نیر وی انسانی را با صرف انرژی فراوان استخراج میکنند و در برنامه قرار میدهند.
ولی برای چه؟
باید برای هر دادهای که در برنامه قرار داده میشود دلیلی پذیرفتنی داشت و این کار زمانی ممکن است که
اهداف برنامه ریزی و کنترل پروژه مشخص شده باشد .به عنوان مثال ممکن است سازمانی بخواهد در هر زمان
بودجه الزم برای دو هفته آینده خود را بداند .در این صورت باید ابزارهای الزم برای این کار مشخص شوند ،که
یکی از آنها برآوردهای هزینه فعالیتهاست.
شاید گمان کنید هر دادهای که در برنامه قرار میگیرد ممکن است روزی به کاری آید و به هر حال وجود آن
ضرری ندارد .خیر ،وجود دادهها ضرر دارد! هرچه دادههای برنامه بیشتر باشند ،برنامه پیچیدهتر خواهد شد و در
زمان کنترل مشکالت بیشتری ایجاد خواهد کرد.
نمونه خوبی از مشکالت ناشی از دادههای بیهدف ،منابع است .بسیاری از سازمانها به اشتباه اعتقاد دارند که
برنامه زمانبندی کامل و حرفهای ،برنامهای است که منبع داشته باشد .به این خاطر عدهای گرد هم میآیند و
برآوردهایی از منابع فعالیتها تهیه و آن را در برنامه وارد میکنند .ولی کار در این حد باقی میماند! منابعی که
در برنامه وارد شدهاند به شیوهای هدفمند عملیاتی نمیشوند و در نتیجه محصولی نخواهند داشت .در
قسمتهای بعدی کتاب خواهید دید که وجود منبع در برنامه چه پیچیدگیها و مشکالتی به وجود میآورد .هر
برنامه ای نیاز به منبع ندارد .باید کارشناسی خبره نیازها و امکانات را بسنجد و مشخص کند که بهتر است برنامه
با منبع نوشته شود یا بدون منبع.
تمام مسایل برنامه ریزی را باید بر اساس اهداف کنترلی تعیین کرد .هیچ ماهیتی را نباید به برنامه اضافه کرد،
مگر اینکه کاربرد آن تعیین شده باشد و قرار باشد که در آینده عملیاتی شود.
تفصیل برنامه
اشتباه دیگری در حوزه برنامهریزی ،این است که گمان میکنند هرچه تعداد فعالیتهای برنامه بیشتر باشد،
حرفهایتر و بهتر است .خیر ،در هر شرایط تعداد خاصی از فعالیتها مناسب است و این مسئله باید با
کارشناسی یک فرد خبره تعیین شود .اگر تعداد فعالیتها بیشتر از حد اپتیمم باشد ،کنترل را پیچیده و کند
میکند و احتمال بروز اشتباه افزایش مییابد .اگر تعداد فعالیتها کمتر از حد اپتیمم باشد ،رفتار مدل به اندازه
کافی دقیق نخواهد بود و در نتیجه محصولِ برنامه دقت کمتری خواهد داشت.
ابزار برنامهریزی
میتوان با قلم و کاغذ هم برنامهای حرفهای ،هدفمند ،عملیاتی و کاربردی به وجود آورد ،طوری که حقیقتا در
گذشتههای دور نیز انجام می شد .برخی مدیران پروژه خبره که کارشناسان کافی در اختیار ندارند و با
فنآوری های روز نیز آشنا نیستند کماکان چنین کاری را به خوبی انجام میدهند .بعضی از آنها آشنایی
محدودی با نرمافزارها دارند و برنامهریزی و کنترل را در نرمافزارهایی عمومی مانند اکسل انجام میدهند و در
کار خود موفق نیز هستند.
بسیاری از کسانی که در حوزه برنامه ریزی و کنترل پروژه مشغول به کار هستند خود را بیش از اندازه درگیر
نرمافزارها میکنند ،طوری که محصول واقعی کارشان محدود ،ضعیف و بیکاربرد میشود.
همیشه جنبههای کاربردی کار را در نظر داشته باشید و اجازه ندهید که محیط نرمافزار شما را منزوی کند.
اگر مایل هستید که با بایدها و نبایدهای برنامهریزی بیشتر آشنا شوید ،میتوانید به کتاب قواعد زمانبندی
پروژه ،تالیف نادر خرمی راد و منتشر شده از سوی انتشارات دیباگران تهران مراجعه کنید .در این کتاب 19
قاعده توصیه میشود که از این قرارند:
تمام این قواعد در طول کتاب و بسته به موضوعی که آموزش داده میشود به طور مختصر توضیح داده خواهند
شد.
این فصل ساخت برنامه زمانبندی جدید و تنظیمهای اصلی و اولیه را توضیح میدهد.
ساخت برنامه جدید با کمک برنامههای موجود و الگوها یا از ابتدا انجام میشود .هرچند که رایجترین راه همان
است که برنامه را از ابتدا بسازیم .بعد از بررسی این موارد دو تنظیم مهم را بررسی خواهیم کرد .یکی شیوه
برنامهریزی پروژه است که میتواند بر اساس تاریخ شروع و رو به جلو یا بر اساس تاریخ پایان و رو به عقب باشد.
در این مورد نیز شیوه اول رایج است و به ندرت پیش میآید که پروژهای را رو به عقب برنامهریزی کنند .آخرین
تنظیم در مورد شیوه زمانبندی فعالیت هاست؛ قابلیت جدیدی که از نسخه قبلی پراجکت اضافه شده بود .در
نسخههای جدید میتوان فعالیتها را به طور خودکار یا دستی برنامهریزی کرد .برنامهریزی دستی فعالیتها با
اصول زمانبندی تناقض دارد و به همین خاطر توصیه می شود که به هیچ وجه از آن استفاده نکنید و در این
کتاب نیز توضیح داده نمیشود.
استفاده از الگو این امتیاز را دارد که تنظیمهای رایج شرکت ،مانند تقویمها ،محاسبات زمانی ،قالببندی چاپ و
مانند آنها از ابتدا موجودند .اگر الگویی وجود نداشته باشد میتوان از برنامههای قبلی به عنوان الگو استفاده
کرد .در این صورت پیش از شروع کار باید فعالیتها و منابع برنامه قبلی را پاک کرد.
اگر الزم است که دایما برنامههای جدید بنویسید ،بهتر است یک فایل خام بسازید که حاوی تمام تنظیمهای
مشترک باشد و از آن به عنوان الگویی برای ساخت تمام برنامهها استفاده کنید.
اگر مایل باشید که برنامه را از ابتدا بنویسید ،باید فایل جدیدی بسازید .وقتی Projectرا باز کنید ،به طور
پیشفرض صفحه شروع باز میشود (شکل .)4-1
اگر مایل هستید که برنامه جدیدی بدون استفاده از کلیشه بسازید ،روی Blank Projectکلیک کنید.
هر زمان که مایل باشید میتوانید کلیدهای میانبر Ctrl+Nرا بفشارید تا فایل جدیدی ساخته شود .این میانبر
در اکثر نرمافزارها به همین ترتیب کار میکند.
میتوانید به جای میانبر ،به قسمت Newزبانه Fileریبون مراجعه کنید تا صفحه شروع باز شود.
هر برنامهای که در Projectفعال باشد ،نامش در نوار عنوان برنامه ،بعد از عبارت ،Microsoft Projectنشان داده
میشود .وقتی برنامه جدیدی میسازید ،نامی پیشفرض به صورت ProjectXخواهد داشت؛ Xعددی است که
برای اولین برنامه جدید 1و برای بقیه 2و ...خواهد بود .در زمان ذخیرهسازی میتوانید نامی به جز نام
پیشفرض به برنامه اختصاص دهید.
در پنجره شروع گزینهای به نام New from existing projectوجود دارد که برای ساخت برنامه زمانبدی جدید
بر اساس یکی از برنامههای قبلی است .میتوانید به جا ی استفاده از این گزینه فایل قبلی را با حالت معمولی باز
کنید ،آن را Save Asکرده ،کار را ادامه دهید.
در صفحه شروع پراجکت تعدادی الگو همراه با پیشنمایشی از ظاهرشان نمایش داده میشوند .وقتی روی گزینه
مورد نظرتان کلیک کنید ،باز خواهد شد .الگویی که به این ترتیب باز میشود مجموعهای از تنظیمها و اطالعات
است که باید اصالح شوند.
اگر الگوی مورد نظر خود را در صفحه شروع نیافتید ،کلمات کلیدی آن را در کادر جستجوی باالی صفحه وارد
کنید تا در سرور مایکروسافت جستجو و در صورت وجود نمایش داده شود.
اولین قدم برای ساخت برنامه جدید ،تنظیم مشخصات کلی آن است .بعد از اینکه برنامه جدیدی ساختید ،از
ریبون Project| Project Informationرا اجرا کنید تا کادر محاوره شکل 4-2باز شود.
تمام اطالعات این قسمت را میتوان بعد از تکمیل برنامهریزی و حتی در زمان کنترل پروژه نیز تغییر داد.
هر پروژه ،تاریخ پایان و تاریخ شروعی دارد .اصوال در برنامهها فقط یکی از این دو تاریخ مشخص میشود و تاریخ
دیگر بر اساس زمانبندی برنامه به دست میآید .نوع برنامهریزی ،در کادر Schedule fromمشخص میشود .اگر
گزینه Project Start Dateرا انتخاب کنید ،فیلد Start Dateفعال و فیلد Finish Dateغیر فعال میشود و
میتوانید تاریخ شروع پروژه را تعیین کنید .اگر گزینه Project Finish Dateرا انتخاب کنید ،فیلد Start Date
غیر فعال و Finish Dateفعال میشود و میتوانید تاریخ پایان را وارد کنید.
برنامهریزی معموال بر اساس تاریخ شروع انجام میشود .برنامهریزی بر اساس تاریخ پایان تفاوتهای زیادی با
شیوه معمول دارد ،هرچند که از اصول مشابهی پیروی میکند .کنترل پروژه برنامههای مبتنی بر تاریخ پایان نیز
پیچیدگیهای خاص خود را دارد .اگر قبال برنامه ریزی بر اساس شروع را تجربه کرده باشید ،باید مدتی تمرین
کنید تا بتوانید بر اساس پایان برنامهریزی کنید .در هر حال برنامهریزی بر اساس تاریخ پایان توصیه نمیشود و
در این کتاب نیز مستقیما آموزش داده نمیشود ،هرچند که میتوانید با دانستههای این کتاب بر اساس تاریخ
پایان نیز برنامهریزی کنید.
تاریخ شروع و پایان مشخص :اگر قرار باشد برای پروژهای که قرارداد آن بسته شده است
برنامهریزی کنید ،تاریخهای شروع و پایان از ابتدا برایتان معلوم خواهند بود .این وضعیت ،متداولترین
حالت است .در این شرایط باید از برنامهریزی مبتنی بر شروع استفاده کنید .بعد از اینکه برنامه را
کامل کنید ،زمان پایان محاسبه می شود .اگر زمان پایان برنامه بر زمان پایان مشخص شده در قرارداد
منطبق نباشد ،باید آنقدر برنامهریزی را تغییر دهید ،تا منطبق شوند.
تاریخ پایان و شروع مشخص نیست :ممکن است در حال برنامهریزی پروژهای باشید که در مرحله
مطالعات اولیه است .در چنین شرایطی ،مشخص نیست که پروژه از چه تاریخی شروع خواهد شد .از
طرف دیگر ،چون پ روژه در مرحله مطالعاتی است ،مدت زمان آن و در نتیجه تاریخ پایان نیز معلوم
نیست .در چنین شرایطی ،از برنامهریزی مبتنی بر تاریخ شروع استفاده میشود .بعد از تکمیل
برنامهریزی ،مدت زمان پروژه نیز به دست میآید که میتوانید آن را به کارفرما اعالم کنید .در مورد
تاریخ شروع نیز می توانید هر تاریخی که مایل باشید را قرار دهید .بعد از آن بهتر است فیلدهای Start
و Finishجداول را ،که تاریخها را نشان میدهند ،حذف کنید .اگر مایل باشید میتوانید یک فیلد
اختصاصی تعریف کنید که مدت زمان سپری شده از ابتدای پروژه تا زمان شروع هر فعالیت را نشان
دهد .در مورد نمودار گانت نیز میتوانید آن را تنظیم کنید تا به جای تاریخها ،مدت زمانهای
سپریشده را نشان دهد.
فقط تاریخ شروع مشخص است :این حالت نیز زمانی پیش میآید که پروژه در مرحله مقدماتی
باشد ،و در عین حال با پیشبینیهای انجام شده ،تاریخی برای شروع پروژه تعیین شده باشد .در این
حالت نیز از شیوه برنامهریزی مبتنی بر شروع استفاده میشود .بعد از برنامهریزی میتوانید مدت زمان
و تاریخ پایان پروژه را به کارفرما اعالم کنید.
فقط تاریخ پایان مشخص است :فرض کنید الزم است که پروژه در زمان خاصی تکمیل شده باشد،
تا به عنوان مثال از آن برای کار خاصی استفاده شود .در این حالت میتوانید آن را به دو شیوه
برنامهریزی کنید:
oبرنامهریزی بر اساس تاریخ پایان :پروژه ای که تاریخ پایان مشخص دارد و تاریخ شروع آن
مشخص نیست تنها حالتی است که استفاده از برنامهریزی مبتنی بر تاریخ پایان را توجیه
میکند .ولی حتی در این حالت نیز مجبور به استفاده از این نوع برنامهریزی نخواهید بود.
oبرنامه ریزی بر اساس تاریخ شروع :از تاریخ روز به عنوان تاریخ شروع استفاده کنید .بعد از
اینکه زمانبندی مشخص شد ،تاریخ پایانی به دست میآید .آنقدر تاریخ شروع را جابجا
کنید تا تاریخ پایانی که محاسبه میشود بر تاریخ پایان مورد انتظار منطبق شود.
یکی از قابلیتهای جدید Projectکه از نسخه 2111به آن اضافه شده بود ،برنامهریزی غیر خودکار آیتمها
(فعالیتها ،مایلستونها و خالصهفعالیتها) است .فیلدی به نام Task Modeوجود دارد که نوع برنامهریزی تک
تک آیتمها را مشخص میکند .عالوه بر آن تنظیمی هم وجود دارد که نوع پیشفرض آیتمها را مشخص میکند.
برنامهریزی هر آیتم جدیدی که ساخته میشود مطابق تنظیم پیشفرض خواهد بود ،ولی با تغییر پیشفرض،
تنظیم آیتمهایی که قبال ساخته شده باشند تغییر نمیکند.
متاسفانه تنظیم پیشفرض Projectبرنامهریزی غیر خودکار است و این شیوه برنامهریزی با منطق پویا و
عملیاتی برنامه ریزی تناقض دارد و استفاده از آن برای کاربران واقعی پراجکت توصیه نمیشود .این قابلیت بیشتر
مناسب حال کسانی است که قصد دارند بدون داشتن اطالعات کافی از نرمافزار و اصول برنامهریزی ،برنامههای
بسیار ساده پدید آورند .به همین خاطر این قابلیت در این کتاب توضیح داده نمیشود.
در صورتی که قصد ندارید از برنامهریزی غیر خودکار استفاده کنید ،بهتر است که پیش از ساختن آیتمها تنظیم
پیشفرض را اصالح کنید تا در ادامه کارتان مشکلی پیش نیاید .برای تنظیم پیشفرض ،روی گزینهای که پایین
و سمت چپ پنجره نرمافزار قرار دارد کلیک کنید تا منوی شکل 4-3باز شود.
برای پیشفرض شدن برنامهریزی خودکار ،گزینه Auto Scheduleرا انتخاب کنید.
ساختار شکست کار ) (WBSمفهوم بسیار مهمی در مدیریت پروژه است و بدون در اختیار داشتن ساختار
شکست کاری مناسب عمال تمام برنامهریزیها و در نتیجه کل روند مدیریت پروژه دچار مشکل خواهد شد.
بررسی شیوههای تدوین ساختار شکست کار پروژه در گستره این کتاب قرار نمیگیرد ،ولی توصیه میشود که
در این مورد به کتاب الکترونیکی رایگان راهنمای تدوین ساختار شکست کار بر اساس استانداردهای PMBOK
و ،PRINCE2تالیف این نگارنده ،مراجعه کنید.
این فصل تدوین ساختار شکست کار و فعالیتها را همزمان توضیح میدهد ،زیرا این مفاهیم کامال متفاوت در
Projectبا مفهوم زیربنایی یکسانی پیادهسازی میشوند .با این حال باید تفاوتهای مفهومی این دو را همیشه
در نظر داشته باشید و اجازه ندهید که رویکرد Projectذهنیت نادرستی برایتان به وجود آورد.
تنظیم WBS
ساختار شکست کار مناسب ،خوانایی برنامه را افزایش میدهد و استخراج اطالعات کنترلی آن را هم سادهتر
میکند .ساختار شکست کار بازنمایی گستره ) (Scopeپروژه در برنامه زمانبندی و بسیاری دیگر از برنامههای
مدیریت پروژه است و باید با دقت و توجه کافی تهیه شود.
همین لیست بعد از دستهبندی و ایجاد سطحبندی ،که عمال ساخت WBSاست ،به صورت شکل 5-2دیده
خواهد شد.
همانطور که دیده میشود ،در حالت دوم فعالیتهایی که برای تکمیل یک محصول میانی که اصطالحا
تحویلشدنی ) (deliverableنامیده میشوند الزم بودهاند ،در دستهبندیهای مجزایی قرار گرفتهاند .هر دو یا سه
دستهبندی نیز در دستهبندی کلیتری قرار گرفته است.
در این حالت هم مرور فعالیتها سادهتر میشود و هم اطالعات خالصهسازی شده عناصر ،WBSکه خالصه
فعالیت نامیده میشوند در اختیارتان خواهند بود .هر خالصه فعالیت ،خالصهای از اطالعات فعالیتهای
زیرمجموعه خود را نشان میدهد .به این ترتیب ،وقتی فعالیتهای هم نوع را در یک دسته قرار دهیم ،میتوانیم
به راحتی اطالعات مربوط به مجموعه آن ها را هم در اختیار داشته باشیم .به عنوان نمونه ،اگر کل فعالیتهای
پروژه را به مجموعههای ساختمان اصلی ،ساختمان فرعی و محوطه تقسیم کنیم ،دایما میتوانید بدانید که
هرکدام از مجموعهها چه مقدار پیشرفت کردهاند ،چه انحرافهایی دارند ،چه تاخیرهایی دارند و ...
فعالیتها را به شیوههای مختلفی میتوان دسته بندی کرد .به عنوان مثال ،میتوانید آنها را در یک سطح به
بلوکهای مختلف پروژه و در سطح بعدی به انواعی مانند ابنیه ،تاسیسات مکانیکی و تاسیسات برقی خرد کنید،
یا برعکس ،آنها را ابتدا به انواع و بعد به بلوکها خرد کنید (شکل .)5-3
هر شیوه شکست امتیازهای خود را دارد .در واقع معیارهای متفاوتی برای شکست پروژه وجود دارد و هرکدام نیز
کارکردهای کنترلی خاص خود را دارند .مسئولیتها ،منابع ،واحدهای کارکردی ،محل ،زمان و ریسکها همگی
می توانند برای شکست پروژه به کار روند .با این حال یک معیار در این بین بیشترین کاربرد را دارد و مدیریت
پروژه بدون آن موفقیت چندانی نخواهد داشت؛ این معیار تحویلشدنیهای پروژه است .ساختار شکست کار
همیشه باید بر اساس تحویلشدنی های پروژه تنظیم شود و اگر نیاز به مدیریت دقیق سایر معیارها دارید ،باید
ساختارهای شکست ثانویهای مطابق آنچه در فصل 14توضیح داده میشود بسازید ،نه اینکه ساختار شکست
کار را تغییر دهید.
این دو ساختار مجموعه فعالیت یکسانی را به دو شیوه متفاوت دستهبندی کرده است .ساختار 1مبتنی بر
محصولهای میانی و به عبارت دیگر تحویلشدنیهای پروژه است ،در حالی که ساختار 2مبتنی بر نوع
کارهاست که مستقیما متناظر با محصولهای پروژه نمیشوند .بنابر این باید به جای ساختار 2از ساختار 1
استفاده کنید.
ساختار شکست کار بازنمایی گستره پروژه است و باید همیشه جامع و مانع باشد ،یعنی هم تمام کارهای پروژه
را شامل شود و هم کار اضافه ای در آن وجود نداشته باشد .این مسئله در مورد برنامههایی که در میانه کار تهیه
میکنید نیز برقرار است ،به این معنی که هیچگاه نباید برنامهای بنویسید که صرفا باقیمانده کارهای پروژه را
پوشش دهد ،بلکه همیشه باید کل کارهای قرارداد و کارهایی که بعدا مطابق با قرارداد اضافه یا کم شدهاند را
منعکس کند.
نام تمام خالصه فعالیتها و فعالیتها باید منحصر به فرد باشد .ساختارهای زیر دو حالت منحصر به فرد و غیر
منحصر به فرد را نشان میدهد:
نام عناصر در ساختار 1منحصر به فرد و در ساختار 2غیرمنحصر به فرد است .به همین خاطر همیشه باید
مطابق ساختار 1عمل کنید و کامال از ساختار 2اجتناب کنید .این مسئله عالوه بر اینکه مانع بروز بسیاری از
اشتباهها میشود و مطابق با استانداردها و آییننامههاست ،امکان استفاده از قابلیت گروهبندی و همچنین
پیادهسازی ساختارهای شکست ثانویه را نیز فراهم میکند.
Projectتمایزی زیربنایی بین فعالیتها و خالصه فعالیتها ) (Summary Tasksقایل نیست .این دو ماهیت دو
حالت مختلفِ یک ماهیت کلیتر هستند که در این کتاب آیتم نامیده میشود .به همین خاطر میتوان آنها را
به سادگی به یکدیگر تبدیل کرد .پریماورا سیاست متفاوتی دارد .از نظر پریماورا ،خالصه فعالیتها ،که در آن
نرم افزار WBS Nodesنامیده می شوند ،عناصری کامال متفاوت با فعالیتها و از دو جنس غیر مشابه هستند .به
این خاطر در پریماورا WBS Nodeها و فعالیت ها در دو نمای مختلف تنظیم شده ،قابل تبدیل به یکدیگری
نیستند.
هرکدام از دو سیاست گفته شده ،امتیازها و نقاط ضعفی دارند .سیاست پریماورا ،به منطق کالسیک برنامهریزی
نزدیکتر است ،در حالی که سیاست Projectانعطاف پذیری بیشتری دارد و به نیازهای عملی برنامهریزان
نزدیکتر است.
گاهی الزم است در زمان برنامه ریزی فعالیتی را خردتر کنید .در این حالت به راحتی میتوانید آن فعالیت را
تبدیل به خالصه فعالیت کنید و فعالیتهای ریزتری را زیرمجموعه آن تعریف کنید.
بهتر است ابتدا خالصه فعالیتی برای پروژه تهیه کنید؛ به این ترتیب تمام فعالیتها و خالصه فعالیتهای دیگر،
زیر مجموعه آن خواهند بود و در باالترین سطح ساختار فقط یک عنصر باقی میماند و خالصه شده اطالعات
کل پروژه را نشان میدهد.
برخی کاربران برای این منظور خالصه فعالیتی در سطح اول تعریف میکنند و خالصه فعالیتهای دیگر را
زیرمجموعه آن میکنند .ولی راه حل اصولی تر استفاده از ماهیتی به نام خالصه فعالیت پروژه (Project
) Summary Taskاست .خالصه فعالیت پروژه همیشه وجود دارد ،ولی به طور پیشفرض نمایش داده نمیشود.
برای نمایش دادن آن در ریبون Format| Project Summary Taskرا فعال کنید (شکل .)5-4
با فعال کردن گزینه Show project summary taskخالصه فعالیت پروژه در ردیف شماره صفر نمایش داده
میشود (شکل .)5-5
فیلد Task Nameخالصه فعالیت پروژه ،به طور پیشفرض برابر با نام فایل برنامه است .آن را مانند سایر
سلولها ویرایش کنید و به جای آن نام پروژه یا عبارتی عمومی مانند "پروژه" بنویسید.
همیشه به یاد داشته باشید که راه شناخت خالصه فعالیت پروژه این است که در ردیف شماره صفر قرار دارد.
سایر آیتمها از ردیف شماره 1شروع میشوند ،حتی اگر خالصه فعالیت پروژه نمایش داده نشده باشد.
ساخت آیتم
پیش از این نیز گفته شد که منظور از آیتم ،رکوردی است که می تواند فعالیت یا خالصه فعالیت باشد .هرگاه به
اولین ردیف خالی جدول گانت بروید و به یکی از سلولهای آن مقدار بدهید (معموال این کار با سلول نام شروع
میشود) ،به طور خودکار فعالیت جدیدی ساخته میشود .بعد از ساخته شدن آیتم برخی از سلولها نیز به طور
خودکار مقدارهایی میگیرند.
اگر سطری را خالی رها کنید و بعد از آن در سطر دیگری فعالیتی بسازید ،سطرهای مابین آنها همچنان خالی
باقی خواهند ماند ،ولی فراموش نکنید که برنامه نهایی به هیچ وجه نباید سطر خالی داشته باشد .وجود
سطرهای خالی بی معنی است ،روند اجرای برخی دستورها را هم دچار مشکل میکند.
علت اینکه Projectوجود سطرهای خالی را منع نمیکند ،این است که کار در مراحل برنامهریزی سریعتر پیش
رود .به راحتی میتوانید خالصه فعالیتی بسازید ،زیرِ آن تعداد زیادی سطر خالی باز کنید و بعد به ترتیب در
آنها فعالیتهایی بسازید .حتی می توانید سطرها را خالی رها کنید تا بعدا یادتان بماند که باید فعالیتها را
استخراج کنید و در آن محل وارد کنید.
شکل 5-6برنامهای را نشان می دهد که خالصه فعالیت پروژه آن نمایش داده شده است و سه آیتم نیز در آن
وارد شده است.
آنچه پیش از این گفته شد ،این بود که چگونه میتوان فعالیت جدیدی در انتهای فعالیتهای موجود ساخت .اگر
الزم باشد که فعالیت جدید را بین آیتم های موجود بسازید ،باید ابتدا سطری خالی درج کنید .یک راه برای درج
سطر خالی این است که یکی از سلولهای ردیفی که قصد دارید پایین ردیف جدید باشد را انتخاب کرده ،کلید
Insertصفحه کلید را بفشارید (شکل .)5-7
وقتی سطرها را کم و زیاد کنید ،شماره ردیفها ،کدهای ساختاری (به جز کد WBSاختصاصیسازی شده) و
تمام ارجاعها به طور خودکار اصالح خواهند شد.
راه دیگر برای درج فعالیت ،این است که روی Task| Taskکلیک کنید و از منویی که باز میشود Taskرا
انتخاب کنید .با این کار یک فعالیت جدید در باالی ردیفی که قبال یکی از سلولهایش انتخاب شده بود اضافه
میشود (شکل .)5-8
در این حالت فعالیت جدید با نامی پیشفرض ساخته میشود و باید نام آن را ویرایش کنید.
اگر روی یکی از سلولها کلیک راست کنید ،منویی باز میشود که در آن گزینهای با نام Insert Taskوجود دارد
و با انتخاب آن فعالیت جدیدی باالی آیتمی که یکی از سلولهایش انتخاب شده بود ساخته میشود.
میتوانید با روش هایی که در قسمت قبل گفته شد هر تعداد آیتم که مایل باشید را در میان آیتمهای قبل
بسازید .ولی اگر قرار باشد که چند آیتم متوالی را بین آیتمهای موجود بسازید ،میتوانید از راهی که در این
قسمت گفته میشود نیز استفاده کنید.
یکی از سلولهایی که می خواهید در ردیف پایین فعالیت جدید قرار داشته باشد را انتخاب کنید و بعد از آن
محدوده انتخاب را به اندازه تعداد فعالیتهایی که قرار است درج شوند به پایین امتداد دهید .بعد از آن با یکی از
روشهای گفته شده در قسمت قبل سطر خالی یا فعالیت را بسازید (شکل .)5-9
اگر یک یا چند سلول جدول را انتخاب کنید و کلید Deleteصفحه کلید را بفشارید ،محتوای آن سلول یا
سلولها پاک میشود؛ البته برخی برخی فیلدها نمیتوانند تهی باشند و در این صورت محتوای آنها پاک
نخواهد شد .به هر حال ،مسئله مهم این است که با این کار کل آیتم پاک نمیشود.
برای پاک کردن آیتم روی کلید سمت چپ آیتم (شماره ردیف) کلیک کنید تا کل ردیف انتخاب شود و بعد از
آن کلید Deleteصفحه کلید را بفشارید .برای سریعتر شدن عملیات میتوانید کل سطر را با میانبر
Shift+Spaceانتخاب کنید.
اگر آیتمی که قرار است پاک شود فعالیت باشد ،بالفاصله پاک می شود ،ولی اگر خالصه فعالیت باشد ،پیش از
پاک شدن آن پیغام اخطاری داده میشود (شکل .)5-11
شکل : 5-11پیغام اخطاری که در زمان پاک کردن خالصه فعالیت داده میشود
Don’t tell برای پاک کردن خالصه فعالیت گزینه Continueرا انتخاب کرده ،روی OKکلیک کنید .اگر گزینه
me about this againرا فعال کنید ،دفعههای بعد چنین پیغامی داده نمیشود و خالصه فعالیت نیز مانند
فعالیتها بالفاصله پاک خواهد شد.
اگر خالصه فعالیتی را پاک کنید ،تمام زیرمجموعههای آن نیز پاک خواهند شد .در هر حال بعد از هر تغییر
میتوانید Undoرا اجرا کنید (آیکن آن باال و سمت چپ پنجره و میانبر آن Ctrl+Zاست) تا تغییرات لغو شوند.
در نسخههای پیش از 2117فقط یک مرحله را میشد لغو کرد ،در حالی که در نسخههای بعدی تعداد مراحل
چنین محدودیتی ندارند.
یک راه دیگر برای پاک کردن آیتمها این است که آنها را انتخاب کنید (نیازی نیست که کل سطر انتخاب
شود) ،جایی روی محدوده انتخاب شده کلیک راست کنید و از منویی که باز میشود Delete Taskرا انتخاب
کنید.
پیش از این گفته شد که Projectتمایز زیادی بین فعالیت و خالصه فعالیت قایل نیست .روند کار در نرمافزاری
مانند پریماورا این است که ساختار شکست کار در یک نما تنظیم شود و بعد از آن فعالیتها در نمای دیگری
تحت ساختار تنظیم شده ساخته شوند .ولی در پراجکت ساخت خالصه فعالیتها و فعالیتها عمال همزمان
است.
وقتی آیتمی بسازید ،می توانید سطح آن را تعیین کنید .اگر سطح آیتم بعدی پایینتر از آیتم قبلی باشد ،آیتم
قبلی خالصه فعالیت به شمار خواهد رفت.
برای اینکه سطح آیتمهایی که وارد شدهاند را تعیین کنید راههای مختلفی وجود دارد .یک راه این است که یک
که در Task| Scheduleریبون هستند کلیک کنید. یا یا چند آیتم را انتخاب کرده ،روی آیکنهای
کاهش میدهد .به شکل 5-11توجه کنید. سطح را افزایش و آیکن
در این شکل ،ابتدا آیتم های ابنیه ،تاسیسات مکانیکی و تاسیسات برقی انتخاب شدهاند .انتخاب یک سلول از هر
فعالیت کافی است و نیازی نیست که کل ردیفها انتخاب شود؛ در این مثال سلولهای نام انتخاب شدهاند .پس
کلیک شده است و در نتیجه این سه آیتم زیرمجموعه آیتم ساختمان شدهاند .به این ترتیب از انتخاب روی
ساختمان که قبال فعالیت بود ،به خالصه فعالیت تبدیل شد.
کلیک کنید ،به سطح باالتری میآیند و دیگر زیرمجموعه آیتم اگر همان سه آیتم را انتخاب و روی
ساختمان نخواهند بود؛ در نتیجه ساختمان هم از خالصه فعالیت به فعالیت تبدیل میشود.
نکتهای که سرعت ورود اطالعات را افزایش میدهد ،این است که وقتی آیتمی را وارد میکنید ،به طور خودکار
هم سطح آیتم قبلی خود خواهد بود .به عنوان مثال اگر زیر یکی از فعالیتهای ابنیه ،تاسیسات مکانیکی و
تاسیسات برقی آیتم جدیدی اضافه کنید ،هم سطح آنها و زیرمجموعه آیتم ساختمان خواهد بود.
روش دیگر برای تغییر دادن سطح فعالیتها ،کشیدن آنها با ماوس است .برای این کار ابتدا فعالیت یا
فعالیتهای مورد نظر خود را انتخاب کنید .بعد از آن اشارهگر را به روی نام آن فعالیت ببرید ،تا اشارهگر به
صورتی که در شکل 5-12نمایش داده شده است درآید .بعد از آن میتوانید فعالیت را به چپ یا راست بکشید
تا سطح آن کاهش یا افزایش یابد .در این حالت خطی عمودی ،سطح فعالیت را نسبت به فعالیتهای دیگر نشان
میدهد.
این روش نیز برای مجموعهای از فعالیتها قابل اجراست (شکل .)5-13
شکل :5-13جابجا کردن چند آیتم با کشیدن ماوس (مراحل از راست به چپ)
آخرین و بهترین راه برای تغییر دادن سطح ،استفاده از میانبرهای صفحه کلید است .برای این کار ،فعالیت یا
فعالیتهای مورد نظر خود را انتخاب کنید .بعد از آن کلیدهای Shiftو Altرا نگه داشته ،برای باال بردن سطح
فلش سمت چپ و برای پایین بردن آن ،فلش سمت راست را بفشارید.
گاهی الزم است که آیتمها را جابجا کنید .انجام این کار چندان پیچیده نیست .برای جابجا کردن آیتم ،باید آن
را به طور کامل انتخاب کنید؛ در غیر این صورت ،تنها متن سلولهای انتخاب شده منتقل خواهند شد .برای
انتخاب کردن کل فعالیت ،روی دکمه سمت چپ آن کلیک کنید یا بعد از انتخاب یک یا چند سلول آن ردیف،
کلیدهای Shift+Spaceرا بفشارید تا کل ردیف یا ردیفها انتخاب شوند.
یک راه برای جابجا کردن آیتمها این است که پس از انتخاب کامل ردیفها ،اشارهگر ماوس را به روی دکمه
سمت چپ یکی از آنها ببرید تا شکل اشارهگر تغییر کند .بعد از آن میتوانید کلیک کنید و بدون رها کردن
کلید ماوس ،آن را به محل جدید بکشید و در پایان کلید را رها کنید (شکل .)5-14
راه دیگر این است که بعد از انتخاب کامل آیتمها Task| Cut ،را اجرا کنید یا میانبر Ctrl+Xرا بفشارید .بعد از
آن روی یکی از سلولهای ردیفی که قصد دارید پایین آیتم های منتقل شده قرار داشته باشد کلیک کنید تا
انتخاب شود و Task| Pasteرا اجرا کنید یا Ctrl+Vرا بفشارید.
آیتمها را با همان شیوهای که برای جابجا کردن با ماوس گفته شده به محل جدید بکشید و قبل از
رها کردن کلید ماوس ،کلید Ctrlصفحه کلید را فشار دهید و بعد از رها کردن کلید ماوس آن را هم
رها کنید.
کپیهای وابسته ترکیبهای پیچیدهای هستند که به ندرت کاربرد دارند ،ولی میتوان با کمک آنها ترکیبهای
خالقانهای ساخت.
در حالت معمولی ،وقتی محتوای سلولی را در سلول دیگری کپی کنید ،ارتباطی بین این دو سلول باقی نمیماند
و میتوانید هرکدام از آن دو مقدار را به طور مستقل تغییر دهید .اگر مایل باشید ،میتوانید از داده کپی وابسته
بسازید تا هرگاه مبدا تغییر کرد ،مقصد نیز به طور خودکار تغییر کند.
برای انجام آنچه گفته شد ،ابتدا سلول یا سلولهای مبدا را انتخاب کرده ،کلیدهای Ctrl+Cرا فشرده یا از
ریبون Edit| Copyرا اجرا کنید.
بعد از آن سلول یا سلول های مقصد را انتخاب کنید .روی سلول کلیک راست کرده ،از منویی که باز میشود
Paste Specialرا انتخاب کنید تا کادر محاوره شکل 5-15باز شود .میتوانید به جای آن روی فلش پایین
Task| Pasteکلیک کنید و از منوی کوچکی که باز میشود Paste Specialرا انتخاب کنید.
در گوشه پایین و سمت راست سلولی که کپی وابسته سلول دیگری باشد ،مثلث خاکستری رنگ کوچکی نمایش
داده میشود.
نکته جالب این است که میتوانید کپیهای وابستهای از سلولهای Projectدر نرمافزارهای دیگرِ ،Officeمانند
Excelنیز بسازید .به این ترتیب ارتباط خودکاری بین این نرمافزارها ایجاد میشود .به عنوان مثال میتوانید
گزارشی در Excelیا Wordبسازید که قسمتهای پویای آن به طور خودکار از برنامه Projectبهروز میشوند و
نیازی نیست که هر بار آنها را وارد کنید.
گاهی اوقات در پروژهها نیاز به تعریف فعالیت های تکرار شونده خواهید داشت .به عنوان مثال ،اگر قرار باشد
جلسه خاصی که هر سه شنبه بعد از ظهر برگزار میشود را در برنامه زمانبندی قید کنید ،میتوانید برای آن
مجموعهای فعالیت تکرار شونده بسازید.
برای این کار روی فلش زیر Task| Insert| Taskکلیک کنید تا منوی شکل 5-16باز شود.
گزینه Recurring Taskرا انتخاب کنید تا کادر محاوره شکل 5-17باز شود.
ابتدا نام مجموعه فعالیتهای تکرار شونده را در Task Nameوارد کنید .بعد از آن مدت زمان هریک از تکرارها
را در Durationمشخص کنید .در ادامه کتاب با تنظیم مدت زمان آشنا میشوید؛ در حال حاضر در این حد
اشاره می شود که مدت زمان واحدی دارد که دنباله آن تایپ می شود .یکی از واحدها روز است ،که با عالمت d
مشخص میشود .در نتیجه اگر قصد دارید فعالیت تکرار شوندهای به مدت یک روز بسازید ،باید مقدار 1dرا وارد
کنید.
در مرحله بعد باید الگوی تکرار را در قسمت Recurrence patternمشخص کنید .برای این کار ابتدا باید دوره
تکرار را تعیین کنید .برای این کار چهار گزینه در سمت چپ این قسمت وجود دارد( Daily :روزانه)Weekly ،
(هفتگی)( Monthly ،ماهانه) و (Yearlyساالنه).
سمت راست قسمت Recurrence patternبسته به گزینهای که سمت چپ انتخاب شده باشد تغییر میکند .اگر
گزینه Dailyرا انتخاب کرده باشید ،گزینههای شکل 5-18در اختیارتان خواهد بود.
تناوب تکرار در کادر Everyمشخص میشود .اگر گزینه 1را انتخاب کنید ،فعالیت هر روز تکرار خواهد شد و
اگر 2را انتخا ب کنید ،یک روز در میان تکرار میشود .اگر به جای گزینه ،daysگزینه workdaysرا انتخاب
کنید ،فعالیت در روزهای تعطیل تکرار نمیشود.
برای تکرارهای هفتگی ،گزینه Weeklyرا انتخاب کنید .شکل 5-19گزینههای این حالت را نشان میدهد.
دوره تناوب در کادر Recur everyمشخص می شود .اگر بخواهید فعالیت هر هفته تکرار شود ،گزینه 1را وارد
کنید و برای تکرار یک هفته در میان ،گزینه 2را انتخاب کنید .در قسمت پایین گزینههایی برای مشخص کردن
روزهای هفته قرار دارد .روزهایی از هفته که قصد دارید فعالیت در آن روزها تکرار شود را مشخص کنید .به
عنوان مثال اگر در Recur everyمقدار 3را وارد کرده ،گزینههای Thursdayو Wednesdayرا فعال کنید،
فعالیت هر سه هفته یک بار ،در روزهای چهارشنبه و پنجشنبه اجرا خواهد شد.
برای تکرار ماهانه ،گزینه Monthlyرا انتخاب کنید .شکل 5-21گزینههای این حالت را نشان میدهد.
برای تکرار ماهانه دو انتخاب وجود دارد .انتخاب باال ،ابتدا شماره روز و بعد از آن تناوب ماهها را مشخص میکند.
به عنوان مثال اگر گزینههای 1و 2را وارد کنید ،فعالیت یک ماه در میان ،در اولین روز ماه اجرا خواهد شد.
دومین گزینه تکرار را به جای شماره روز بر حسب روزهای هفته مشخص میکند .به عنوان مثال میتوانید
تعیین کنید که فعالیت در اولین چهارشنبه هر ماه تکرار شود.
در این حالت نیز دو گزینه برای مشخص کردن روز بر حسب شمارهای که در ماه دارد و بر حسب روزهای هفته،
وجود دارد.
Range of recurrence بعد از تعیین الگوی تکرار باید محدوده تکرار را تعیین کنید .تنظیمهای آن در قسمت
قرار دارد .تاریخ شروع تکرارها را در کادر Startوارد کنید .برای تعیین پایان تکرارها دو راه وجود دارد .یک راه
این است که گزینه End afterرا انتخاب کرده ،تعداد تکرارها را در کادر مقابل آن وارد کنید و راه دیگر این است
که گزینه End byرا انتخاب کرده ،تاریخ پایان تکرارها را در آن وارد کنید.
پایین کادر محاوره کادری برای انتخاب تقویم مجموعه فعالیتهای تکرار شونده وجود دارد .ساخت و استفاده از
تقویمها را در فصل 11خواهید آموخت .در حال حاضر میتوانید گزینه Noneرا انتخاب کنید تا مجموعه
فعالیتها از تقویم پیشفرض پروژه استفاده کنند.
وقتی روی OKکلیک کنید مجموعه فعالیتها ساخته خواهند شد (شکل .)5-22
همانطور که دیده میشود ،مجموعه فعالیتهای تکرار شونده به صورت یک خالصه فعالیت درج میشوند که
هرکدام از فعالیتها زیر مجموعه آن هستند .میتوانید روی عالمت کنار خالصه فعالیت کلیک کنید تا
زیرمجموعههای آن نمایش داده شوند (شکل .)5-23
در کنار آیتم نشاندهنده مجموعه فعالیت تکرار شونده است .این عالمت در ستون وجود عالمت
Indicatorsقرار میگیرد .ستون Indicatorsتنها ستونی است که به جای نام یا عنوان ،با آیکن مشخص میشود.
آیکن آن است.
ارائه WBS
تا این مرحله شیوه ساخت و تنظیم WBSرا آموختید ،که البته این آموزش به ناچار همراه با آموزش ساخت
فعالیتها بود.
گاهی الزم است که ساختار شکست کارِ تهیه شده را ارائه کنید .برای این کار راههای مختلفی وجود دارد که در
این قسمت بررسی میشود.
یک راه برای کنترل ،WBSاستفاده از جدول گانت است .برای این کار ابتدا ستون Summaryرا به جدول اضافه
کنید (شکل .)5-24
این ستون برای خالصه فعالیتها مقدار Yesو برای فعالیتها مقدار Noرا نشان میدهد .اگر آیتمها را فیلتر
کنیم تا تنها رکوردهایی که مقدار فیلد Summaryآنها Yesاست نمایش داده شود ،عمال آنچه دیده میشود،
WBSبرنامه خواهد بود .فیلتر کردن اطالعات در فصل 15به تفصیل آموزش داده میشود .برای منظور فعلی
میتوانید روی فلش کوچکی که کنار عنوان Summaryقرار دارد کلیک کنید تا منوی شکل 5-25باز شود.
گزینه Noرا غیر فعال کرده ،روی OKکلیک کنید .به این ترتیب رکوردهایی که فیلد Summaryآنها مقدار
Noداشته باشد نمایش داده نخواهد شد .شکل 5-26برنامه مثال قبل را بعد از فیلتر کردن فعالیتها نشان
میدهد.
عالمت در کنار عنوان Summaryنشان می دهد که فیلتری برای آن ستون درج شده است .برای حذف فیلتر
و بازگرداندن نما به حالت اولیه روی عالمت کلیک کنید و از منویی که باز میشود
Clear filter from Summaryرا انتخاب کنید .برای حذف فیلتر میانبر سادهای نیز وجود دارد :کلید .F3
ساختار شکست کار بعد از فیلتر کردن آماده ارائه است ،ولی میتوانید آن را کاملتر نیز بکنید .اولین کاری که
میتوانید برای بهبود ارائه انجام دهید ،این است که فیلد WBSرا به جدول اضافه کنید (سمت چپ نام برای
این کار بسیار مناسب است) .شکل 5-27نتیجه را نشان میدهد.
این فیلد کد WBSآیتمها را نشان میدهد .این کد سلسلهمراتبی است ،یعنی زیرمجموعه بودنها را هم نشان
میدهد .آنچه در حالت اولیه میبینید ،شیوه کدگذاری پیشفرض است .اگر مایل باشید میتوانید شیوه
کدگذاری ساختار شکست کار را تغییر دهید .این مسئله در فصل 14توضیح داده شده است.
اگر برنامه را در این حالت چاپ کنید ،فیلدهای فراوانی در خروجی چاپی وجود خواهند داشت و نمودار گانت نیز
چاپ خواهد شد .بهتر است پیش از چاپ تمام فیلدهای اضافه را مخفی کنید .روی لبه نمودار گانت نیز کلیک
کنید و آن را بدون رها کردن کلید ماوس به سمت راست صفحه بکشید تا مخفی شود .میتوانید برنامه را در
همین حالت چاپ کنید ،ولی بهتر است قبل از آن قالببندی چاپ را مطابق توضیحات فصل 26وارد کنید تا
نمای بهتری به دست آورید.
این شیوه نمایش برای WBSهایی که خالصه فعالیتهای زیادی داشته باشند بسیار مناسبتر از نمایش
گرافیکی است؛ ولی به هر حال بسیاری از افراد نمایش گرافیکی را بیشتر میپسندند.
WBS عالوه بر روش گفته شده ،نرمافزارهایی جانبی هم وجود دارند که WBSرا به تصویر میکشند .نرمافزار
Chart Proنمونهای از نرمافزارهای گفته شده است.
ساخت مایلستون
مایلستون به رویدادهای مهم پروژه گفته میشود .مایلستونها معموال فعالیتهایی با مدت زمان صفر هستند.
Task| Insert| Milestone وقتی مدت زمان فعالیتی را صفر وارد کنید ،تبدیل به مایلستون میشود .اگر روی
کلیک کنید ،فعالیتی با مدت زمان صفر ،و به عبارت دیگر یک مایلستون ،درج میشود.
بهتر است برای هرکدام از رویدادهای قراردادی مایلستونی بسازید .تحویل کارگاه ،اجرایی شدن قرارداد ،تحویل
موقت و تحویل دایم از این جمله هستند .میتوانید مایلستونهای راهنمای دیگری نیز طراحی کنید؛ مسایلی
مانند تکمیل اسکلت ،تکمیل سفتکاری ،تکمیل نازککاری و مانند آنها ،از مثالهای پروژههای ساختمانی
هستند.
اگر پروژه پیشنیازهای خارجی داشته باشند نیز بهتر است برای هرکدام مایلستونی بسازید؛ به عنوان مثال اگر
شروع کار قسمتی از پروژه وابسته به ابالغ آن از سوی کارفرما باشد.
بعضی کاربران یک مایلستون شروع و یک مایلستون پایان نیز برای پروژه میسازند .چنین عناصری کاربردی
ندارند و نیازی به استفاده از آن ها نیست .در عین حال ،معموال شروع و پایان پروژه متناظر با رویدادهایی
قراردادی است که میتوانید از آنها استفاده کنید ،تا بر مبانی قرارداد تاکید شود (اجرایی شدن قرارداد برای
شروع و تحویل موقت یا تحویل قطعی برای پایان).
بعضی دیگر از کاربران در استفاده از مایلستونهای شروع و پایان (که به طور کلی بیفایده هستند) افراط
میکنند و آن ها را زیرمجموعه هر خالصه فعالیتی نیز اضافه میکنند .این کار عالوه بر بیفایده بودن باعث
شلوغی برنامه نیز می شود .در هر حال شروع و پایان خالصه فعالیت در آیتم خالصه فعالیت محاسبه و نمایش
داده میشود و نیازی به چنین مایلستونهایی نیست.
فرض کنید دو یا چند فعالیت وجود دارد که در زمانهای مختلفی اجرا میشوند .این فعالیتها ،نیاز به فعالیت
دیگری نیز دارند که باید با آغاز فعالیت اول شروع شود و تا زمان تکمیل فعالیت دوم ادامه داشته باشد (شکل
.)5-28
ممکن است در چنین شرایطی راه حل پیش پا افتاده ،یعنی ساخت یک فعالیت و تنظیم آن برای مطابقت با
زمان های مورد نظر را انتخاب کنید .ولی مشکل عمده این راه حل ،این است که اگر یکی از دو فعالیت اول تغییر
کند ،فعالیت سوم به طور خودکار اصالح نخواهد شد .در نظر داشته باشید که برنامه زمانبندی یک نقاشی ثابت
نیست ،یک برنامه پویا است که تمام عناصر آن قابلیت تغییر دارند و باید طوری برنامهریزی کنید که این کار تا
جای ممکن به طور خودکار انجام شود تا هم زمان کمتری صرف شده و هم امکان بروز اشتباه حداقل شود.
به چنین فعالیتهایی Hammockیا Level of Effortگفته می شود و در این کتاب فعالیت وابسته نامیده
میشوند .در برخی نرمافزارهای برنامه ریزی ،مانند پریماورا ،ابزاری برای ساخت این نوع فعالیت وجود دارد .در
Projectچنین ابزاری وجود ندارد ،ولی ابزارهایی کلیتر دارد که میتوان با کمک آنها فعالیت وابسته ساخت.
شکل 5-29فعالیت وابسته برنامه مثال قبل را نشان می دهد که بعد از افزایش دو روزه مدت زمان فعالیت دوم،
به طور خودکار اصالح شده است.
-1فعالیت را بسازید
-5از منوی میانبر یا منوی اصلی Paste Special ،را انتخاب کنید
-7با مراحلی مشابه 2تا ، 6تاریخ پایان فعالیت دوم را در محل تاریخ پایان فعالیت وابسته به صورت
لینک شده pasteکنید
توجه داشته باشید که بعد از ساخت فعالیت وابسته نباید مدت زمان آن را ویرایش کنید .اگر وجود عالمت سوال
در کار مدت زمان فعالیت وابس ته برایتان نامطلوب است ،باید پیش از انجام مراحل هفتگانه ،مدت زمان دلخوانی
که نامطمئن نباشد به فعالیت بدهید تا عالمت سوال آن از بین برود.
ممکن است زمانی به مشکلی بر بخورید و برای حل آن نیاز به ره گیری برخی تغییرات و اقدامات داشته باشید.
برای این کار ابزارهایی در Projectوجود دارد که یکی از آنها ،فیلد تاریخ ساخت آیتم است.
میتوانید فیلد Createdرا به جدول اضافه کنید تا تاریخ ساخت هر آیتم را نشان دهد.
معموال یکی از اولین کارهایی که بعد از تدوین ساختار شکست کار و فعالیتها انجام میشود ،برآورد و ثبت
مدت زمانهای آنهاست .در این فصل تمام اطالعاتی که در مورد ثبت مدت زمان فعالیتها و درک شیوه
محاسبه مدت زمان خالصه فعالیتها نیاز دارید مطرح خواهد شد.
نکته مهم دیگری که در مورد مدت زمانها وجود دارد ،شیوه تبدیل واحدها به یکدیگر است که متاسفانه برای
بسیاری از کاربران مشکل ایجاد میکند .این مشکل یا به خاطر مسلط نبودن به مفهوم زمان در نرمافزار یا اشتباه
گرفتن آن با تنظیم های تقویم است .بهتر است مطالب این فصل را کامال بیاموزید تا در مباحث پیشرفتهتر دچار
مشکل نشوید.
پیش از این توضیح داده شد که بین بسیاری از فیلدها وابستگیهایی وجود دارد .فیلد مدت زمان نیز به بسیاری
فیلدهای دیگر وابسته است .مهم ترین وابستگی ،وابستگی به مقدار کار است که در فیلد Workمشخص میشود.
ترکیب این دو فیلد به همراه میزان تخصیص منابع تکمیل میشود.
به عنوان مثال فعالیتی را فرض کنید که برای مدت زمان آن مقدار 11روز وارد شده باشد و در تمام این مدت
دو نیروی تمام وقت به کار آن گمارده شده باشند .در این صورت مقدار کار در تقویم استانداردی که روزی 8
ساعت کار دارد 161 ،نفر ساعت خواهد بود .حال اگر میزان تخصیصها (دو نفر تمام وقت) ثابت باشد و مقدار
کار را به 121نفر ساعت تبدیل کنیم ،مدت زمان فعالیت به 7/5روز تبدیل خواهد شد.
همانطور که متوجه شده اید این رابطه زمانی برقرار است که برنامه منبع داشته باشد .هر برنامهای منبع ندارد و
در مورد چنین برنامههایی مدت زمان وابستگی معنیداری با کار و میزان تخصیص نخواهد داشت.
در این فصل ابتدا تعیین دستی مدت زمان توضیح داده می شود .این کار تنها روش برای تعیین مدت زمان
فعالیتهای برنامههای بدون منبع است .در مورد برنامههایی که منبع داشته باشند نیز میتوان از این روش
استفاده کرد ،ولی میتوان به جای آن مقدار کار و میزان تخصیصها را وارد کرد .این مسئله در انتهای فصل
توضیح داده میشود.
در ادامه خواهید دید که برنامه ریزی هر آیتم خودکار یا دستی است و این تنظیم که در فیلد Task Modeوارد
میشود و از قابلیتهای جدید نسخه 2111بود چه تاثیرهایی در کار دارد .در حال حاضر مسئلهای که باید در
این حوزه بدانید این است که فیلد مدت زمان فعالیتهایی که دستی برنامهریزی میشوند بعد از ساخت تهی
است و فیلد مدت زمان فعالیتهایی که خودکار برنامهریزی میشوند مقدار پیشفرض 1روز را نشان میدهد.
اگر برنامه ریزی فعالیتی از نوع خودکار باشد فیلد مدت زمان آن نمیتواند تهی باشد و نمیتوانید مقدار آن را
پاک کنید.
در هر دو حالت برنامهریزی می توان تاریخ شروع و پایان را وارد کرد تا مدت زمان بر آن اساس محاسبه شود.
انجام این کار کامال با منطق برنامهریزی در تناقض است و اکیدا توصیه میشود که از آن اجتناب کنید.
فیلد Task Modeبه طور پیشفرض در نمای گانت نمایش داده میشود و نوع برنامهریزی فعالیت را با یکی از
دو آیکن زیر نمایش میدهد:
مدت زمان فقط به یک صورت در بانک اطالعاتی برنامه ذخیره میشود :دقیقه.
مدت زمان ها را به هر ترتیبی که وارد کنید ،به دقیقه تبدیل شده ،در فایل ذخیره میشوند .در زمان نمایش نیز
مدت زمانها یی که بر حسب دقیقه هستند به واحدهای دیگر تبدیل شده ،نمایش داده میشوند .در نظر داشتن
این مسئله جلوی بروز بسیاری از مشکالتی که در آینده نزدیک به آنها اشاره خواهد شد را میگیرد.
مدت زمان را با واحدهای مختلفی میتوان وارد کرد .عالمت واحدها از این قرار است:
بزرگی و کوچکی حروف اهمیتی ندارد .واحد را باید بعد از مقدار وارد کرد و میتوان آن را با فاصله یا بدون
فاصله تایپ کرد .از عالمت های متعددی که برای هر واحد وجود دارد ،یکی پیشفرض است و بعد از وارد کردن
مقدار ،عالمت به مقدار پیشفرض تبدیل میشود.
اگر قبال مقداری وارد نشده باشد و مقدار جدید را بدون واحد وارد کنید ،واحد آن روز خواهد بود (این
پیشفرض را میتوان در تنظیمها تغییر داد) .اگر قبال واحدی وارد شده باشد و مقدار جدید را بدون واحد وارد
کنید ،واحد قبلی برایش به کار خواهد رفت.
تمام واحدهای گفته شده مدت زمانهای کاری هستند .یعنی اگر فعالیتی با 2 daysوارد شده باشد و در روز
جمعه آغاز شود ،یک روز کاری آن در روز جمعه انجام میشود ،شنبه و یکشنبه که تعطیل هستند در نظر گرفته
نمی شوند و در نهایت در پایان دوشنبه که روز کاری است تمام میشود .تعطیلیهای تقویم قابل تنظیم هستند
و این مسئله در فصل 11توضیح داده میشود.
عالوه بر واحدهای گفته شده ،که واحدهای مبتنی بر زمانهای کاری هستند ،واحدهای دیگری برای مدت
زمانهای فارغ از تعطیلی یا اصطالحا روزشمار نیز وجود دارد .این واحدها مشابه واحدهای قبلی هستند ،با این
تفاوت که در ابتدای پسوند آنها ( eابتدای )elapsedقرار میگیرد .به این ترتیب 1 edaysبه معنی یک روزِ
فارغ از تعطیلی خواهد بود.
اصوال اکثرِ مدت زمانها معمولی وارد میشوند و فقط برخی از آنها روزشمار هستند .به عنوان مثال اگر احیانا
برای مدت گیرش بتن فعالیتی تعریف کرده باشید ،باید مدت زمان آن را فارغ از تعطیلی وارد کنید ،زیرا گیرش
بتن در صورت تعطیل بودن کارگاه متوقف نخواهد شد.
در نظر داشته باشید که رفتار مدت زمانهای روزشمار در برخی مواقع مطابق انتظار نیست و در نتیجه بهتر
است تا جای ممکن از آنها اجتناب کنید.
مدت زمان های کاری برای بسیاری از مخاطبان عجیب هستند ،زیرا با تفاضل تاریخ پایان و شروع هماهنگ
نیستند .مثال ممکن است فعالیتی 88/1/1آغاز شده باشد و 89/1/1تمام شده باشد ،ولی فیلد مدت زمان به
جای 365روز ،مقداری مانند 321روز نشان دهد .مخاطبانی که با اصول برنامهریزی و کنترل پروژه آشنا
نیستند گمان می کنند که اشتباهی رخ داده است ،در حالی که در واقع مدت زمان گزارش شده تعداد روزهای
کاری بازه 88/1/1تا 89/1/1است .اگر الزم باشد میتوانید برای رفع این مشکل فیلدهای اختصاصی بسازید که
مدت زمانهای روزشمارِ فارغ از تعطیلی هر فعالیت را محاسبه کرده ،نشان دهد.
نکته دیگری که در مورد مقادیر مدت زمان وجود دارد ،مدت زمانهای تخمینی است .اصوال تمام مدت زمانها
تخمینی هستند ،ولی گاهی میزان تخمینی بودنِ آنها از حدی بیشتر است و نیاز به توجه خاص دارد .در این
موارد می توانید در انتهای واحد عالمت سوال قرار دهید .به عنوان مثال ? 5 daysبه معنی مدت زمان 5روزهای
است که به آن شک داریم ،تقریب آن زیاد از حد است ،یا به هر دلیل دیگری نیاز به توجه و احیانا اصالح بعدی
دارد.
تخمینی بودن مدت زمان هیچ تاثیری در محاسبات ندارد ،فقط عالمتی را نمایش میدهد که مسئله را به شما
یادآوری کند .البته نکته جالب در مورد مدت زمانهای تخمینی این است که اگر مدت زمان دیگری را تحت
تاثیر بگذارد ،آن مدت زمان نیز تخمینی به شمار خواهد رفت .اگر خالصه فعالیتی داشته باشید که حتی یکی از
فعالیتهایش مدت زمانی تخمینی داشته باشد ،مدت زمان آن خالصه فعالیت و تمام خالصه فعالیتهای مادرش
نیز تخمینی میشوند و با عالمت سوالی که در انتهای مقدار نمایش داده میشود مشخص میشوند.
مدت زمانها را باید در فیلد Durationوارد کرد .این فیلد پرکاربرد است و به همین خاطر به طور پیشفرض در
نمای گانت وجود دارد .به راحتی میتوانید فیلد مدت زمان هر فعالیتی که مای ل بودید را انتخاب کرده ،مدت
زمان را با رعایت مسایلی که در مورد واحدها گفته شد وارد کنید .شکل 6-1برنامهای را نشان میدهد که مدت
زمانهای فعالیتهایش وارد شدهاند.
همانطور که میبینید با وارد کردن مدت زمانها میلههای نمودار گانت نیز شکل میگیرند .هر فعالیت میلهای در
نمودار گانت دارد که از تاریخ شروع آن فعالیت تا تاریخ پایانش امتداد مییابد و در نتیجه مدت زمان روزشمار
آن را هم نشان میدهد.
به شکل 6-2توجه کنید .در این شکل مدت زمان فعالیتی وارد شده است و میله گانت آن نیز دیده میشود.
در نمودار گانت دیده میشود که فعالیت از روز دوشنبه ) (Mآغاز شده و در پایان روز جمعه ) (Fتمام شده است.
اکنون تصور کنید که مدت زمان فعالیت که 5روز بود را به 6روز تبدیل کنیم .چه اتفاقی خواهد افتاد؟ شکل
6-3نتیجه را نشان میدهد.
اگر انتظار داشتید که فعالیت در پایان روز شنبه تکمیل شود ،اشتباه کردهاید .روزهای شنبه و یکشنبه در تقویم
استاندارد Projectتعطیل هستند و به همین خاطر یک روز کاری اضافه فعالیت در روز دوشنبه هفته بعد تکمیل
خواهد شد .روزهای تعطیل در نمودار گانت با پسزمینه خاکستری نمایش داده میشوند تا مخاطب را راهنمایی
کنند .در شکلهای قبل مشخص است که روزهای شنبه و یکشنبه تعطیل هستند.
اکنون اگر مدت زمان فعالیت را به مدت زمان روزشمار تبدیل کنیم ،یعنی به جای 6 daysمقدار 6 edaysرا
وارد کنید ،تعطیلیها در نظر گرفته نخواهند شد (شکل .)6-4
از نمودار گانت مشخص میشود که تاریخ شروع اصلی فعالیت روز شنبه بوده است ،ولی چون این روز تعطیل
بوده است در حالت های قبلی در روز دوشنبه ،که اولین روز کاری بعد از تاریخ شروع ممکنِ فعالیت است ،آغاز
شده بود .در حال حاضر فعالیتی داریم که اولین روز کار آن در روزی غیر کاری است! میتوانید حدس بزنید که
اگر مدت زمان آن را یک روز دیگر اضافه کنیم ،آخرین روز کار آن نیز در روزی غیر کاری خواهد بود (شکل -5
.)6
احتماال متوجه شدهاید که فیلد مدت زمان فعالیت در شکلهای قبل پسزمینه دارد .یکی از قابلیتهایی که در
نسخه 2117به Projectاضافه شد این است که وقتی مقدار فیلدی ویرایش میشود ،آن فیلد و تمام فیلدهای
دیگری که به خاطر ویرایش آن تغییرکردهاند با پسزمینه آبی کمرنگ متمایز میشوند .وقتی فایل را ذخیره
کنید یا کلید F9را بزنید ،پسزمینهها محو خواهند شد .پسزمینهها در زمان چاپ نیز وجود نخواهند داشت و
فقط برای اطالعرسانی به برنامهریز طراحی شدهاند .بهتر است همیشه به پسزمینهها دقت کنید و ببینین که
اصالحات چگونه بر قسمتهای مختلف برنامه تاثیر میگذارند و تاثیرها را در ذهن خود تحلیل کنید.
به شکل 6-6توجه کنید .در این شکل دو فعالیت با مدت زمانهای 21روز و 1ماه وارده شدهاند.
با اینکه مدت زمان دو فعالیت یکسان نیست ،میلههای گانت آنها مدت زمانهای روزشمارِ یکسانی را نشان
میدهند .تعطیلی های تقویم هرچه باشد ،به هر دو فعالیت یکسان اعمال میشود ،زیرا در بازههای یکسانی از
تقویم هستند و برای آنها تقویمهای متفاوتی نیز تعریف نشده است.
چنین مسایلی دایما در برنامهها به چشم میخورند و برای بسیاری از افراد مشکل ایجاد میکنند .مسئله این
است که واحدهای مختلف زمانی باید با ضرایبی به یکدیگر تبدیل شوند .وقتی مدت زمانی را بر حسب روز وارد
میکنید ،باید با مجموعه ای از ضرایب به دقیقه تبدیل شود و در مورد ماه نیز چنین قاعدهای برقرار است .انتظار
دارید واحدها با چه ضرایبی تبدیل شوند؟
توافقی عمومی در مورد ضرایب تبدیل وجود ندارد .به همین خاطر گزینههایی برای این منظور وجود دارد و
میتوانید ضرایب دلخواه خود را در آنها وارد کنید .برای دسترسی به گزینهها File| Optionsرا اجرا کنید تا
کادر محاوره Project Optionsباز شود .در این کار محاوره زبانه Scheduleرا انتخاب کنید (شکل .)6-7
در این زبانه سه گزینه برای تنظیم ضرایب تبدیل واحدهای زمانی وجود دارد:
با این سه ضریب ،تکلیف شیوه تبدیل تمام واحدهای زمانی مشخص میشود و Projectمیداند که چگونه
هریک از آنها را به دقیقه تبدیل کند.
هر ماه به طور پیشفرض 21روز کاری در نظر گرفته میشود ،به همین خاطر دو فعالیتی که یکی 21روزه و
دیگری یک ماهه بود مدت زمان کاری و روزشمار برابری داشتند.
ضرایب پیشفرضِ تبدیل واحدهای زمانی با ذهنیت مدتهای کاری ساخته شدهاند ،در حالی که بسیاری از
مخاطبان واحدها را با ضرایب تقویمی تبدیل میکنند .اگر گمان میکنید چنین مخاطبانی دارید ،بهتر است
پیش از وارد کردن مدت زمانها مقدارها را به صورت زیر اصالح کنید:
( 56 :Hours per weekبه معنی 7روز کاری ،که هرکدام 8ساعته هستند)
توجه داشته باشید که این تنظیمها ارتباط مستقیمی با تقویم های کاری ندارند و فقط برای تبدیل واحدهای
زمانی به کار میروند.
بسیاری اوقات مدت زمان فعالیتها از کارشناسان حوزههای کاری دریافت میشود و احتمال دارد که مدت
زمان ها را به جای روز ،بر حسب هفته یا ماه به شما بدهند .در این صورت حتما باید از ایشان بپرسید که
منظورشان از هفته و ماه چیست و تنظیمهای واحدهای زمانی را طوری مشخص کنید که به ذهنیت اکثر آنها
نزدیکتر باشد .معموال مقادیری که پیش از این پیشنهاد شد به ذهنیت اکثر افراد نزدیکتر است .اگر گمان
میکنید استفاده از واحدهای زمانی متعدد سوتفاهم ایجاد میکند ،تمام مدت زمانها را با واحد یکسانی مانند
روز وارد کنید.
پس از این توضیحات ،برمیگردیم به برنامه نمونهای که تصویر آن پیش از این ارائه شده بود .فرض کنید تعداد
روزهای ماه را به 31تبدیل کنیم .نتیجه در شکل 6-8دیده میشود.
آیا انتظار داشتید که میله سفت کاری که یک ماه بود بلندتر از قبل ترسیم شود؟ ولی نتیجه این است که مقدار
فیلد Durationآن فعالیت تغییر کرده است و میله به اندازه قبل ترسیم شده است.
در ابتدای فصل منطق رفتاری Projectدر مورد مدت زمانها توضیح داده شد .وقتی مدت زمان 1ماه وارد شده
بود ،ضریب تبدیل ماه به روز 21بود ،در نتیجه 1ماه با همین ضریب به دقیقه تبدیل و ذخیره شده بود .بعد از
آن ضریب به 31تبدیل شد ،ولی در این حالت مدت زمان جدیدی وارد نشده است .در این حالت مقداری که
قبال بر حسب دقیقه ذخیره شده بود و بنا هم نیست که تغییری کرده باشد ،با ضریب جدید به ماه تبدیل و
نمایش داده شده است ،که نتیجه 1/67ماه است.
بنا بر این :همیشه ضرایب تبدیل مد زمان را پیش از وارد کردن مد زمانها تنظیم کنید.
اگر در حالت فعلی دوباره مدت زمان 1ماه را در فیلد مدت زمان وارد کنید ،نتیجهای که در شکل 6-9نمایش
داده شده است را خواهید گرفت.
در این حالت وقتی مدت زمان 1ماه را وارد میکنید ،به تنظیمها مراجعه میشود و این مقدار بر حسب ضرایب
تبدیلِ فعلی به دقیقه تبدیل می شود .نتیجه این است که این بار 1ماه برابر با 31روز میشود و میله فعالیت
بزرگتر از فعالیت 21روزه میشود.
بهتر است در هر برنامه فقط از یک واحد زمانی استفاده کنید .بهترین واحد زمان برای اکثر پروژهها روز است.
فیلد مدت زمان خالصهفعالیتها قابل ویرایش نیست .در واقع خالصهفعالیتها برای خالصهسازی اطالعات
فعالیتهای زیرمجموعه خود هستند و در نتیجه تعداد فیلدهای قابل ویرایش آنها بسیار کمتر است.
وقتی مدت زمان و سایر مشخصههای زمانبندی را وارد کنید ،تاریخ شروع و پایان فعالیتها مشخص میشود.
تاریخ شروع هر خالصه فعالیت برابر با زودترین تاریخ شروع زیرمجموعههایش و تاریخ پایان آن برابر با دیرترین
تاریخ پایان خواهد بود .بعد از این که این دو تاریخ مشخص شوند ،مدت زمان خالصه فعالیت بر این اساس
محاسبه خواهد شد.
آنچه گفته شد درباره منطق کالسیک برنامهریزی بود .اگر برنامهریزی خالصه فعالیت خودکار نباشد ،منطق
دیگری حاکم خواهد بود .البته در نظر داشته باشید که وقتی آیتمی به خالصه فعالیت تبدیل میشود ،نوع
برنامهریزی آن نیز به خودکار تبدیل می شود و اگر مایل باشید باید بعد از تبدیل آن به خالصه فعالیت ،نوع
برنامهریزی آن را تغییر دهید.
شکل 6-11برنامه نمونهای را نشان می دهد که یک خالصه فعالیت با سه فعالیت زیرمجموعه آن دارد .خالصه
فعالیت بر خالف روند معمول ،برنامهریزی خودکار ندارد.
در این حالت با اینکه مدت زمان تمام زیرمجموعهها مشخص شده است ،مدت زمان خالصه فعالیت مقدار
پیشفرض یک روز را نشان میدهد .در نمودار گان ت نیز یک روزه ترسیم شده است ،ولی نوار باریکی به اندازه
مدت زمان زیرمجموعههایش نیز ترسیم شده است .می توانید هر مدت زمانی که مایل باشید را به این خالصه
فعالیت اختصاص دهید (شکل .)6-11
شکل : 6-11برنامه نمونه ،بعد از تعیین مد زمان خالصه فعالیتی که برنامهریزی خودکار ندارد
یا در این حالت نیز میله اصلی خالصه فعالیت ،که به شکل
است ،مدت زمان خالصه فعالیت را نشان می دهد ،و میله باریکی که زیر آن ترسیم شده است خالصهسازی شده
مدت زمانهای زیرمجموعهها را ارائه میکند.
استفاده از این روش زمانی کاربرد دارد که برنامهریزی کل به جز باشد .یعنی مدت زمانهایی برای برخی خالصه
فعالیتها مشخص شده باشد و به هر دلیل الزامی باشند .در این صورت میتوان برنامهریزی خالصهفعالیت را غیر
خودکار و مدت زمان را برای آن مشخص کرد.
اگر ترکیب مشخصات زیرمجموعههای چنین خالصهفعالیتهایی با مشخصات خالصهفعالیت هماهنگ نباشد،
عالمتهای اخطاردهندهای نمایش داده میشوند.
با وجود اینکه چنین قابلیتهایی کامال جدید هستند و در نسخههای قبل از 2111نرمافزار وجود نداشتند،
استفاده از آنها به هیچ وجه توصیه نمیشود ،زیرا با ماهیت پویا و عملیاتی برنامههای زمانبندی در تناقض
هستند و پتانسیل زیادی برای تبدیلِ برنامه به یک نقاشی بی کاربرد دارند .تمام قابلیتهایی که با کمک
برنامهریزی غیر خودکار به دست خواهید آورد را می توانید با ابزارهای دیگری که با منطق برنامهریزی سازگاری
بیشتری دارند پیادهسازی کنید.
هر برنامه زمانبندی مدلی شبیه سازی شده از رفتار زمانی پروژه است که بر اساس شرایط دایما تغییر شکل
می دهد؛ این تغییرات اطالعات بسیار ارزشمندی در اختیارمان میگذارند .این مدل با کمک عناصری زیربنایی
شکل میگیرد که روابط ،قیدها و فرجهها هستند و در این فصل توضیح داده میشوند.
این فصل که نسبتا طوالنی نیز هست هر سه عنصر را به تفصیل توضیح میدهد و در مورد روابط نیز هرچهار نوع
را همراه با مسایل مربوط به تاخیرها و همپوشانیهایشان مطرح میکند .با این حال واقعیت این است که یک
برنا مه معمولی که به خوبی تنظیم شده باشد احتماال از هیچ قید و فرجهای استفاده نکرده است ،اکثر روابط آن
( FSیکی از چهار نوع رابطه) هستند و تاخیر و همپوشانی نیز به ندرت دارند.
برنامه مناسبی که قواعد زمانبندی پروژه را رعایت کرده باشد و خوشساخت باشد به سادگی تهیه نمیشود.
روابط ،قیدها و فرجهها همگی با نامها و عبارتهایی مشابه آنچه در پروژههای واقعی میشنویم در اختیارمان
قرار میگیرند و بسیاری از برنامه ریزان بدون حساسیت کافی و با ترجمه ضعیف مفاهیم پروژه به این عناصر
برنامههایی به وجود میآورند که کیفیت کافی ندارند .همانطور که یک ترجمه مناسب باید به جای تبدیل تک
تک کلمه ها از زبان مبدا به زبان مقصد ،بر مفاهیم و معانی تمرکز داشته باشد ،کار شما نیز باید به جای ترجمه
کلمه به کلمه مفاهیم پروژه به عناصر زمانبندی ،بر ترجمهای عمیق ،مفهومی و مبتنی بر معنا متمرکز باشد.
شاید مفهومی که در پروژه به شکل قید بیان میشود در ترجمهای مناسب تبدیل به رابطهای در Projectشود و
نه یک قید.
مهم ترین موضوع این فصل مفهوم روابط است که باید آن را به خوبی بیاموزید و در کار با تحلیل کافی عملیاتی
کنید .این کار در ابتدا زمان بسیار زیادی از شما می گیرد ،ولی با مرور زمان به اندازه زبان مادری برایتان آشنا،
ساده و سریع خواهد شد.
هر رابطه ،منطقی را بین دو آیتم مشخص میکند .به عنوان مثال ،پیش از تکمیل دیوارچینی نمیتوان
سفیدکاری روی آن را شروع کرد .پس بین این دو فعالیت رابطهای وجود دارد .این رابطه دیوارچینی را به
سفیدکاری مربوط می کند و اصطالحا به فعالیت اول ،که در این مثال دیوارچینی بود ،پیشنیاز و به فعالیت دوم،
که در این مثال سفیدکاری بود ،پسنیاز گفته میشود .دیوارچینی پیشنیاز سفیدکاری است ،یعنی تا زمانی که
دیوارچینی انجام نشده باشد نمی توان سفیدکاری را انجام داد .البته این مثال فقط یکی از حالتهای رابطه و
پیشنیازی بود ،در ادامه خواهید دید که روابط تنوع فراوانی دارند.
ماهیت روابط
روابط اجتنابناپذیر :روابط اجتنابناپذیر روابطی هستند که به لحاظ ماهیت فعالیتها شکل
می گیرند .به عنوان مثال رابطه بین سفیدکاری و دیوارچینی از این نوع است؛ اصوال تا دیواری نباشد
نمیتوان آن را سفیدکاری کرد.
روابط ترجیحی :گروه دیگری از روابط نیز در برنامهها وجود دارند که اجتنابناپذیر نیستند ،ولی به
دلیلی ترجیح میدهیم در برنامه وجود داشته باشند .به عنوان مثال میتوان درهای شیشهای داخل
ساختمانها را پیش از تکمیل کارهای سنگینتر نصب کرد ،ولی در این صورت احتمال دارد که در
زمان اجرای آن فعالیتها بشکنند ،در نتیجه رابطهای بین فعالیتهای سنگین و نصب درهای
شیشهای برقرار میکنند تا در زمان مناسبتر انجام شود .نمونه رایجِ دیگر ،نصب شیرآالت بعد از نصب
درها و یراق آالت است .اگر امکان قفل کردن درها وجود نداشته باشد ،ممکن است که شیرآالت پس
از نصب دزدیده شوند و به همین خاطر چنین رابطهای میسازند .ولی به هر حال چنین روابطی
اجتنابناپذیر نیستند.
بهتر است در زمان تعریف روابط به نوع آن ها توجه شود و اگر امکان داشته باشد ،با قرار دادن یادداشتی در کنار
آیتم ،وجود روابط ترجیحی توضیح داده شود .دلیل این امر این است که در صورت بروز انحراف در اجرا ،میتوان
با بازبینی روابط ترجیحی ،راهحلهای فراوانی برای جبران عقبافتادگیها پیدا کرد .مثال اگر الزم باشد میتوان
شیرآالت را پیش از تکمیل یراق آالت نصب کرد تا کار تسریع شود و در عوض تعدادی نگهبان در کارگاه قرار
داد.
برای درج یادداشت ،روی آیتم دابل کلیک کنید .با این کار کادر محاوره Task Informationباز میشود .به زبانه
Notesکادر محاوره بروید (شکل .)7-1
توضیحاتی که در نظر دارید را در این قسمت وارد کرده ،روی OKکلیک کنید .اگر آیتمی یادداشت داشته باشد،
آیکن در ستون Indicatorsنمایش داده میشود.
گروهی از روابط ترجیحی برای پیادهسازی روند اجرا طراحی میشوند .به عنوان مثال پروژه احداث ساختمانی را
فرض کنید که 11طبقه دارد .برای هر طبقه یک فعالیت دیوارچینی و یک فعالیت سفیدکاری ساخته شده است
و دیوارچینی هر طبقه پیشنیاز سفیدکاری همان طبقه شده است .اگر روابط را در همین حد نگه داریم ،ممکن
است اجرای بعضی سفیدکاری ها همزمان شود ،در حالی که قصد داریم سفیدکاری را با یک گروه کاری انجام
دهیم و در نتیجه در هر زمان فقط یکی از طبقات سفیدکاری خواهد شد .در این حالت معموال روابطی ترجیحی
بین سفیدکاری طبقات مختلف میسازند تا از پایینترین طبقه یا باالترین طبقه شروع شود و به ترتیب جلو رود.
چنین روابطی چندان مناسب نیستند ،زیرا انعطافپذیری کافی ندارند .اگر به عنوان مثال دیوارچینی طبقهای به
هر دلیل متوقف شود ،سفیدکاری نیز در همان طبقه متوقف میشود ،در حالی که در عمل میتوان آن طبقه را
رها کرد و سفیدکاری طبقات بعدی را انجام داد .برای رفع این مشکل باید به جای تعریف رابطه ،از تسطیح
منابع کمک گرفت.
انواع روابط
در Projectو اکثر نرمافزارهای برنامهریزی ،چهار نوع رابطه به شرح زیر وجود دارد:
Finish-to-Startیا :FSفعالیت دوم بعد از پایان فعالیت اول شروع خواهد شد. o
Start-to-Finishیا :SFفعالیت دوم زمانی آغاز خواهد شد که پیش از شروع فعالیت اول پایان یابد. o
Finish-to-Finishیا :Fفعالیت دوم زمانی شروع میشود که همزمان با فعالیت دوم تمام شود. o
البته در ادامه خواهید دید که تعریف های باال تقریبی هستند و نیاز به اصالح دارند ،ولی برای ایجاد تصویر اولیه
مناسبند.
روابط معموال همپوشانی یا تاخیر نیز دارند .به عنوان مثال ،فرض کنید قرار است ستون شماره 11بعد از ستون
شماره 11ساخته شود .در این صورت باید ستون 11را بتن ریزی کرد ،قالب آن را باز کرد ،با آن قالب ستون
شماره 11را قالببندی کرد و کار را ادامه داد .بنا بر این باید بتنریزی ستون 11را پیشنیاز قالببندی ستون
11کنیم (از نوع .)FSولی در عمل نمیتوان بالفاصله بعد از بتنریزی قالب را باز کرد و باید مدت زمانی صبر
کرد تا بتن به حدی کافی از گیرش برسد .بنا بر این باید به رابطه تاخیری بدهیم تا به فرض قالببندی ستون
11دو روز بعد از بتنریزی ستون 11انجام شود.
شکلهای 7-3و 7-4چهار نوع رابطه را در دو حالت مختلف (با تاخیر و با همپوشانی) نشان میدهد.
تاخیرها و همپوشانیها را می توان عالوه بر مدت زمان ،بر حسب درصد نیز وارد کرد .در این حالت درصدی از
فعالیت پیشنیاز به عنوان تاخیر یا همپوشانی به کار میرود .مثال اگر فعالیت پیشنیاز 11روزه باشد و رابطهای
با تاخیر ٪21وارد کنید ،در عمل 2روز تاخیر در نظر گرفته میشود .تفاوت اصلی این دو حالت در این است که
اگر تاخیر و همپوشانی را به صورت مدت زمان وارد کنید ،همیشه ثابت خواهد بود ،ولی اگر آن را بر حسب
درصد وارد کنید و مدت زمان فعالیت اول تغییر کند ،تاخیر و همپوشانی نیز اصالح خواهد شد.
تعریفی که پیش از این برای انواع روابط ارائه شد برای درک رفتار فعالیتهایی که فقط یک رابطه دارند کافی
است؛ ولی اگر تعداد روابط بیشتر باشد و به خصوص از روابط نامعمولی مانند SFاستفاده شده باشد ،باید تعاریف
دقیقتر و کاملتر را در نظر داشت.
اضافه شدن رابطهها هیچگاه باعث زودتر شروع شدن پسنیاز نمیشود.
به عبارت دیگر ،وقتی روابط را اضافه میکنید ،یا روی فعالیت تاثیری نمیگذارند ،یا اجرای آن را به تاخیر
میاندازد.
آیتمهای برنامه زمانبندی همیشه تمایل دارند که در زودترین تاریخهای ممکن انجام شوند ،ولی عناصر
زمانیندی ،یعنی روابط ،قیدها ،تسطیح منابع و تقویمها ،همگی عواملی هستند که آنها را مجبور به دیرتر انجام
شدن میکنند.
:FFفعالیت پسنیاز پیش از پایان یافتن پیشنیاز ،آغاز نخواهد شد o
در این شکل ها محدوده غیر مجاز شروع و پایان هریک از روابط مشخص شده است .وقتی بیش از یک رابطه
وجود داشته باشد ،محدودههای غیر مجاز با هم ترکیب میشوند و محدودههای غیر مجاز بزرگتری میسازند.
روابط دوری تناقض ایجاد میکنند ،به همین خاطر در هیچ نرم افزاری مجاز نیستند .منظور از رابطه دوری،
رابطه ای است که فعالیتی که مستقیم یا غیر مستقیم پسنیاز فعالیت دیگری هست را پیشنیاز آن کند.
مجموعه روابط زیر نمونهای از روابط دوری هستند:
1. Task 1 3fs
2. Task 2 1fs
3. Task 3 2fs
در این ترکیب فعالیت اول پیشنیاز دومی ،دومی پیشنیاز سومی و سومی پیشنیاز اولی شده است ،یعنی
حلقهای از روابط به وجود آمده است .اگر رابطهای که قصد دارید وارد کنید دور ایجاد کند ،رابطه شکل نمیگیرد
و پیغام خطای شکل 7-6نمایش داده میشود.
محدودیت دیگر این است که دو فعالیت بیش از یک رابطه نمی پذیرند .اگر سعی کنید رابطه دوم را ایجاد کنید،
پیغام خطای شکل 7-7نمایش داده میشود.
ولی ایجاد بیش از یک رابطه بین دو فعالیت الزاما تناقضی ایجاد نمیکند .به عنوان مثال منطقا باید بتوان حالتی
ایجاد کرد که آیتم دوم زودتر از آیتم اول شروع نشود و زودتر از آن هم تمام نشود ،یعنی ترکیبی از SSو .FF
چنین کاری در پریماورا ممکن است ،ولی Projectاجازه آن را نمیدهد.
اگر منطقی که بین دو فعالیت حاکم است وجود بیش از یک رابطه را حکم میکند ،یک راه حل این است که
فعالیتها را خرد کنید و برای زیرمجموعههای آن چند رابطه بسازید.
در طراحی و درج روابط به توصیههای مهم زیر توجه داشته باشید:
FS .1اکثر روابط برنامه باید از نوع FSباشند – معموال توصیه میشود که حداقل 91درصد روابط از نوع
باشند ،زیرا این رابطه به ماهیت واقعی اکثر پیشنیازیهای پروژه نزدیکتر است.
.2ترجیحا از رابطه SFاستفاده نکنید – با اینکه نرمافزارها امکان ساخت رابطه SFرا دارند ،توصیه
می شود که هیچگاه از این رابطه استفاده نکنید ،زیرا معموال چنین ارتباطی بین کارهای پروژه وجود
ندارد.
.3از تاخیر و همپوشانی زیاد استفاده نکنید – بهتر است تعداد روابطی که تاخیر یا همپوشانی دارند را به
حداقل برسانید .حساسیت در مورد همپوشانی بیشتر از تاخیر است .این کار مدیریت برنامه را سادهتر
میکند و به واقعیتهای اجرایی نیز نزدیکتر است.
.4از تاخیرها و همپوشانیهای طوالنی استفاده نکنید – هیچگاه از تاخیرها و همپوشانیهای خیلی
طوالنی استفاده نکنید .معموال توصیه میشود که این مقدار بیشتر از 5روز نباشد .تاخیرها و
همپوشانی های طوالنی معموال تعبیری در پروژه ندارند و صرفا برای مخفی کردن ضعف روابط به کار
میروند.
یکی از مهمترین قواعدی که در طراحی روابط توصیه میشود این است که هر فعالیت حداقل یک پیشنیاز
داشته باشد ،به جز اولین فعالیت پروژه و هرکدام حداقل یک پسنیاز داشته باشند ،به جز آخرین فعالیت پروژه.
البته در پراجکت میتوان روابطی ساخت که پیشنیاز یا پسنیازشان خالصه فعالیت باشد .در این حالت
پیشنیازهای یک خالصه فعالیت پیشنیاز تمام زیرمجموعههای آن نیز به شمار میرود و پسنیازهایش نیز
پسنیاز تمام آن فعالیتها به شمار می رود .این نوع روابط برای قاعده گفته شده کافی هستند و الزامی نیست که
روابط مستقیما به فعالیتها متصل باشند.
بسیاری از منابع توصیه میکنند که رابطههایی که به خالصه فعالیت متصل شده باشند نسازید ،زیرا برنامه را
ناخوانا میکند .با این حال استفاده هوشمندانه از این قابلیت Projectباعث ساده شدن برخی از شبکهها میشود.
ممکن است فعالیتی پیشنیاز و پس نیاز داشته باشد ،ولی این روابط به شکلی تنظیم شده باشند که تاثیرگذاری
مناسب نداشته باشند .قاعده دیگر این است که هر فعالیت حداقل یک پیشنیاز از نوع FSیا SSداشته باشد تا
شروعش از سایر فعالیتها تاثیر بگیرد و حداقل یک پسنیاز از نوع FSیا FFداشته باشد تا پایانش بر سایر
فعالیتها اثر بگذارد.
در ادامه کتاب خواهید دید که از بین تمام روابط و سایر عناصر زمانبندی هر فعالیت ،یکی از آنها سختگیرانهتر
از همه است و اصطالحا بر زمانبندی فعالیت حاکم است .به این رابطه Driverگفته میشود .میتوانید تمام
عناصر دیگر را حذف کنید و در این حالت زمانبندی آن فعالیت و سایر فعالیتها تغییری نمیکند.
این مسئله باعث میشود که بسیاری از کارب ران در تعیین روابط کوتاهی کنند .به عنوان مثال ممکن است قرار
باشد که سیمکشی و نقاشی هردو پیشنیاز نصب کلیدها و پریزها باشند؛ ولی برنامهریز گمان کند که چون
نقاشی بعد از سیمکشی تمام می شود ،کافی است که فقط نقاشی را پیشنیاز نصب کلیدها و پریزها کند .در این
حالت اگر به دلیلی روند کار تغییری کند و سیم کشی پیش از پایان نقاشی تمام نشده باشد ،عملکرد برنامه
مناسب نخواهد بود.
همیشه به یاد داشته باشید که مشخصات برنامه دایما در حال تغییر است و به همین خاطر ممکن است عنصری
که امروز بر زمانبندی یک فعالیت حاکم است ،روز دیگر عقبنشینی کند و عنصر دیگری حاکم شود .به همین
خاطر باید تمام روابط را وارد کنید ،حتی اگر حاکم نباشند.
نکته مهم دیگری که در مورد روابط غیرحاکم وجود دارد این است که وقتی آنها را حذف کنید شناوری
پیشنیازها به طور کاذب افزایش پیدا میکند و در نتیجه اطالعات نادرستی از برنامه گزارش میشود .در
قسمتهای بعدی کتاب با مفهوم شناوری آشنا خواهید شد.
بسیاری اوقات در مورد نوع رابطه مناسب دو فعالیت تردید به وجود میآید .در این حالت یک پیشنهاد قدیمی
این است که انواع رابطه با در نظر گرفتن اولویتهای زیر انتخاب شوند:
FS .1
FF .2
SS .3
SF .4
به عبارت دیگر ،سعی کنید بیشتر از همه از FSو کمتر از همه از SFاستفاده کنید.
معموال کارشناسان اجرایی روابط بین فعالیتها را با جملههای انشایی اینچنینی به برنامهریزان اعالم میکنند:
فرض کنید فعالیت اول 6روزه و فعالیت دوم 8روزه باشد .در این صورت تمام روابط شکل 7-8با جمله انشایی
گفته شده هماهنگ هستند.
شکل :7-8پیادهسازی ترکیب خاصی از یک رابطه ،با هریک از چهار نوع رابطه
همانطور که می بینید در هر چهار حالت فعالیت دوم سه روز بعد از فعالیت اول آغاز میشود .اگر برنامه ثابت
باشد ،اهمیتی ندارد که از کدام رابطه استفاده میکنید؛ ولی برنامههای زمانبندی دایما در حال تغییر هستند.
به این خاطر باید رابطهای را انتخاب کنید که بهترین واکنش را به تغییرات داشته باشد.
البته به جز چهار حالت گفته شده ،چهار حالت دیگر نیز وجود دارد که تاخیرها و همپوشانیهایشان به جای
مدت زمان بر حسب درصد وارد شده باشد .در عمل باید آن چهار حالت را هم در نظر بگیرید ،ولی در این
قسمت از کتاب برای زیاد نشدن شکلها مطرح نمیشوند.
معموال تحلیل این دو حالت برای تصمیمگیری کافی است ،هرچند که در شرایطی باید ترکیبهای پیچیدهتری
را هم در نظر گرفت.
شکل 7-9رفتار یکی از روابط را در تغییر پیشنیاز نشان میدهد .برای هر فعالیت دو میله ترسیم شده است؛
میله هاشور خورده باال زمانبندی قبل از تغییر را نشان میدهد و میله توپر پایین زمانبندی بعد از تغییر است.
فرض کنید پیشنیاز سیمکشی و پسنیاز نصب کلید و پریز باشد .سه روز بعد از شروع سیمکشی ،کار سیمکشی
قسمتهایی از فضا تمام شده است و میتوان کلیدها و پریزهای آن قسمتها را نصب کرد.
اولین شکل حالتی را نشان میدهد که سیمکشی خیلی زودتر از موعد تمام شده است .با این که سیمکشی
سریعتر پیش رفته است ،نصب کلیدها و پریزها آغاز نشدهاند و حتی یک روز بعد از تکمیل سیمکشی آغاز
می شود .احتماال منظور این بوده است که کارها تا جای ممکن موازی انجام شوند و در زمان صرفه جویی شود،
پس احتماال در این حالت نصب کلیدها و پریزها باید زودتر آغاز شود.
این یک دلیل برای مناسب نبودن این نوع رابطه در این مثال کافی است ،ولی میتوانیم بررسی را ادامه دهیم.
اگر پایان سیم کشی تاخیرِ زیادی داشته باشد ،نصب کلیدها و پریزها پیش از آن تمام خواهند شد ،در حالی که
چنین چیزی منطقا ممکن نیست .پس این نوع رابطه در حالت دوم نیز رد میشود.
اگر زمان شروع عقب یا جلو برود ،مسئلهای غیر منطقی به وجود نمیآید ،در حالی که ممکن است میزان
همپوشانی مناسب نباشد.
باید همین روند تحلیل را برای سه نوع رابطه دیگر هم انجام داد و رابطهای که هیچ مشکلی ندارد را انتخاب
کرد .اگر چنین رابطه ای وجود نداشته باشد ،یعنی اگر هرکدام از چهار نوع رابطه با تاخیر و همپوشانی زمانی و
درصدی (مجموعا 8حالت) رفتار مناسبی نداشته باشند ،دو راه در پیش خواهید داشت:
.1اگر رفتار زیاد از حد نامناسب نیست و پیشبینی میکنید که مشکل حادی در رفتار کلی برنامه ایجاد
نمیکند ،از آن چشمپوشی کنید و بهترین حالت را انتخاب کنید.
.2فعالیتهای پیشنیاز و پسنیاز را خرد کنید و بین آنها روابط متعددی ایجاد کنید .در این حالت
میتوان با کمک تنوع روابط ،رفتارهای پیچیدهتر را پیادهسازی کرد.
راههای مختلفی برای وارد کردن روابط وجود دارد که همگی در این قسمت توضیح داده میشوند.
اولین راه ،استفاده از ماوس در نمودار گانت است .برای این کار ،اشارهگر ماوس را به روی نوار فعالیت پیشنیاز
در نمودار گانت ببرید ،کلیک کنید و بدون رها کردن کلید ماوس ،اشارهگر را به روی نمودار فعالیت پسنیاز رها
کنید (شکل .)7-11
با این کار یک رابطه FSبدون همپوشانی یا تاخیر به وجود میآید .نمودار گانت به طور پیشفرض رابطهها را با
فلشهایی نشان میدهد .در صورت تمایل میتوانید روی فلش دبل کلیک کنید تا کادر محاوره شکل 7-11باز
شود.
با این کادر محاوره میتوانید نوع رابطه را تغییر دهید و همپوشانی یا تاخیر آن را نیز مشخص کنید.
Task راه دوم برای ایجاد رابطه ،این است که روی فعالیت پسنیاز دابل کلیک کنید تا کادر محاوره
Informationباز شود .زبانه Predecessorپیشنیازهای فعالیت را نشان میدهد (شکل .)7-12
برای مشخص کردن پیشنیاز ،باید از فیلد IDیا Task Nameاستفاده کنید .در فیلد IDشماره ردیف و در
Task Nameنام فعالیت وارد می شود .وقتی یکی از این دو را وارد کنید ،فیلد دیگر مقدار خواهد گرفت .وقتی
فیلد Task Nameرا انتخاب کنید ،می توانید روی فلش کوچکی که در سمت راست آن قرار دارد کلیک کنید تا
لیست فعالیتها باز شود؛ وقتی روی یکی از فعالیتهای لیست کلیک کنید ،انتخاب خواهد شد (شکل .)7-13
بعد از انتخاب پیشنیاز ،روی فیلد Typeکلیک کنید تا انتخاب شود .وقتی روی فلش کوچک سمت راست آن
کلیک کنید ،لیست انواع رابطهها باز خواهد شد و میتوانید گزینه مورد نظر خود را انتخاب کنید (شکل .)7-14
اگر قصد دارید برای رابطه زمان همپوشانی یا تاخیر مشخص کنید ،از فیلد Lagاستفاده کنید.
راه سوم برای مشخص کردن روابط ،استفاده از فرم پایین نمای گانت است .برای استفاده از این فرم ،عالمت
تایید کنار View| Split View| Detailsرا فعال کنید .اگر کادر مقابل گزینه مقداری به جز Task Formرا نشان
میدهد ،روی آن کلیک کنید و از منویی که باز میشود Task Formرا انتخاب کنید .شکل 7-15فرمی که به
این ترتیب در پایین پنجره Projectباز میشود را نشان میدهد.
این فرم به طور پیشفرض دو قسمت برای منابع و پیشنیازها دارد .اگر مایل باشید میتوانید در فضای خالی
فرم کلیک راست کرده ،از منویی که باز میشود Predecessors & Successorsرا انتخاب کنید تا فرم به جای
منابع ،اطالعات پسنیازها را نشان دهد (شکل .)7-16
فعالیت پیشنیاز یا پس نیاز را انتخاب کرده ،اطالعات رابطه را به همان ترتیبی که در قسمت قبل توضیح داده
شد وارد کنید .بهتر است روابط را در قسمت پیشنیازها وارد کنید .در این حالت رابطه با تعیین آیتم پیشنیاز
ساخته میشود .اگر به قسمت پسنیاز بروید ،باید رابطه را با تعیین پسنیاز بسازید.
به این ترتیب مشخص می شود که هر رابطه در فرم مشخصات دو آیتم نمایش داده میشود .یکی در قسمت
پیشنیاز آیتم پسنیاز و دیگری در قسمت پسنیاز آیتم پیشنیاز (شکل .)7-17
شکل :7-17نمایش رابطه در فرم آیتم پیشنیاز (باال) و آیتم پسنیاز (پایین)
راه چهارمِ ساخت رابطه ،استفاده از ستونهای Predecessorsو Successorsاست .ستون Predecessorsبه طور
پیشفرض نمایش داده میشود ،ولی اگر قصد دارید از Successorsاستفاده کنید ،باید آن را به جدول اضافه
کنید .مجددا پیشنهاد می شود که برای وارد کردن روابط از فیلد Predecessorsاستفاده کنید و از Successors
برای کنترل روابط کمک بگیرید .برای ساخت روابط ،آنها را در یکی از فیلدهای گفته شده تایپ کنید (شکل
.)7-18
در این حالت وقتی رابطه را در یکی از دو ستون تایپ کنید ،ستون دیگر نیز آن را برای فعالیت دوم نشان خواهد
داد .در مثال قبل رابطه در فیلد Predecessorsفعالیت دوم تایپ شده بود و فیلد Successorsفعالیت اول نیز
بالفاصله آن را نشان داد .اگر عبارت در فیلد Successorsفعالیت اول وارد شده بود نیز در فیلد Predecessors
فعالیت دوم دیده میشد.
Type به جای IDشماره ردیف فعالیت دیگر ،که در ستون IDجدول نمایش داده میشود را قرار دهید .به جای
نوع پیشنیاز ،که با عبارتهای SS ،FF ،FSو SFشناخته میشوند را قرار دهید .در پایان ،اگر نیاز به زمان
همپوشانی یا تاخیر داشته باشید ،میتوانید آن را به ادامه عبارت اضافه کنید .به مثالهای زیر توجه کنید:
4SF+10% پسنیاز بعد از اینکه ٪11مدت زمان آیتم شماره 4سپری شد پایان یابد
4FF-5d پسنیاز زمانی آغاز شود که 5روز پیش از پایان آیتم شماره 4پایان یابد
4SS+1emo پس نیاز یک ماهِ روزشمار بعد از شروع آیتم شماره 4آغاز شود
4SF,12SF+1d پسنیاز پیش از شروع 4و یک روز بعد از ( 12هرکدام که دیرتر است)
تمام نشود
4FF-5d,12FS پسنیاز پیش از پایان 12آغاز نشود و زمانی پایان یابد که بیشتر از 5روز
تا پایان 4باقی نمانده باشد
4SS+1emo, 12SS پس نیاز پیش از شروع 12شروع نشود و شروع آن حداقل یک ماهِ
روزشمار بعد از شروع 4باشد.
راه پنجم ،که بهترین راه نیز هست ،ایجاد رابطه با کمک ماوس و در جدول است .برای این کار پیشنیاز و بعد از
آن پسنیاز را انتخاب کرده ،روی آیکن که در Task| Scheduleقرار دارد کلیک کنید (شکل .)7-19
با همین روش میتوانید در یک مرحله بین چندین فعالیت رابطه برقرار کنید (شکل .)7-21
توجه داشته باشید که اگر فعالیت ها را با کشیدن ماوس انتخاب کرده باشید ،به ترتیب از باال به پایین به هم
پیوند میخورند .اگر مایل باشید میتوانید فعالیت ها را با هر ترتیب دیگری انتخاب کنید تا روابط به همان شکل
ایجاد شوند (شکل .)7-21
شکل :7-21رابطه شکل پایین به خاطر ترتیب انتخاب فعالیتها (شکل باال ،راست به چپ) ایجاد شده است
آنچه در این قسمت توضیح داده شد ،عمدهترین راههای ساخت رابطه بود .با این حال راههای دیگری نیز وجود
دارد .به عنوان مثال ،میتوانید با گرفتن ،کشیدن و روی هم انداختن عناصر نمودار شبکهای نیز رابطه ایجاد کرد.
کنترل روابط
تمام روشهایی که در قسمت قبل برای ایجاد روابط توضیح داده شد ،برای کنترل آنها نیز قابل استفاده است.
اگر تعداد آیتمها و رابطههای برنامه چندان زیاد نباشد ،یک راه برای کنترل روابط ،نمودار گانت خواهد بود .با
این حال ،چنین کاری در اکثر برنامهها ممکن نیست .شکل 7-22برنامهای را نشان میدهد که تعداد آیتم آن
زیاد است.
همانطور که دیده میشود ،تعداد رابطهها آنقدر زیاد است که عمال فلشهای روابط خوانایی خود را از دست
دادهاند .از آن گذشته ،زیاد بودن تعداد این خط ها ،حتی خوانایی کل نمودار را هم دچار مشکل کرده است .برای
رفع این مشکل ،روی قسمتی خالی از نمودار کلیک راست کرده ،از منویی که باز میشود Layoutرا انتخاب
کنید تا کادر محاوره شکل 7-23باز شود.
در قسمت باالی کادر ،گزینه سمت چپ را انتخاب کنید .با این کار نمودار مثال قبل به صورت شکل 7-24دیده
خواهد شد.
بهترین راه برای مرور روابط ،استفاده از فرمهاست ،زیرا بر خالف فیلدهای Predecessorsو Successorsجدول،
عالوه بر شماره فعالیتها ،نام آنها را هم نشان میدهد.
همین مسئله نکتهای در بحث شیوه نامگذاری آیتمها به وجود میآورد .به لیست زیر توجه کنید:
.1ساختمان
.1.1اسکلت
.1.1.1طبقه 1
.1.1.1.1ستون
.1.1.1.2سقف
.1.1.2طبقه 2
.1.1.2.1ستون
.1.1.2.2سقف
در این حالت تمام آیتمها کامال خالصه نامگذاری شدهاند و این مسئله لیستی کامال کوتاه و خوانا به وجود آورده
است .ولی در این حالت نام های تکراریِ فراوانی در لیست وجود خواهد داشت و به عنوان مثال اگر سقف طبقه
اول پیشنیاز یک فعالیت و سقف طبقه دوم پیشنیاز فعالیت دیگری باشد ،هردو در فرم مشخصات با عنوان
"سقف" مشخص میشوند و خوانایی فرم کاهش خواهد یافت.
برای رفع این مشکل میتوان لیست را به صورت زیر بازنویسی کرد:
.1ساختمان
.1.1اسکلت ساختمان
.1.1.1اسکلت طبقه 1ساختمان
.1.1.1.1ستون طبقه 1ساختمان
.1.1.1.2سقف طبقه 1ساختمان
.1.1.2اسکلت طبقه 2ساختمان
.1.1.2.1ستون طبقه 2ساختمان
.1.1.2.2سقف طبقه 2ساختمان
برای حذف روابط هر فعالیت ،آن را انتخاب کرده ،روی آیکون که در Task| Scheduleقرار دارد کلیک کنید.
با این کار کل روابط آن (هم پیشنیازیها و هم پسنیازیها) حذف میشوند.
کلیک کنید ،فقط روابطی که بین همان اگر مجموعهای از فعالیتها را انتخاب کنید و بعد از آن روی
فعالیتها وجود دارد پاک خواهد شد.
اگر میخواهید فقط پیشنیازیها یا فقط پسنیازی های یک فعالیت را حذف کنید ،سلول مربوطه را در ستون
Predecessorsیا Successorsانتخاب کنید و کلید Deleteرا بفشارید.
برای پاک کردن رابطه ای خاص ،به فرم مشخصات فعالیت (پایین نمای گانت) مراجعه کنید ،رابطه را در لیست
روابط بیابید ،انتخاب کنید و کلید Deleteصفحه کلید را بفشارید.
راه دیگر این است که روی خط رابطه در نمودار گانت دابل کلیک کنید و در کادر محاورهای که باز میشود
Deleteرا بفشارید.
آخرین راه این است که عبارت موجود در فیلدهای Predecessorsو Successorsرا ویرایش کنید و یک یا چند
رابطه را از داخل آن حذف کنید.
اگر آیتمهایی را جابجا کنید ،برخی از آنها را پاک کنید یا آیتم جدیدی بسازید ،شماره آیتمهای دیگر تغییر
میکند .در این حالت تمام روابط و ماهیتهایی که به شمارهها ارجاع میدادند به طور خودکار اصالح میشوند و
شمارههای جدید جانشین شمارههای قدیمی میشود.
روابط پیدرپی
حالت خاصی از ایجاد رابطه وجود دارد که در زمان تغییرات به شیوه خاصی اصالح میشود .این قابلیت در
نسخههای قدیمی پراجکت به طور پیشفرض فعال بود ،ولی خوشبختانه در نسخه 2111غیر فعال است.
کلیک کنید یا میانبر Ctrl+F2را بفشارید، در حالت کلی اگر مجموعهای از فعالیتها را انتخاب کرده ،روی
مجموعه روابطی پیدرپی ساخته میشود (شکل .)7-25
اگر قابلیت گفته شده فعال باشد و یکی از فعالیتهای داخل زنجیره را به محل دیگری داخل زنجیره منتقل
کنید ،روابط طوری اصالح میشوند که فعالیتها همچنان پیدرپی باقی بمانند (شکل .)7-26
اگر فعالیت را به خارج زنجیره منتقل کنید ،رابطه آن قطع میشود و فعالیتهای داخل زنجیره مجددا به طور
سری به هم مرتبط میشوند (شکل .)7-27
اگر فعالیت دیگری که خارج ز نجیره قرار دارد را به داخل آن منتقل کنید نیز روابط اصالح خواهند شد (شکل
.)7-28
اگر فعالیت جدیدی داخل زنجیره بسازید نیز داخل زنجیره روابط قرار خواهد گرفت (شکل .)7-29
شکل :7-29اصال روابط بعد از ساخته شدن رابطه جدید در داخل زنجیره
برای تنظیم این قابلیت به File| Options| Scheduleمراجعه و گزینه Autolink inserted or moved tasksرا
فعال یا غیر فعال کنید (شکل .)7-31
در باالی مجموعه تنظیمهایی که گزینه گفته شده در آن قرار دارد ،تنظیمی با پسزمینه تیره و با نام
Scheduling options for this projectوجود دارد .در لیست بازشویی که مقابل آن قرار دارد نام فایل فعال دیده
میشود .اگر مایل باشید میتوانید گزینه All new projectsرا در لیست انتخاب کنید تا تنظیمی که وارد
کردهاید پیشفرض تمام فایلهایی که بعدا ساخته میشوند به شمار رود.
با اینکه ممکن است قابلیت اصالح خودکار روابط پیدرپی به نظر جالب بیاید ،معموال باعث بروز اشتباه یا
سردرگمی میشود .به این خاطر پیشنهاد میشود که آن را فعال نکنید.
عملکرد قیدها
هر آیتم یک قید دارد .قید پیشفرض "شروع در زودترین زمان ممکن" است که هیچ محدودیتی برای آیتم به
وجود نمیآورد (ولی همچنان قید نامیده میشود) .می توان قیدهای دیگری نیز به فعالیت اعمال کرد .هر قید به
نوعی روی زمانبندی فعالیت اثر میگذارد.
به عنوان مثال فرض کنید اجرای قسمتی از پروژه نیاز به مجوزی دارد که میدانیم در تاریخ خاصی صادر
میشود .در این صورت می توانید به فعالیتِ آن قسمت قیدی دهیم که باعث شود زودتر از آن تاریخ شروع نشود.
با کمک قیدها میتوان کارهایی انجام داد و منطقهایی را در برنامه پیادهسازی کرد که با روابط ممکن نیست .با
این حال در نظر داشته باشید که استفاده از روابط بین آیتمها پیوستگی و وابستگی ایجاد میکند ،در حالی که
قیدها مستقال به آیتمها مشخصاتی نسبت می دهند .به این خاطر بهتر است که پیش از ایجاد هر قید به این فکر
کنید که میتوانید آن را با رابطه جانشین کنید یا خیر .اگر امکان پیادهسازی قید با رابطه وجود دارد ،به هیچ
وجه از قید استفاده نکنید.
انواع قیدها
قیدهای رایج در برنامهریزی ،که تقریبا تمام حالتهای مورد نیاز را پوشش میدهند ،از این قرارند:
FNETیا :Finish No Earlier Thanزودتر از ...تکمیل نشود (به تاریخ نیاز دارد)
FNLTیا :Finish No Later Thanدیرتر از ...تکمیل نشود (به تاریخ نیاز دارد)
MFOیا :Must Finish Onدر تاریخ ...پایان یابد (به تاریخ نیاز دارد)
MSOیا :Must Start Onدر تاریخ ...شروع شود (به تاریخ نیاز دارد)
SNETیا :Start No Earlier Thanزودتر از ...شروع نشود (به تاریخ نیاز دارد)
SNLTیا :Start No Later Thanدیرتر از ...شروع نشود (به تاریخ نیاز دارد)
در ادامه کتاب با مفهوم شناوری و انواع آن آشنا خواهید شد .شناوری دو نوع است :شناوری کل و شناوری آزاد.
اگر فعالیتی به اندازه شناوری کل به تاخیر بیفتد ،پایان پروژه به تاخیر نخواهد افتاد ،ولی ممکن است پایان
برخی فعالیت های دیگر به تاخیر افتد .اگر فعالیتی به اندازه شناوری آزاد به تاخیر بیفتد ،نه پایان پروژه به تاخیر
میافتد و نه فعالیتهای دیگر .نکتهای که در این مرحله باید بدانید ،این است که ALAPدر Projectاز شناوری
کل استفاده میکند ،در حالی که در پریماورا از شناوری آزاد استفاده میکند .دو حالت گفته شده تفاوتهای
فراوانی دارند و هرکدام برای شرایطی مناسب هستند .بهتر میبود اگر نرمافزارهای Projectو پریماورا دو قید
مختلف در نظر میگرفتند که هرکدام یکی از شناوریها را به کار ببرد.
قیدهای گفته شده برای فعالیتها به کار میروند .میتوان برای خالصهفعالیتها نیز قید تعریف کرد ،ولی فقط
قیدهای زیر را میتوان برای خالصهفعالیتها به کار برد:
پیش از این توضیح داده شده بود که تمام آیتمهای برنامه تمایل دارند که در زودترین زمان ممکن انجام شوند،
ولی محدودیتهای مختلفی آنها را به تاریخهای دیرتر میراند .این مسئله خصوصیت زیربنایی برنامههای
زمانبندی است و انعطافپذیری و کاربردی بودن برنامه وابسته به آن است.
با این وجود ،رفتار برخی قیدها با این مسئله در تناقض است .به عنوان مثال اگر از قید
Finish No Later Than
استفاده کنید ،عمال راه به تاخیر افتادن آیتم را گرفتهاید ،زیرا آیتم نباید از تاریخی که در قید مشخص شده
است دیرتر تمام شود.
از این توضیحات مشخص می شود که ممکن است برخی قیدها در برخی شرایط تناقضهایی ایجاد کنند ،زیرا
برخی قیدها مانع دیرتر شدن تاریخهای فعالیت میشوند ،در حالی که ممکن است الزم باشد که برخی روابط
فعالیتها را بیشتر از حدی که قید اجازه میدهد به جلو برانند.
همانطور که میبینید هیچکدام از این قیدها مانعِ دیرتر شدن تاریخهای فعالیتها نمیشوند .قیدهای زیر توانایی
ایجاد تناقض دارند:
بنا بر این همیشه در نظر داشته باشید که اگر الزم است از قیدها استفاده کنید ،قیدهای گروه اول را به کار
ببرید و از گروه دوم به شدت پرهیز کنید.
استفاده از قیدهای گروه دوم معموال ناشی از تعبیرهای اشتباه است .به عنوان مثال ممکن است مسئلهای
حقوقی ایجاب کند که فعالیتی در تاریخی خاص شروع شود .در این حالت نباید برای آن قید Must Start On
ساخت؛ باید بسته به شرایط از قید As Soon As Possibleیا Start No Earlier Thanاستفاده کرد تا فعالیت
بتواند آزادانه حرکت کند .بعد از آن باید روندی پایشی برای آن در نظر گرفت که اگر تاریخ شروع آن به خاطر
به تاخیر افتاد ،اخطار دهد .اگر فعالیت جابجا نشود ،مشکالت بالقوه خودنمایی نمیکنند و نمیتوان در زمان
مناسب راه چاره پیدا کرد .البته اگر چنین قیدهایی استفاده شود نیز انحرافهای اینچنینی بر اساس ایجاد
شناوری های منفی قابل ردیابی خواهند بود ،ولی به دلیل سرایت شناوری منفی به فعالیتهای متعدد ،رهگیری
مشکل خواهد بود.
اگر قرار است طبق قرارداد یا یکی دیگر از مبانی حقوقی پیمان ،کاری را تا تاریخی خاص تمام کرد ،از قید
Finish No Later Thanاستفاده نکنید .قید را As Soon As Possibleتعیین کنید تا تاریخ پایان آن فعالیت را
دایما زیر نظر داشته باشید تا هرگاه بعد از تاریخ مقرر قرار گرفت به فکر چارهای برای اصالح روند اجرای پروژه و
بازگرداندن آن به وضعیت مطلوب باشید.
همانطور که توضیح داده شد ،نباید از قیدهایی که پتانسیل ایجاد تناقض دارند استفاده کنید و در عمل هم
نیازی به آنها نخواهید داشت .ولی اگر از آن ها استفاده کنید و تناقضی به وجود آید ،باید رفع تناقض را مدیریت
کرد.
پیش فرض این است که اگر بین قیدها و روابط تناقضی وجود داشته باشد ،اولویت با قید باشد و زمانبندی بر آن
اساس محاسبه شود .میتوان تنظیم را تغییر داد تا در صورت بروز تناقض اولویت به روابط داده شود .برای تعیین
این تنظیم به File| Options| Scheduleبروید و گزینه Tasks will always honor their constraint datesرا
فعال یا غیر فعال کنید (شکل .)7-31
این تنظیم فقط به فایل فعال اعمال میشود .برای پیشفرض کردن آن در تمام فایلهایی که در آینده ساخته
خواهند شد ،گزینه All new projectsرا در قسمت Schedule options for this projectانتخاب کنید.
برای اولویت دادن به روابط در صورت بروز تناقض ،گزینه Tasks will always honor their constraint datesرا
غیر فعال کنید.
تعریف قیدها
هرگاه روی فعالیتی دابل کلیک کنید ،یا پس از انتخاب فعالیت گزینه Task| Properties| Informationرا اجرا
کنید ،کادر محاوره Task Informationباز خواهد شد .یک راه دیگر برای باز کردن کادر محاوره این است که
بعد از انتخاب آیتم کلیدهای Shift+F2را بفشارید .برای مرور و ویرایش قید ،به زبانه Advancedکه در شکل
7-32نمایش داده شده است بروید.
قیدی که برای فعالیت تعریف شده است ،در کادر محاوره Constraint typeنمایش داده میشود .از نظر منطقی
میتوان برای فعالیت بیش از یک قید تعریف کرد ،در حالی که در Projectچنین امکانی وجود ندارد.
Constraint date برخی از قیدها ،نیاز به تاریخ نیز دارند .در چنین مواردی ،تاریخ مربوط به قید در کادر بازشوی
مشخص میشود.
همانطور که پیش از این نیز توضیح داده شد ،تمام مشخصاتی که در این کادر محاوره دیده میشود ،از طریق
ستون های موجود در جدول نیز قابل استفاده است .برای کار با قیدها ،ستونهای Constraint Typeو
Constraint Dateرا باز کنید (شکل .)7-33
وقتی روی فلش کوچک کنار فیلد Constraint Typeیکی از فعالیتها کلیک کنید ،انواع قیدها در کادر بازشو
نمایش داده خواهند شد (شکل .)7-34
اگر روی فلش کوچکی که در کنار کادر بازشوی Constraint Typeکادر محاوره Task Informationقرار دارد
کلیک کنید نیز همین قیدها نمایش داده خواهند شد (شکل .)7-35
توجه داشته باشید که مقدار فیلدهای Startو Finishطبق برنامه محاسبه میشوند .اگر مقداری را در آنها وارد
کنید ،منجر به ساخته شدن یک قید می شود ،و ممکن است با این کار تاریخ مقداری را که انتظار دارید نمایش
ندهد .به عنوان مثال ،اگر در فیلد Finishتاریخی وارد کنید که سختگیری آن کمتر از تاریخی باشد که
پیشنیازها حکم میکنند ،تاریخ پایان برابر با عنصر سختگیرتر خواهد بود و در نتیجه برابر با تاریخ قید نخواهد
شد.
آنچه توضیح داده شد را میتوان اینگونه خالصه کرد که وارد کردن تاریخ در فیلدهای Startو ،Finishراه
میانبری برای ساخت قید است ،نه راهی برای تعیین تاریخ شروع و پایان فعالیتها .قیدی که با فیلد شروع
ساخته میشود Start No Earlier Than ،و قیدی که با تاریخ پایان ساخته میشود Finish No Earlier Than
است.
مرور قیدها
استفاده بیجا از قیدها ،مشکالت فراوانی به وجود می آورد .اگر زمانی رفتار برنامه مطابق انتظار نباشد ،یکی از
مسایلی که باید کنترل کرد قیدهاست.
در فیلد Indicatorsنمایش داده میشود ،تا مسئله را وقتی فعالیتی قیدی به جز ASAPداشته باشد ،آیکن
به برنامهریز یادآوری کند.
راه دیگر برای مرور قیدها ،استفاده از فیلد Constraint Typeاست .میتوانید فیلد را به جدول اضافه کنید تا قید
تمام فعالیتها در جدول دیده شود .اگر تعداد آیتم ها زیاد است ،روی فلشی که کنار عنوان فیلد قرار دارد کلیک
کنید .قیدهای استفاده شده در منویی که به این ترتیب باز میشود نمایش داده میشوند و میتوانید با کمک آن
آیتمها را فیلتر کنید تا فقط آنهایی که قیدی به جز ASAPدارند نمایش داده شوند .بعد از آن میتوانید
آیتمها را راحتتر کنترل کنید .برای برداشتن فیلتر کلید میانبر F3را بفشارید.
عملکرد فرجه
فرجه ) (Deadlineدیرترین زمان پایان مجاز آیتم را عالمت میزند و باعث میشود که شناوری فعالیت و
فعالیتهای وابسته به آن به تناسب آن تاریخ تنظیم شوند .اگر زمانبندی طوری باشد که فعالیت بعد از تاریخ
فرجه تمام شود ،مانعی برای آن ایجاد نمیشود ،ولی اخطار داده میشود و از طرف دیگر شناوری منفی نیز به
وجود میآید.
تاثیر دیگر فرجهها در زمانبندی ،این است که وقتی منابع را تسطیح میکنید ،فعالیتهایی که فرجه دارند
طوری به تاخیر نمیافتند که پایان آنها بعد از فرجه قرار گیرد.
در برنامههای معمولی که با انتهای آزاد تنظیم میشوند نباید از فرجهها استفاده کرد.
تعریف فرجه
میتوانید برای تعریف فرجه از کادر Deadlineکه در Task Informationقرار دارد استفاده کنید (شکل .)7-36
به جای آن ،میتوانید فیلد Deadlineرا به جدول اضافه کرده ،مقدارها را به آن طریق وارد و کنترل کنید.
وقتی برای فعالیتی فرجه تعریف کنید ،تاریخ فرجه به طور پیشفرض در نمای گانت نیز با یک فلش سبز رنگ
نمایش داده میشود (شکل .)7-37
در ستون Indicatorsنمایش داده میشود. اگر پایان فعالیتی بعد از فرجه قرار گیرد ،عالمت
شناوری فعالیتها از مهمترین نتایج محاسبات نرمافزارهای برنامه ریزی است .این محاسبه منجر به مشخص
شدن فعالیتهای بحرانی که از اطالعات مفید برنامه هستند میشود ،ولی عالوه بر آن کارکرد بسیار مهم دیگری
نیز دارند :شناوریها مهمترین عاملی هستند که کیفیت برنامهریزی شما را نشان میدهند .همیشه باید به
شناوریها توجه داشته باشید و با کمک آن ضعفهای برنامه را بیابید و حل کنید تا برنامهای خوشساخت و
موثر به وجود آورید.
در این فصل دو ابزار بسیار مفید پراجکت که در نسخههای جدید به آن اضافه شدهاند و همخانواده مفهوم
شناوریها نیز هستند و در کنترل برنامه ریزی و بهبود آن کاربرد فراوانی دارند ،یعنی ابزار کنترل مسیر فعالیتها
و ابزار کنترل عناصر حاکم نیز معرفی میشوند.
همانطور که پیش از این نیز توضیح داده شد ،فقط یکی از عناصرِ موثر بر زمانبندی هر فعالیت سختگیرانهترین
حالت را دارد و بر زمانبندی آن حاکم میشود .البته شرایط خاصی را هم میتوان تصور کرد که بیش از یک
عنصر سختگیری کامال مشابهی داشته باشند و همراهِ یکدیگر حاکم باشند.
نکته مهمی که همی شه باید در نظر داشته باشید این است که حاکم نبودنِ سایر عناصر به معنی بی اهمیت
بودن آنها نیست .این عناصر بر شناوریهای فعالیت مورد نظر و سایر فعالیتها تاثیر میگذارند و در زمانی که
زمانبندی به خاطر ورود اطالعات واقعی تغییر میکند نیز ممکن است حاکم شوند.
همیشه باید بعد از کامل شدن برنامهریزی شناوری فعالیتها را کنترل کنید .وجود شناوریهای بزرگ معموال
نشاندهنده ضعف زمان بندی آن فعالیت است و باید دلیل را بررسی کنید .معموال شناوریهای بزرگ به خاطر
جا افتادن روابط غیرحاکم هستند و بعد از درج آن گروه فعالیتها به حد مناسب میرسند.
مفهوم شناوری
شناوری در Projectبا عبارت slackو در Primaveraو برخی دیگر از مراجع ،با عنوان floatشناخته میشود.
این دو اصطالح کامال معادل هستند.
فعالیتی را فرض کنید که مدتی بعد از پایان برنامهریزی شدهاش پایان یابد .در این صورت چه اتفاقی خواهد
افتاد؟ آیا پایان پروژه نیز به تاخیر خواهد افتاد؟ به شکل 8-1دقت کنید.
به نظر شما اگر فعالیت Cدو روز به تاخیر افتد چه اتفاقی میافتد؟ شکل 8-2نتیجه را نشان میدهد.
همانطور که می بینید تاثیری در پایان پروژه (با این فرض که پروژه فقط همین سه فعالیت را دارد) نداشت.
فعالیتهای دیگر مسیر طوالنیتری ایجاد کرده بودند که تاخیر Cرا پوشش میداد .به عبارت دیگر ،فعالیت C
شناوری داشت.
شناوری کل
شناوری کل ) ،(total slackحد اکثر مدتی است که اگر فعالیت به آن اندازه به تاخیر افتد ،پایان پروژه و سایر
پایانهای مهم (پایانهای مهم در ادامه توضیح داده میشوند) به تاخیر نخواهند افتاد.
زمانی که از اصطالح "شناوری" استفاده میشود و اشارهای به کل یا آزاد بودنِ آن نمیشود ،معموال منظور
شناوری کل است.
شناوری کل در تعریف کالسیک مدت زمانی است که اگر فعالیت به آن اندازه به تاخیر افتد ،پایان پروژه به
تاخیر نخواهد افتاد .ولی Projectبه جز تاریخ پایان برخی تاریخهای پایانِ مهم را هم در این محاسبه منظور
میکند .تاریخهای مهمی که در تعیین شناوری منظور میشوند از این قرارند:
.1پایان پروژه
.2پایان فعالیتهایی که پسنیاز ندارند (در صورتی که محاسبه مسیرهای بحرانی متعدد فعال شده باشد)
.3فرجهها
.4قیدهای تاریخدار
شناوری کل طوری محاسبه میشود که هیچکدام از این تاریخها به تاخیر نیفتند .در نتیجه ممکن است به خاطر
وجود فرجه یا قید ،شناوریهایی که محاسبه میشوند از شناوریهایی که به شیوه کالسیک به دست آمدهاند
کوچکتر باشند.
به دلیل اهمیت تاریخ فرجهها و قیدها باید در تنظیم آنها دقت کنید ،زیرا طراحی غیر منطقی آنها شناوریها
را به طور کاذب کاهش میدهد و فعالیتهایی که به این ترتیب بحرانی میشوند در عمل بحرانی نخواهند بود.
شناوری آزاد
شناوری آزاد ) ،(free slackحداکثر مدت زمانی است که فعالیت میتواند به تاخیر افتد ،در حالی که پایان پروژه
و پایان سایر فعالیتها به تاخیر نیفتد.
از این تعریف مشخص میشود که شناوری آزاد ه میشه کوچکتر یا مساوی شناوری کل خواهد بود .اگر فعالیتی
بیشتر از شناوری آزاد و کمتر یا مساوی شناوری کل به تاخیر بیفتد ،پایان پروژه به تاخیر نخواهد افتاد ،ولی
فعالیتهای دیگری به تاخیر خواهند افتاد .بدیهی است که فعالیتهای دیگری که در اثر تاخیر این فعالیت به
تاخیر خواهند افتاد نیز قسمتی از شناوری کل خود را مصرف خواهند کرد.
با تغییر زمانبندی ،یعنی با ورود اطالعات واقعی که منجر به محاسبه مجدد زمانبندیها میشود ،شناوریها
دایما تغییر میکنند.
برای درک بهتر این دو نوع شناوری ،به شکل 8-3توجه کنید.
اگر فعالیت Eتا 5روز به تاخیر بیفتد ،عالوه بر این که پایان پروژه را به تاخیر نخواهد انداخت ،تاثیری روی سایر
فعالیت ها نیز نخواهد گذاشت .بنا بر این شناوری آزاد و شناوری کل فعالیت هر دو برابر با 5خواهند بود .شکل
8-4برنامه را در حالتی نشان میدهد که پایان Eبه مدت 5روز به تاخیر افتاده است .یک روز تاخیر به خاطر
شروع دیرهنگام فعالیت و 4روز دیگر به خاطر طوالنیتر شدن آن بوده است.
وضعیت فعالیت Cمتفاوت است .این فعالیت نیز میتواند تا 4روز به تاخیر بیفتد و پایان پروژه را تحت تاثیر
نگذارد ،ولی در این حالت فعالیت Dنیز به تاخیر خواهد افتاد .در نتیجه شناوری آزاد Cبرابر صفر و شناوری کل
آن 4روز خواهد بود (شکل .)8-5
در این برنامه Cو Eپیشنیاز Dهستند E .پیشنیاز سختگیرتری است و به این خاطر حاکم شده است .در این
حالت اگر Cبیشتر از 3روز به تاخیر بیفتد ،بر زمانبندی Dحاکم میشود و آن را به تاخیر میاندازد .بنا بر این
شناوری آزاد Cبرابر 3روز خواهد بود (شکل .)8-7
C در این حالت جدید شناوری آزاد Cصفر خواهد بود و شناوری کل 1روز .در حالت قبلی شناوری کل فعالیت
برابر با 4روز بود.
وقتی فعالیتی از شناوری آزادِ خود استفاده کند ،فعالیتهای دیگر به تاخیر نمیافتد ،ولی خالصهفعالیتهای باال
دست آن تغییر خواهند کرد.
شناوری کل اکثر فعالیتها بزرگ تر از صفر است ،در حالی که شناوری آزاد بسیاری از فعالیتها صفر است .اگر
اکثر فعالیتها شناوریهای آزادِ زیادی داشته باشند ،معموال به معنی کامل نبودن روابط برنامه است.
شناوریه ای کل نیز معموال نباید از نظر مدت و از نظر تعداد زیاد باشند؛ در غیر این صورت به معنی ضعف
روابط برنامه خواهد بود.
شناوری شروع
شناوری کل و شناوری آزاد بیشترین اهمیت را دارند ،ولی عالوه بر آنها دو مفهوم شناوری شروع و شناوری
پایان نیز وجود دارد.
اگر شروع فعا لیتی حداکثر به اندازه شناوری شروع به تاخیر افتد ،پایان پروژه تغییر نمیکند .به عبارت دیگر،
شناوری شروع از جنس شناوری کل ،ولی فقط معطوف به شروع فعالیت است.
شناوری پایان
شناوری پایان مانند شناوری شروع است ،ولی معطوف به پایان فعالیت میشود.
شناوری کل فعالیتها سمت راست میلهها نمایش داده شده است .همانطور که میبینید شناوری کل Eبرابر با
7روز است .اگر این فعالیت پیشنیاز Dشود ،تاثیری روی زمانبندی برنامه نمیگذارد (شکل .)8-9
در این حالت با اینکه زمانبندی تغییری نکرده است ،شناوری Eاز 7روز به 5روز تبدیل شده است.
این مسئله نشان میدهد که تعری ف روابطِ غیر حاکم تا چه اندازه اهمیت دارد ،زیرا با اینکه تاثیر آنها در
زمانبندی محسوس نیست ،شناوریها را کامل تغییر میدهند .هرگاه رابطهای منطقا حاکم باشد ،حتما باید آن
را وارد کنید.
سه جفت فیلد شروع و پایانِ مهم در پراجکت وجود دارد که از این قرارند:
فیلدهای اصلی Startو Finishهستند که شروع و پایان برنامهریزی جاری فعالیت را نشان میدهند .این تاریخها
بر اساس مدت زمان ها ،روابط ،قیدها و تسطیح منابع مقدار میگیرند .اگر فعالیتی شروع شود ،فیلد Actual
Startتاریخ شروع واقعی را نشان میدهد .اگر این فیلد مقدار داشته باشد ،از عناصر زمانبندی چشمپوشی
میشود و Startنیز با آن برابر خواهد شد .همین مسئله در مورد تاریخ پایان نیز برقرار است.
نکته اولی که باید بدانید این است که Startو Finishبرنامهریزی فعلی را نشان میدهند ،که معموال تحت تاثیر ِ
مقادیر واقعیِ وارد شده در برنامه نیز هست و احتماال مشابه برنامهریزی اولیه نیست .اگر نیاز به مقادیر
برنامه ریزی اولیه دارید ،باید خط مبنا ذخیره کنید و بعد از آن تاریخهای شروع و پایان برنامهریزی اولیه را از
Baseline Startو Baseline Finishبخوانید .ذخیرهسازی خط مبنا و استفاده از آن در بخشهای بعدی کتاب
توضیح داده خواهند شد.
Early نکته دیگری که باید بدانید این است که هیچکدام از فیلدهای ( Early Startزودترین تاریخ شروع)،
( Finishزودترین تاریخ پایان)( Late Start ،دیرترین تاریخ پایان) و ( Late Finishدیرترین تاریخ پایان) را نباید
به جای فیلدهای اصلی شروع و پایان گزارش داد .متاسفانه برخی کاربران برای اعالم تاریخهای شروع و پایان به
جای Startو Finishاز Early Startو Early Finishاستفاده میکنند که کامال اشتباه است.
فیلدهای زودترین و دیرترین تاریخ شروع و پایان فقط بر اساس روابط محاسبه میشوند و قیدها و تسطیح منابع
را در نظر نمیگیرند .اگر قید ASAPباشد و تسطیح منابع نیز محدودیتی ایجاد نکند ،شروع و پایان برابر با
زودترین تاریخ شروع و زودترین تاریخ پایان خواهد بود ،ولی اگر قید به ALAPتبدیل شود ،تاریخ شروع و پایان
با دیرترین تاریخ شروع و دیرترین تاریخ پایان برابر خواهند شد.
Finish واقعیت این است که فیلدهای Start Slack ،Late Finish ،Late Start ،Early Finish ،Early Startو
Slackهمگی برای دستیابی به شناوری کل و شناوری آزاد ایجاد شدهاند و کاربرد مستقیمی ندارند .شناوری
پایان برابر است با اختالف Late Finishو Early Finishو شناوری شروع نیز برابر است با اختالف Late Startو
.Early Start
شناوری منفی
منظور از شناوری منفی ،شناوریِ کلِ منفی است .با توجه به تعریف شناوری ،میتوان دانست که شناوری منفی
به این معنی است که فعالیت باید زودتر از زمانبندی تکمیل شود تا تاریخ پایان پروژه تغییر نکند .به عبارت
دیگر زمان بندی برنامه طوری است که پروژه تاخیر دارد .با این حال در شرایط معمول انتظار داریم تاریخ پایان
پروژه بر اساس وضعیت فعلی فعالیت تنظیم شده باشد و در نتیجه نیازی به زودتر تمام شدن آن نداشته باشیم.
چنین مسئلهای زمانی رخ میدهد که از قیدهای غیر انعطافپذیر و فرجهها استفاده کرده باشید.
به برنامه شکل 8-11توجه کنید .شناوری کل فعالیتها سمت راست میلهها نمایش داده شده است.
اگر برای Dفرجه ای تعریف شود که پیش از پایان آن قرار داشته باشد ،شناوری آن و همچنین شناوری
پیشنیازش منفی خواهند شد (شکل .)8-11
زمانبندی با انتهای آزاد – در این حالت هیچ نوع قید غیر انعطاف پذیر و فرجهای نباید استفاده
کنید تا فعالیتها بتوانند به راحتی به تاریخهای دیرتر منتقل شوند .به این ترتیب انحرافها بر اساس
مقایسه تاریخهای برنامهریزی جاری و تاریخهای برنامهریزی اولیه مشخص میشوند .این شیوه
برنامهریزی سادهتر و رایجتر است .توصیه میشود که همیشه از این شیوه برنامهریزی استفاده کنید.
زمانبندی با انتهای بسته – در این حالت تمام محدودیتهای قراردادی و ترجیحی در قالب قید و
فرجه وارد میشوند .در نتیجه اگر انحراف به وجود بیاید تاریخهای برنامهریزی جاری الزاما جابجا
نمیشوند و راه کنترل بررسی شناوریهاست .در این حالت شناوری منفی به معنی وجود انحراف
خواهد بود.
مهم ترین نکته این است که یکی از این دو روش را انتخاب کرده ،کامال به آن متعهد باشید .اگر شیوه زمانبندی
با انتهای آزاد را انتخاب کردهاید به هیچ وجه نباید عناصر محدود کنندهای مانند فرجه یا قیدهایی مانند Finish
No Later Thanدر برنامه وارد کنید.
فعالیتهای بحرانی
در حالت پیشفرض ،به فعالیتهایی که شناوری کل آنها منفی یا صفر باشد ،بحرانی گفته میشود .علت این
نامگذاری این است که فاقد شناوری بودنِ آنها باعث میشود که کوچکترین تاخیرشان ،باعث به تاخیر افتادن
تاریخ پایان پروژه (یا سایر تاریخهای پایانِ مهم) شود .بنا بر این باید توجه ویژهای به فعالیتهای بحرانی داشت.
تا کنون متوجه شدهاید که شناوریهای فعالیتها دایما تغییر میکنند .به همین خاطر ممکن است فعالیتی که
قبال بحرانی نبوده است به دالیل مختلف بحرانی شود .به شکل 8-12توجه کنید.
میتوانیم قالببندی گانت را به طور دستی تغییر دهیم تا فعالیتهای بحرانی متمایز نمایش داده شوند .به جای
آن میتوان گزینه Format| Bar Styles| Critical Tasksرا فعال کرد تا قالببندی به طور خودکار انجام شود
(شکل .)8-13
شکل :8-13فعال کردن گزینه Critical Tasksو نمایش آنها با رنگ متمایز
فعالیتهای بحرانی پررنگتر نمایش داده شدهاند .در این حالت Aو Bبحرانی هستند .حال فرض کنید مدت
زمان Bدو روز کاهش یابد .شکل 8-14نتیجه را نشان میدهد.
در این حالت Aو Bاز حالت بحرانی خارج میشوند و Cو Dبحرانی میشوند.
منطقِ زمانبندی در برنامه هایی که تعداد فعالیتِ زیادی داشته باشند پیچیده است و در نتیجه شناوریها دایما
تغییر میکنند .بنا بر این با اینکه الزم است به فعالیت های بحرانی توجه داشته باشید ،باید متوجه نیز باشید که
توجهِ زیاد به آنها و کمتوجهی به سایر فعالیتها میتواند بحرانیبودنها را تغییر دهد .در نتیجه همیشه بحرانی
بودن فعالیتها را باید کنترل کرد ،نه اینکه یک بار آن را استخراج کرد و دایما به کار برد.
هرچه شناوری کل فعالیتی کمتر باشد ،پتانسیل بیشتری برای بحرانی بودن خواهد داشت .به عنوان مثال
فعالیتی که نیم روز شناوری کل داشته باشد ،هر لحظه ممکن است بحرانی شود .به این خاطر بسیاری از کاربران
ترجیح میدهند که حد بحرانی نامیده شدن فعالیتها را تغییر دهند تا به عنوان مثال فعالیتهایی که نیمروز
شناوری کل دارند نیز بحرانی معرفی شوند.
برای تنظیم حد بحران به File| Optionsبروید و زبانه Advancedرا انتخاب کنید (شکل .)8-15
حد بحرانی بودن فعالیتها را در آخرین گزینه ،یعنی … Task are critical ifوارد کنید .مقدار مناسب متناسب
با مدت زمان پروژه است .این مقدار به صالحدید برنامهریز انتخاب میشود و قاعدهای کلی ندارد ،ولی برای
راهنمایی می توانید برای هر سال از پروژه یک روز به حد بحرانی اضافه کنید و به عنوان مثال حد بحرانی
پروژهای 3ساله را حداکثر 3روز تعیین کنید.
فعالیتهای بحرانی معموال در زنجیرهای دنبال هم قرار میگیرند ،زیرا کم بودن شناوری از هر فعالیت به
پیشنیازهایش سرایت میکند و آنها را هم مستعد بحرانی بودن میکند .به این زنجیره فعالیتها ،مسیر بحرانی
گفته میشود .توجه به مسیر بحرانی ،به معنی توجه به توالی فعالیتهای حساس و تاثیرگذار است.
یکی از کارهای مهم در کنترل پروژه ،گزارش دایمی مسیر بحرانی است .البته نیازی نیست که کل مسیر بحرانی
را گذارش کنید؛ معموال اعالم فعالیتهای بحرانی محدوده زمانی خاصی ،مثال یک هفته یا یک ماه ،کافی است.
اگر برنامه به حدی کامل باشد که مسایل تدارکاتی و مدیریتی را هم پوشش داده باشد ،نیازی به بررسی افقهای
بلند مدتتر نیست ،ولی در غیر این صورت باید افقهای بلندتر را هم بررسی کرد تا اگر به عنوان مثال قرار است
مصالحی در زمانی صرفِ کاری بحرانی شود و تهیه آن مصالح زمانبر است ،تهیه آن از زمان مناسب آغاز شود.
برای جلوگیری از فراموش کاری و بروز اشتباه ،بهتر است که برای تهیه چنین مصالحی هم فعالیتی تعریف کنید
تا مدیریت آن سادهتر شود.
توجه داشته باشید که با وجود اینکه از عبارت "مسیر بحرانی" استفاده میکنیم ،مسیر گفته شده الزاما توالی
فعالیتهایی که از ابتدا تا انتهای پروژه قرار گرفتهاند نیست.
ممکن است در زمان های خاصی از پروژه ،فعالیت بحرانی وجود نداشته باشد .اگر رابطه بین دو فعالیت بحرانی
تاخیر داشته باشد ،احتماال در آن فاصله فعالیتی بحرانی وجود نخواهد داشت (شکل .)8-16
در روزهای ششم و هفتم این برنامه هیچ فعالیتی بحرانی نیست.
گاهی قیدها حاکم میشوند میشوند و مسیر بحرانی را ناقص میکنند .شکل 8-17نمونهای از این حالت است.
فعالیت Eدر این مثال قید شروعی دارد که باعث شده است بعد از سایر فعالیتها پایان یابد .هیچکدام از
فعالیتها نیز پایان آن را به تاخیر نخواهند انداخت ،زیرا رابطهای تعریف نشده است .در نتیجه هیچ فعالیت
بحرانی دیگری پیش از آن وجود ندارد.
تا این قسمت درباره امکان ناقص بودن مسیر بحرانی صحبت شد .مشکل دیگری که در راه مسیر بودن مجموعه
فعالیت های بحرانی وجود دارد ،این است که ممکن است در زمانی خاص بیش از یک فعالیت بحرانی باشد .به
عنوان مثال به شکل 8-18توجه کنید.
رابطه جدیدی بین Aو Dبا تاخیر دو روزه ایجاد شده است ،طوری که سختگیری رابطه Aو Cدقیقا به یک
اندازه باشد و در نتیجه هردو حاکم باشند .در این حالت در روزهای اول تا سوم بیشتر از یک فعالیت بحرانی و
عمال دو مسیر بحرانی وجود دارد.
رایج ترین راه برای کنترل مسیر بحرانی ،استفاده از نمودار گانت است .میتوانید نمودار گانت را اختصاصیسازی
کنید تا فعالیتهای بحرانی را با رنگ دیگری (معموال قرمز) نمایش دهد.
برای این منظور گزینه Critical Tasksرا که در Format| Bar Stylesقرار دارد فعال کنید .بعد از این میلههای
فعالیتهای بحرانی به رنگ قرمز نمایش داده میشوند.
در Format| Bar Stylesگزینه دیگری به نام Slackنیز وجود دارد که اگر آن را فعال کنید ،شناوری آزاد همه
فعالیتها نیز در گانت نمایش داده میشود (شکل .)8-19
حتما در زمان برنامهریزی این گزینه را فعال و شناوریها را کنترل کنید .وجودِ شناوریهای زیاد معموال به
معنی ناقص بودن روابط برنامه است.
میتوانید قالببندی جدول را هم تغییر دهید تا متن فعالیت های بحرانی را به رنگی مانند قرمز نمایش دهد.
برای این کار روی Format| Format| Text Stylesکلیک کنید تا کادر محاوره شکل 8-21باز شود.
در کادر بازشوی Item to Changeگزینه Critical Taskرا انتخاب کنید .قالببندی مورد نظر خود را در
قسمتهای پایین کادر محاوره تعیین کرده ،روی OKکلیک کنید .معموال برای نمایش فعالیتهای بحرانی از
رنگ قرمز استفاده می کنند .بهتر است اندازه و نوع فونت را تغییر ندهید تا سادگی و یکنواختی ظاهر برنامه از
بین نرود.
یک راه دیگ ر برای کنترل ،اضافه کردن فیلد به جدول است .در قسمتهای قبل با فیلدهای شناوری و تاریخ
آشنا شدید .عالوه بر آنها فیلدی به نام Criticalنیز وجود دارد که فعالیتهای بحرانی را با مقدار Yesو
سایرین را با Noنشان میدهد.
مسیر بحرانی از نظر کن ترل پروژه اهمیت فراوانی دارد ،زیرا مدیران را متوجه فعالیتهای مهم میکند.
کارشناسان برنامهریزی و کنترل پروژه وظیفه دارند که دایما فعالیتهای بحرانی را اعالم و توجه مدیران را به
آنها جلب کنند.
در قسمتهای بعدی کتاب خواهید دید که یکی از شاخصهای ارزیابی وضعیت پروژه ،میزان تاخیر است .میزان
تاخیر کامال وابسته به شناوریهای فعالیتها است.
شناوریها بیش از هر چیز وابسته به شیوه تعریف روابط هستند .هرچه روابط کاملتر باشند ،شناوریهای
واقعیتر و منطقیتری به دست خواهد آمد و به عبارت دیگر فعالیتهای بحرانی بهتر شناسایی میشوند .طراحی
روابط (فصل )7بیشترین اهمیت را دارد .اگر رابطه را به خوبی طراحی نکرده باشید ،شناوریهای غیر معقولی
ایجاد میکنند.
اگر روابط به خوبی طراحی نشده باشند ،فعالیت هایی که عمال غیر بحرانی هستند بحرانی گزارش میشوند و
تاخیرهای پروژه نیز به درستی محاسبه نخواهند شد.
این مسئله به حدی تاثیرگذار است که گاهی شرکتهایی که مشکلی در اجرای پروژه دارند روابط برنامههای
خود را طوری طراحی میکنند که تاخیرهای کمتری گزارش کند.
یکی از مسایل سردرگم کننده برای کاربران نرمافزارهای برنامهریزی ،مسیرهای بحرانی متعدد است .پیش از این
توضیح داده شد که در هر پروژه تعدادی فعالیت بحرانی وجود دارد که معموال مسیری میسازند ،که مسیر
بحرانی نامیده می شود .این مسیر یکه بوده ،از آخرین فعالیت پروژه تا جایی که معموال ابتدای پروژه است امتداد
مییابد.
ممکن است برنامهریزی پروژه طوری باشد که برخی فعالیتها به طور مستقیم پسنیاز یا قیدی نداشته باشند
که Late Finishآنها را تحت تاثیر بگذارد .در نتیجه Late Finish ،آنها برابر با تاریخ پایان پروژه قرار داده
میشود .در این حالت اگر گزینه Format| Bar Styles| Slackرا فعال کنید ،خطی از انتهای میله فعالیت تا
انتهای پروژه ترسیم میشود .به این ترتیب ،فعالیت دارای مقدار زیادی شناوری آزاد خواهد بود که برابر با
اختالف زمان پایان آن و زمان پایان پروژه است .اگر مایل باشید میتوانید محاسبه مسیرهای بحرانی متعدد را
در Projectفعال کنید .در این حالت Late Finishفعالیتهای گفته شده برابر با تاریخ پایان برنامهریزی شده
خودشان قرار داده میشود .به عبارت بهتر ،شناوری کل فعالیتهایی که پسنیاز و قیدی نداشته باشند صفر
میشود .بر این اساس ،از هرکدام از فعالیتهای گفته شده ،یک مسیر بحرانی آغاز میشود که میتواند تا ابتدای
پروژه ادامه پیدا کند.
مسیر بحرانی در این برنامه d2 ،c2 ،b2 ،d1 ،c1 ،b1 ،a1است .در عین حال ،فعالیتهای e1و c3انتهای آزاد
دارند .اگر محاسبه مسیرهای بحرانی متعدد را فعال کنیم ،این دو فعالیت نیز بحرانی خواهند شد (شکل .)8-22
در عین حال ،اگر فعالیت c3را پیشنیاز d2قرار دهید ،نتیجه مانند آنچه در شکل 8-23دیده میشود خواهد
بود.
علت غیر بحرانی شدن فعالیت ها در این حالت این است که با ایجاد پسنیاز برای ،c3شناوری آن بر اساس
پس نیازش محاسبه شده و چون با آن فاصله دارد ،بحرانی به شمار نخواهد رفت؛ این در حالی است که چون
محاسبه مسیرهای متعدد فعال است ،در صورت نداشتن پسنیاز ،شناوری آن صفر منظور شده ،بحرانی میشود.
فعالیتهای b2و a2که پیش از این بحرانی بودند نیز به خاطر غیر بحرانی شدن ،c3دیگر بحرانی نیستند.
استفاده از این قابلیت زمانی کاربرد دارد که پروژه دارای چند فاز مختلف باشد که هرکدام به فعالیتی فاقد
پسنیاز منتهی میشوند .توجه داشته باشید که اگر فعالیتهای دیگری وجود دارد که قصد ندارید مسیرهای
بحرانی جدیدی بسازند ،میتوانید آن ها را به آخرین فعالیت برنامه متصل کنید .در این حالت ،اگر به هر دلیلی
قصد نداشته باشید که تکمیل فازها شناوری داشته باشند و به عنوان مثال قصد دارید آنها را جداگانه کنترل
کنید (مثال هرکدام پیمانکار جداگانهای دارد) ،میتوانید از مسیرهای بحرانی متعدد استفاده کنید؛ ولی به طور
کلی استفاده از این گزینه پیشنهاد نمیشود.
برای فعال یا غیر فعال کردن گزینه به زبانه Advancedاز File| Optionsبروید (شکل .)8-24
یکی از قابلیتهای جدید Project 2013نمایش مسیر فعالیتهاست .میتوانید با کمک این قابلیت پیشنیازها یا
پسنیازهای مستقیم و غیر مستقیم هر فعالیت و به عبارت دیگر تاثیرپذیریها و تاثیرگذاریها را به سادگی
ببینید.
برای بررسی پیشنیازهای مستقیم یا غیرمستقیم فعالیتها Format| Bar Styles| Task Path| Predecessorsرا
فعال کنید .بعد از هرگاه روی یکی از فیلدهای فعالیتی کلیک کنید ،پیشنیازهای مستقیم و غیرمستقیم آن در
نمودار گانت با رنگی متمایز نمایش داده خواهند شد (شکل .)8-26
برای غیر فعال کردن این قابلیت ،دوباره روی همان دستور کلیک کنید.
Format| Bar Styles| Task Path| Successors برای مرور پسنیازهای مستقیم و غیر مستقیم فعالیتها روی
کلیک کنید .از این به بعد هرگاه روی فعالیتی کلیک کنید ،پسنیازهای آن به رنگی متمایز نمایش داده خواهند
شد (شکل .)8-27
هرگاه فعالیتی بیش از یک پیش نیاز داشته باشد ،در هر زمان یکی از آنها بیشتر از سایرین محدودیت ایجاد
میکند و در عمل اگر سایر روابط حذف شوند تغییری در زمانبندیها به وجود نخواهد آمد .به چنین رابطهای
حاکم ) (driverگفته می شود .درج روابط غیرحاکم اهمیت فراوانی دارد ،زیرا هم بر شناوری پیشنیازها اثر
میگذارد و هم اینکه همیشه امکان دارد که به خاطر تغییرات زمانبندی رابطه حاکم تغییر کند.
دو قابلیت دیگری که به جز نمایش پیشنیازها و پسنیازهای مستقیم و غیرمستقیم هر فعالیت وجود دارد،
متمایز کردن پیشنیازهای حاکم و پس نیازهای حاکم است .این دو قابلیت با دستورهای زیر فعال و غیرفعال
میشوند:
هر فعالیت میتواند چند عنصر موثر در زمانبندی ،شامل پیشنیازهای مستقیمی که به خودش متصل هستند،
پیشنیازهایی که به خالصه فعالیت هایش متصل هستند و قیدهای زمانی داشته باشد .از این بین همیشه یک
عنصر سختگیرتر از سایرین است و اصطالحا Driverیا حاکم نامیده میشود .وقتی زمانبندی فعالیتی به
نظرتان غیرعادی است ،باید عنصر حاکم بر زمان بندی آن را کنترل کنید تا دلیل را متوجه شوید .معموال این
کنترل منجر به چند الیه بررسی پیشنیازها میشود.
یافتن عنصر حاکم بر زمانبندی کار سادهای نیست ،به همین خاطر در نسخههای جدید Projectقابلیت
جدیدی مخصوص این کار اضافه شده است .برای فعال کردن آن Task| Tasks| Inspect| Inspect Taskرا اجرا
کنید تا پنل Task Inspectorدر سمت چپ صفحه باز شود (شکل .)8-28برای بستن پنل میتوانید دوباره
روی همان گزینه یا روی عالمت Xکه در سمت راست پنل قرار دارد کلیک کنید.
در حالت عادی عنصر حاکم باید یک پیشنیاز باشد .در مثال شکل قبل فعالیت پیشنیازی که حاکم بوده است
در جدول نمایش داده شده است .نام آن عنصر که به طور پیشفرض با رنگ آبی نمایش داده میشود قابل
کلیک کردن است .وقتی روی آن کلیک کنید در جدول گانت جابجا میشوید و فعالیت مربوطه انتخاب میشود.
پنل Task Inspectorنیز به تبع عنصر حاکم بر زمانبندی آن فعالیت را نشان میدهد .به این ترتیب میتوانید
تا چند مرحله به عقب بروید و زنجیرهای که منجر به زمانبندی فعالیتی خاص شده است را کنترل کنید.
اگر عاملی به جز پیشنیاز بر زمانبندی فعالیت حاکم باشد نیز مشخص میشود .اگر به عنوان مثال خالصه
فعالیت مادر آن فعالیت پیشنیاز داشته باشد و پیشنیازهای آن سختگیرانهتر از پیشنیازهای فعالیت باشند (یا
فعالیت اصال پیشنیاز نداشته باشد) ،رابطه خالصه فعالیت به طور غیرمستقیم بر زمانبندی فعالیت حاکم
میشود .در این صورت به جای پیش نیاز نام خالصه فعالیت به عنوان عنصر حاکم نمایش داده میشود .ممکن
است عنصر حاکم تسطیح منبع یا قید نیز باشد.
میتوانید برنامههای زمانبندی را با منبع یا بدون منبع بسازید .پیادهسازی منابع در برنامه کار سادهای نیست،
ولی اگر شرایط آن محیا باشد و به شکلی هدف مند انجام شود امکانات بسیار مفیدی در اختیارتان قرار میدهد.
متاسفانه اکثر برنامه هایی که منبع دارند منابع را کامال صوری به کار گرفتهاند و هدفمند نیستند؛ در نتیجه
وجود منابع منجر به تولید محصولی مفید نمیشود و صرفا مشکالت کار را افزایش میدهد .همیشه در این
انتخاب جدی و حساس باشید.
در این فصل مباحث اولیه مربوط به منابع را بررسی خواهیم کرد .بسیاری دیگر از این مباحث به خاطر
وابستگیهایشان به موضوعهای دیگر در طول فصلهای بعد توزیع شدهاند.
وقتی به شیوه مناسبی از منابع استفاده کرده باشید میتوانید محصولهای زیر را به دست آورید:
برنامهریزی پویای توالیهای فعالیتها :میتوانید به جای تعریف روابط ترجیحی ،منابع مناسبی به
فعالیتهای همنوع اختصاص دهید و توالی فعالیت ها را با تسطیحِ آن منابع به وجود آورید .در این
حالت ،برنامه پویایی بیشتری خواهد داشت .به عنوان مثال میتوانید کنترل کنید که اگر منبع خاصی
را افزایش دهید ،چه تاثیری در هزینهها خواهد داشت یا چه مقدار زمان پروژه را کاهش میدهد.
پیشبینی منابع :در این روش ،میتوانید منابع مختلفی که در زمان اجرای پروژه مورد نیاز است را به
دست آورید .به عنوان مثال می توانید بدانید که در هر زمان نیاز به چه تعداد کارگر یا سایر نیروهای
انسانی ،قالب و سایر تجهیزات ،بتن و سایر مصالح مصرفی ،دارید.
برنامهریزی منابع :در این روش میتوانید با تحلیل سناریوهای مختلف ،بهترین حالت منابع مورد
نیاز را به دست آورید .به عنوان مثال ،اگر قالب عنصر تعیین کننده پروژه باشد ،میتوانید شیوههای
مختلف اجرا را کنترل کنید تا متوجه شوید که در کدامیک ،مقدار قالب مورد نیاز حداقل میشود .این
امکان زمانی که انتخابهای متعددی برای اجرا وجود دارد مفید است ،زیرا میتوان با کمک آنها
ترکیبِ اپتیمم منابع را یافت .البته متاسفانه Projectنیز مانند سایر نرمافزارهای برنامهریزی هیچ
امکانی برای اپتیمم کردن ندارد و باید با آزمایش و خطا به نتیجه برسید.
کنترل پیشرفت مبتنی بر منابع :یک راه برای ثبت و کنترل پیشرفت پروژه ،به کار بردن اطالعات
خام منابع است.
کنترل دقیقترِ هزینهها :اگر قصد دارید هزینههای پروژه را کنترل کنید ،دقیقترین حالت با کمک
منابع خواهد بود.
با وجود مزایایی که برای منابع گفته شد ،باید در نظر داشته باشید که انجام این کار مشکالتی نیز دارد .برخی از
مشکالت از این قرارند:
نا امیدی! اگر شرایط فراهم نباشد و پیشبینیهای الزم نشده باشد ،هیچکدام از محصولهای منابع
محقق نخواهند شد .اگر شما یا دیگران امید به آن محصولها بسته باشید ،دچار مشکل خواهید شد.
سنگین شدن برنامه :اگر با برنامه ای چند ده هزار آیتمی سر و کار داشته باشید ،وجود منابع آن را
بسیار سنگین میکند و در نتیجه روند کار با برنامه طوالنی و خستهکننده خواهد شد.
افزایش پیچیدگی :وقتی منابع را تعریف کنید ،تنظیمهای بیشتری موثر میشوند و اگر تنظیمها را
به دقت تنظیم نکنید و در کار با برنامه احتیاط نکنید ،با رفتارهای غیر منتظرهای روبرو خواهید شد.
طوالنی شدن روند برنامهریزی :برای تعیین منابع نیاز به نوعی برآورد اولیه است .استخراج این
اطالعات زمان برنامهریزی را افزایش میدهد.
مفهوم منبع
"منبع" از اصطالحات مهم مدیریت پروژه است .به انواع مصالح ،تجهیزات و نیروهای انسانی منبع گفته میشود.
در یک برنامهریزی دقیق ،باید منابع مورد نیاز برای فعالیتهای مختلف تعریف شود.
به عنوان مثال ،برای فعالی ت اجرای فونداسیون (اگر آن را به اجزای ریزتری خرد نکرده باشیم) ،نیاز به
مقدارهایی از شماره میلگردهای مختلف ،حجم خاصی بتن ،مقداری قالب مناسب ،تعدادی آرماتوربند ،تعدادی
قالببند ،تعدادی نیروی بتنریزی ،تعدادی کارگر ساده ،درصدی نیروهای فنی (مانند تکنسین و مهندس
اجرایی) و مانند آن است .ممکن است الزم باشد که تمام منابع ،یا تنها برخی از منابع که مهمتر و تاثیرگذار
هستند را در برنامه وارد کنید .به عنوان مثال ممکن است در شرایط خاص فقط حجم بتن و آرماتور را در برنامه
وارد کنید ،با این فرض که سایر منابع به اندازه کافی در دسترس هستند یا مدیریت دسترسی آنها ساده است.
بعد از تکمیل برنامهریزی ،میتوانید مقدار مورد نیاز هرکدام از منابع را در تاریخهای مختلف به دست آورید.
آنچه گفته شد ،یعنی به دست آوردن منابع مورد نیاز بر اساس برنامه زمانبندی ،عالوه بر اینکه جنبه اطالع
رسانی دارد و میتواند برای برنامهریزی تدارکات و نیروی انسانی به کار رود ،میتواند مبنای اصالح برنامه نیز
باشد .به عنوان مثال ممکن است برنامهریزی اولیه طوری باشد که در دوره خاصی نیاز به قالبهای زیادی داشته
باشید ،در حالی که بعد از آن تا پایان پروژه حجم قالب مورد نیاز بسیار کم باشد .در چنین حالتی ،ممکن است
بتوانید با به تاخیر انداختن برخی از فعالیت هایی که به قالب نیاز دارند ،نیاز به قالب را کاهش دهید ،در حالی که
زمان کلی پروژه تفاوت چندانی نکند .به این کار تسطیح منابع گفته میشود و در همین فصل با آن آشنا
خواهید شد.
تعداد منابع الزم برای هر فعالیت بسیار زیاد است .به عنوان مثال ،فعالیت آرماتوربندی ،نیاز به چند نوع آرماتور
دارد که باید برای هرکدام منبع جداگانه ای تعریف شود ،سیم آرماتوربندی ،انبر آرماتوربندی ،دستکش
آرماتوربندی ،کفش ایمنی ،کاله ایمنی ،احتماال نور مصنوعی برای کار در شب ،کارگر ساده ،تعدادی کارگر ماهر،
درصدی استادکار آرماتوربندی ،درصدی تکنسین ،درصدی مهندس اجرایی ،درصدی پشتیبانی نیروهای فنی
کارگاه ،و در نهایت درصدی از سرپرست کارگاه و مدیر پروژه دارد!
قطعا اگر یک فعالیت آرماتوربندی را در ذهن تصور کنید میتوانید منابع دیگری به جز آنهایی که گفته شد
بیابید و به لیست باال اضافه کنید .آنچه مسلم است ،نمیتوان "تمام" منابع فعالیت را تعریف کرد .نیازی هم به
این کار نیست .مثال این که چه تعداد کفش ایمنی یا دستکش کار الزم است را میتوان به واحدهای کاری
دیگری محول کرد و از برنامه زمانبندی و مدیریت سطح باالی پروژه خارج کرد.
باید مطابق معمول هدف ها را در نظر داشت .تعریف کدام منبع الزم است؟ ترجیحا فقط همان منبع را تعریف
کنید.
توجه داشته باشید که اگر فعالیتها بیشتر از یک منبع نداشته باشند ،کنترلشان بسیار سادهتر خواهد بود.
انواع منابع
معموال از اصطالح "منبع" برای اشاره به مصالح ،تجهیزات و نیروهای انسانی استفاده میشود .در عین حال،
بسیاری اوقات منظور از منبع ،نیروی انسانی است .از نسخه 2117پراجکت نوع جدیدی از منبع ،یعنی منبع
هزینه نیز به مجموعه اضافه شده است.
oمنابع کاری :نیروهای انسانی و تجهیزات در این گروه قرار میگیرند .معموال میزان مصرف این منابع
در واحدهای زمانی محدود است .به عنوان مثال ،ممکن است در یک پروژه حداکثر 5مهندس اجرایی
وجود داشته باشد؛ در نتیجه بر نامه باید طوری باشد که در هیچ روزی به بیش از 5مهندس اجرایی
نیاز نداشته باشیم .همین مسئله در مورد ماشین آالت و تجهیزات نیز برقرار است.
منابع مصرفی :مصالح در این دسته قرار میگیرند .برای کنترل این منابع ،معموال به میزان تجمعی o
آن و سرعت افزایش نیاز دقت میشود.
oمنابع هزینه :برای هر منبعی می توان هزینه تعریف کرد ،ولی منبع هزینه ابزار خاصی برای تعریف
هزینههای مستقل از منبع است .این کار قبال فقط با فیلد Fixed Costقابل انجام بود که
انعطاف پذیری کافی نداشت .با این حال منابع هزینه نیز در محاسبات تحلیل ارزش کسب شده لحاظ
نمیشوند و به همین خاطر کاربرد چندانی ندارند.
هر کدام از سه نوع منبع گفته شده ،دو حالت معمولی و بودجهای دارند .در این فصل فقط انواع معمولی منابع
تعریف میشوند.
منابع مصرفی میزان مصالح مورد نیاز برای یک فعالیت را مشخص میکنند .برای مشخص کردن مقدار دو راه
وجود دارد:
مقدار ثابت ،مستقل از زمان اجرا :در این حالت ،میزان منبع مصرفی مورد نظر از ابتدا مشخص o
میشود و مستقل از تغییرات مدت زمانِ فعالیت ،ثابت باقی میماند .به عنوان مثال ،مقدار بتنی که
برای یک سقف الزم است ،مقدر مشخصی است که ربطی به مدت اجرا ندارد.
مقدار متناسب با زمان :مقدار مصرف برخی از منابع بستگی به مدت زمان فعالیت دارد و با کم و o
زیاد شدن آن تغییر میکند .به عنوان مثال فعالیت نصب تیرهای یک اسکلت نیاز به تاورکرین یا
چرثقیلی دارد که تیرها را در هوا نگه دارد و جوشکاران نصب اولیه را انجام دهند .اگر به هر دلیلی
مدت زمانِ این کار افزایش یابد ،مدت زمانِ نیاز به تاورکرین یا جرثقیل نیز به همان نسبت افزایش
خواهد یافت.
تعریف منابع
اگر در زمان تخصیصِ منابع به فعالیت ها از منبعی اسم ببرید که قبال تعریف نشده است ،به طور خودکار و با
تنظیمهای پیش فرض تعریف خواهد شد .با این حال بهتر است که پیش از تخصیص منابع را تعریف و تنظیم
کنید تا بعدا دچار مشکل نشوید .در آینده خواهید دید که اگر برخی مشخصات منابع را بعد از تخصیص تغییر
دهید ،ممکن است برنامهریزی تغییراتی کند که انتظار ندارید.
برای کنترل لیست منابع ،به نمای Resource Sheetبروید .برای این کار میتوانید روی فلش پایین آیکن تعیین
نمای سمت چپ زبانه Resourceریبون کلیک کنید و از منویی که باز میشود Resource Sheetرا انتخاب
کنید .راه دیگر این است که روی نوار سمت چپ پنجره نرمافزار که نام نما را نشان میدهد کلیک راست کنید و
نما را از منویی که به این ترتیب باز میشود انتخاب کنید .شکل 9-1نما را نشان میدهد.
این نما تمام منابع برنامه را نشان میدهد .میتوانید تمام منابعِ برنامه را در همین صفحه تعریف و تنظیم کنید.
برای ساخت منبع جدید روی فیلد Resource Nameاولین ردیف خالی کلیک کنید و نام منبع را وارد کنید.
همیشه از نام هایی استفاده کنید که خوانا باشند و در آینده باعث سردرگمی نشوند؛ به این مسئله نیز توجه
داشته باشید که احتماال کسان دیگری به جز شما نیز با برنامه سر و کار خواهند داشت و در نتیجه عناوین باید
برای آنها نیز خوانا باشد .میتوانید از عبارتهای فارسی نیز استفاده کنید.
بعد از ساخت منبع باید تنظیمهای آن را وارد کنید .اولین تنظیم نوع منبع است که در فیلد Typeمشخص
میشود .کنار فیلد فلش کوچکی وجود دارد که وقتی روی آن کلیک کنید منویی باز میشود و سه نوع منبع را
در اختیارتان قرار میدهد تا یکی از آنها را انتخاب کنید (شکل .)9-2
تنظیمهای مربوط به تقویم و هزینه در قسمتهای بعدی کتاب توضیح داده میشوند .در این قسمت فقط
تنظیم مقدار دسترسی توضیح داده میشود که برای منابع کاری کاربرد دارد.
اگر منبعی که تعریف کردهاید منبعی کاری (نوع ) workباشد ،باید مقدار دسترسی آن را هم تعیین کنید .این
مقدار در فیلد Max Unitsتعیین میشود (ممکن است تمام نامِ فیلد در عنوان دیده نشود) .مقدار پیشفرض
٪111است ٪111 .به معنی یک نیروی تمام وقت ،دو نیروی نیمه وقت (هرکدام )٪51یا حتی چهار نیرویی
است که هرکدام یک چهارم روز در اختیار پروژه هستند .اگر به عنوان مثال قصد دارید منبعی برای گروه
آرماتوربندها بسازید و در این گروه 21نیروی تمام وقت وجود دارد ،باید مقدار ٪2111را وارد کنید.
اگر استفاده از درصد برایتان جالب نیست ،می توانید برنامه را تنظیم کنید تا به جای آن از اعداد صحیح استفاده
کند .برای این منظور به File| Options| Scheduleبروید (شکل .)9-3
در قسمت Show assignment units as aیکی از دو گزینه ( Percentageدرصد) یا ( Decimalعدد صحیح) را
انتخاب کنید .اگر عدد صحیح را انتخاب کنید 21نیروی تمام وقت به جای ٪2111با 21مشخص خواهد شد.
وقتی شیوه نمایش را تغییر دهید هیچکدام از مقدارهایی که قبال وارد شدهاند دچار مشکل نخواهند شد و
همگی با شیوه نمایش جدید دیده خواهند شد.
وقتی مقدار منبع الزم بیشتر از مقدار تعریف شده باشد ،مابهالتفاوت آنها اصطالحا اضافهتخصیص نامیده
میشود .در حالت پیشفرض وجود اضافهتخصیص نتیجه خاصی ندارد ،ولی نشاندهنده مشکلی در برنامهریزی
پروژه است .معموال اضافهتخصیصها را با تسطیح منابع برطرف میکنند.
فیلد Max Unitsدر ردیفِ منابعی که کاری نباشند غیر فعال خواهد بود.
فرض کنید میدانیم که پروژه در 6ماه ابتدای کار فقط دو تاور کرین خواهد داشت ،ولی بعد از آن دو تاور کرین
دیگر که در پروژه ای در حال اتمام مشغول به کار هستند آزاد شده ،به پروژه منتقل میشوند .در این صورت باید
مقدار دسترسی منبع تاور کرین را متغیر تعریف کنیم ،طوری که در 6ماه ابتدای پروژه ٪211و بعد از آن
٪411باشد.
برای مشخص کردن حداکثر دسترسیهای متغیر ،روی منبع مورد نظر دابل کلیک کنید تا کادر محاوره شکل
9-4باز شود.
در قسمت Resource Availabilityجدولی برای مشخص کردن مقدار دسترسی وجود دارد .به طور پیشفرض
یک ردیف در این جدول قرار دارد ،که حداکثر دسترسی منبع را در تمام زمانها مشخص میکند و مقدارش
برابر با مقداری است که در فیلد Max Unitsدیده میشود .اگر مایل باشید میتوانید ردیفهای دیگری وارد
کنید و دسترسیهای بازههای زمانی مختلفی را مشخص کنید .به شکل 9-5توجه کنید.
NAمخفف Not Availableاست .منظور از NAدر این قسمت ،نامحدود بودن بازه است .اگر به جدول دقت
کنید متوجه میشوید که پیش از دهم فوریه 2111مقدار دسترسی ٪111است .از آن زمان تا 22آوریل
2111مقدار دسترسی ٪511و بعد از آن ٪211تعیین شده است.
Max وقتی مقدارهای متغیر را وارد کنید ،مقدار دسترسی بازه ای که تاریخ جاری در آن قرار داشته باشد در
Unitsنمایش داده خواهد شد.
Resource Graph در ادامه خواهید دید که بهترین راه برای درک وضعیت تخصیص منابع ،مراجعه به نمای
است .این نما مقدار دسترسی و مقدارهای تخصیص را به صورت تصویری در تاریخهای مختلف نمایش میدهد.
شکل 9-6نمودار منبعی را نشان میدهد که مقدار دسترسی آن با تنظیمهای شکل قبل به صورت متغیر تعریف
شده بود .مقدار دسترسی با خط مشکی توپر نمایش داده میشود.
اگر تعجب کرده باشید که چرا مرحله افزایش و کاهش با اینکه هرکدام در یک مرحله بودند در شکل با دو
مرحله نمایش داده شده اند ،به این خاطر است که مقیاس کنونی نمودار ماه است و هرکدام از مراحل در میانه
یکی از ماهها بودهاند .اگر تغییر در ابتدا یا انتهای یکی از ماهها بود ،در شکل نیز با یک مرحله نمایش داده
میشد.
شکل 9-7نمودار قبل را بعد از اضافه کردن تعدادی تخصیص نمایش میدهد.
میزان نیاز تخصیصها در هر دوره با میله ای نمایش داده شده است .جایی که میله از خط دسترسی رد شده
است به معنی وجود اضافه تخصیص است.
پس از تعریف منابع میتوانید آنها را به فعالیتها اختصاص دهید .هر منبع را میتوان به تعداد بیشماری
فعالیت اختصاص داد.
برای تخصیص منبع راههای مختلفی وجود دارد .یک راه استفاده از فیلد Resource Nameاست که به طور
پیشفرض در نمای گانت دیده می شود .وقتی سلول را انتخاب کنید ،فلش کوچکی سمت راست آن نمایش داده
میشود .میتوانید روی فلش کلیک کنید تا لیست منابعِ موجود نمایش داده شود (شکل .)9-8
در کادر کنار هرکدام از منابع که قصد دارید تخصیص داده شوند عالمت تایید بزنید .بعد از این کار نام منابع در
سلول نمایش داده میشود (شکل .)9-9
اگر دوباره روی فلش کنار سلول کلیک کنید ،باز هم لیست منابع باز میشود و این بار منابعی که تخصیص داده
شدهاند با عالمتهای تایید متمایز میشوند .اگر عالمتهای تایید را بردارید ،تخصیص پاک میشود.
می توانید به جای انتخاب منبع در لیست ،نام آن را به طور دستی نیز تایپ کنید .اگر قبال منبعی با آن نام
تعریف نشده باشد ،با تنظیمهای پیشفرض ساخته خواهد شد .در این حالت باید به Resource Sheetمراجعه
کرده ،تنظیمهای منبع را وارد کنید.
توجه داشته باشید که اگر قصد دارید بیش از یک منبع را به فعالیتی اختصاص دهید و این کار را در یک مرحله
انجام ندهید ،با مشکالتی مواجه خواهید شد .برای این کار باید به تنظیمهای نوع فعالیت مسلط باشید؛ این
مهارت در فصل 11توضیح داده خواهد شد.
یک راه دیگر برای تخصیص منابع ،این است که روی Resource| Assignments| Assign Resourcesکلیک
کنید تا کادر محاوره شکل 9-11باز شود .میانبر Alt+F10نیز این کار محاوره را باز میکند.
این کادر به طور پیشفرض تمام منابع را نشان میدهد ،هرچند که می توان محتوای آن را فیلتر نیز کرد .نکته
مهم این است که در زمان باز بودن این کادر محاوره میتوانید فعالیتهای مختلف را در جدول گانت انتخاب
کنید و در این صورت کادر محاوره تخصیص نیز اطالعات همان فعالیت را نشان میدهد .در نتیجه نیازی نیست
که در زمان تخصیص منابع دایما این کادر محاوره را باز کنید و ببندید.
برای تخصیص منبع با کمک کادر محاوره تخصیص ،فعالیت را در نمای گانت و منبع را در کادر محاوره
تخصیص منبع انتخاب و بعد از آن روی دکمه Assignکلیک کنید .با این کار تخصیص انجام میشود .فیلد
Unitsکادر محاوره میزان تخصیص را نشان میدهد.
Units اگر مایل باشید می توانید میزان تخصیص را تغییر دهید .برای این کار مقدار مورد نظر خود را در فیلد
کادر محاوره تخصیص وارد کنید .اگر قبال منبعی را تخصیص نداده باشید و یکباره مقدار تخصیص را در فیلد
Unitsکادر محاوره وارد کنید نیز مشکلی به وجود نخواهد آمد و تخصیص شکل خواهد گرفت.
وقتی مقدار تخصیص واحد نباشد ،مقدارش داخل آکوالدی در فیلد Resource Namesنوشته میشود .میتوانید
تخصیصهایی با مقدارهای غیر واحد را به همین ترتیب داخل فیلد تایپ کنید (شکل .)9-11
اگر فعالیت و منبعی را انتخاب کنید که قبال به هم تخصیص داده شده باشند ،دکمه Removeو Replaceکادر
محاوره تخصیص فعال میشوند .اگر روی Removeکلیک کنید تخصیص پاک میشود (فعالیت و منبع پاک
نمیشوند) .اگر روی Replaceکلیک کنید می توانید منبع دیگری را جانشین منبع قبلی کنید .این ابزار به این
خاطر وجود دارد که وقتی منبعی را پاک کنید و منبع دیگری را اضافه کنید ،بسته به تنظیمهای فعالیت،
اتفاقهای مختلفی میافتد که ممکن است برای مفهوم جانشین کردن مناسب نباشند.
میتوانید عالوه بر فعالیتها ،به خالصهفعالیتها نیز منبع اختصاص دهید .با این حال معموال پیشنهاد میشود از
این کار خودداری کنید ،زیرا کنترل برنامه را بسیار مشکل میکند.
کنترل تخصیصها
نمودار گانت به طور پیشفرض نام و مقدار تخصیصهای هر فعالیت را کنار نمودار نشان میدهد (شکل .)9-12
در پراجکت سه مفهوم کلی وجود دارد و بیشتر عناصر اطالعاتی اعضایی از یکی از این سه مفهوم هستند:
فعالیتها و منابع را به راحتی میتوان در نماهای مختلفی دید ،ولی دسترسی به تخصیصها محدودتر است.
منظور از تخصیص ،ارتباطِ منطقیِ بین یک فعالیت و یک منبع است.
نماهایی که تخصیصها را نمایش میدهند Resource Usage ،و Task Usageهستند .نمای اول لیستی از منابع
است که زیرمجموعه هریک از آنها تخصیصهایشان نمایش داده شدهاند .نمای دوم لیستی از فعالیتهاست که
زیرمجموعه هر فعالیت منابعش دیده میشوند (شکل .)9-13
توجه داشته باشید که آنچه زیرمجموعه فعالیتهای Task Usageنمایش داده میشوند تخصیص هستند و نه
منبع ،در نتیجه اگر آنها را پاک کنید منابعی پاک نخواهند شد و فقط تخصیصها از بین خواهند رفت .همین
مسئله در مورد نمای Resource Usageنیز وجود دارد .تخصیصها نام جداگانهای ندارند و چون ارتباطی بین
یک منبع و یک فعالیت هستند ،اگر در نمای فعالیتها باشند با نام منبع و اگر در نمای منابع باشند با نام
فعالیت سوی دیگر تخصیص مشخص میشوند.
فیلد Assignment Unitsمیزان تخصیص را نشان میدهد .این فیلد به طور پیشفرض در نما وجود ندارد و در
صورت نیاز باید آن را به جدول اضافه کنید.
در سمت راست این دو نما جدولی زمانمند وجود دارد .منظور از زمانمند ،این است که محور افقی جدول زمان
است و مقدار یک یا چند فیلد را در زمانهای مختلف نشان می دهد .باالی جدول نیز مقیاس زمانی آن نشان
داده میشود که ماهیت و شیوه تنظیم آن تفاوتی با مقیاس زمانی نمودار گانت ندارد.
Work برخی فیلدها نسخه زمان مند نیز دارند .به عنوان مثال وقتی وارد یکی از نماهای گفته شده بشوید ،فیلد
را در حالت زمانمند خواهید دید .نسخه غیر زمانمند این فیلد در جدولهای معمول نمایش داده میشود و در
آن حالت مقدار کار تاریخی خاص را نشان میدهد .فیلدهای دیگری مانند Durationنسخه زمانمند ندارند.
کنترل اضافهتخصیصها
بعد از اینکه زمان بندی برنامه کامل شود و منابع را هم تعریف کنید و تخصیص دهید ،باید وجود
اضافهتخصیصها را کنترل کنید .اگر اضافه تخصیصی وجود داشته باشد ،باید آن را به نحوی حل کنید.
اگر یکی از منابع اضافهتخصیص داشته باشد ،در ستون Indicatorsتمام فعالیتهایی که از آن منبع استفاده
میکنند عالمت به رنگ قرمز نمایش داده خواهد شد.
اگر به نمای Resource Sheetبروید نیز در فیلد Indicatorsمنابعی که اضافهتخصیص داشته باشند عالمت
وجود خواهد داشت .کل ردیف این منابع نیز به جای مشکی با رنگ قرمز نمایش داده میشوند.
نمودار منابع
مراجعه به نمودار منابع راه بسیار خوبی برای کنترل وضعیت تخصیصها است .اگر اضافهتخصیصی وجود داشته
باشد در این نمودار دیده خواهد شد .ولی مهم تر از آن این است که وضعیت نامناسب توزیع کار منابع را نیز
می توان کشف کرد .اگر منبعی چند ماه کار داشته باشد و بعد از آن چندین هفته بیکار باشد و دوباره کار آن
آغاز شود ،وضعیت نامطلوبی را نشان میدهد ،زیرا معموال نمیتوان افراد را برای مدت چند هفته تعدیل و بعد
دوباره استخدام کرد .در این صورت باید برنامه را بازبینی کرد و راهحلی یافت.
در این نما ،یکی از منابع همراه با نمودار میزان کارکردش نمایش داده میشود .وقتی فلشهای باال و پایین
صفحه کلید را بفشارید یا چرخ ماوس را بچرخانید ،نمودار سایر منابع نمایش داده خواهند شد.
نام منبع به همراه راهنمایی کوچک در سمت چپ نما نشان داده می شود .نمودار آن در سمت راست قرار دارد.
در این نمودار به طور پیشفرض عناصر زیر وجود دارند:
خط افقی مشکی توپر :این خط میزان دسترسی منبع را نشان میدهد که در فیلد Max Unitsیا
در کادر محاوره تنظیمهای منبع مشخص می شود .این خط در حالت معمولی خطی صاف است ،که
نشاندهنده دسترسی ثابت است .ولی اگر میزان دسترسی متغیر تعریف کرده باشید ،شکستگی خواهد
داشت.
میلهها :هر میله میزان تخصیص یک دوره را نشان میدهد .دوره در مقیاس زمانی باالی نمودار
مشخص میشود و به طور پیشفرض روز است .در پروژههای معمولی که مدت زمانهای طوالنی دارند
استفاده از دورههای طوالنیتری مانند هفته یا ماه مناسبتر خواهد بود.
قسمتهای آبیرنگ میلهها :قسمتهای آبیرنگ میلهها نشاندهنده مقدار تخصیصهایی است که
زیر خط دسترسی قرار دارند.
قسمتهای قرمزرنگ میلهها :قسمتهای قرمزرنگ میلهها نشاندهنده مقدار تخصیصهایی است
که باالی خط دسترسی قرار دارند .به عبارت دیگر این قسمت اضافهتخصیصها را نشان میدهد.
جدول پایین صفحه :پایین میلهها جدول کوچکی وجود دارد و مقدار عددی مقدار تخصیص هر میله
را زیر آن نشان میدهد.
در Format| Dataکادر بازشویی وجود دارد که محتوای نمودار را تعیین میکند .توضیحهایی که داده شد در
مورد Peak Unitsبود؛ عالوه بر آن نمودارهای دیگری نیز میتوان ترسیم کرد و اطالعات دیگری را به صورت
تصویری دریافت کرد.
Peak Unitsحداکثر تخصیص هریک از دورههای زمانی را گزارش میکند .یعنی اگر به عنوان مثال دوره زمانی
ماه باشد و میزان تخصیص در تمام مدت ماه ٪111و فقط در یکی از روزهای آن ٪311باشد Peak Units ،آن
ماه ٪311خواهد بود .میتوانید فیلد Peakرا به Resource Sheetاضافه کنید و همین اطالعات را دریافت کنید
(شکل .)9-15
همانطور که میتوانید حدس بزنید فیلد Peakدر نمای Resource Sheetغیرزمانمند عمل میکند ،در حالی
که قاعدتا باید دادههای زمان مندِ آن موجود باشند که نمودار ترسیم شده است .بنا بر این میتوان به یکی از
نماهای زمانمند ،یعنی Task Usageیا Resource Usageرفت و مقدار زمانمند آن را دید.
برای اضافه کردن فیلد به نما روی جدول زمانمند کلیک راست کرده ،از منویی که باز میشود Detail Stylesرا
انتخاب کنید تا کادر محاوره شکل 9-16باز شود.
شکل :9-16کادر محاوره انتخاب فیلدهای زمانمند جهت نمایش در جدول زمانمند
گزینه Peak Unitsرا در لیست سمت چپ انتخاب کرده ،روی Showکلیک کنید .برای حفظ سادگی جدول
گزینه Workرا در لیست سمت راست انتخاب کرده ،روی Hideکلیک کنید .بعد از آن روی OKکلیک کنید.
به این ترتیب میتوانید میزان تخصیص دورههای مختلف را در جدول زمانمند ببینید (شکل .)9-17
مفهوم کار
به ازای هر تخصیص ،کاری ایجاد میشود .اگر منبعی را با میزان تخصیص ٪211به فعالیتی اختصاص دهید ،در
هر روز به اندازه دو نیروی کاری تمام وقت کار انجام خواهد شد .هر نیروی تمام وقت با تقویم استاندارد روزی 8
ساعت کار انجام می دهد (به جز روزهای تعطیل) .در نتیجه روزی 16ساعت کار برای فعالیت تعریف میشود.
اگر فعالیت دو روزه باشد ،مجموعا 32ساعت کار برای آن تعریف خواهد شد .شکل 9-18وضعیت فعالیتی که
مثال زده شد را نشان میدهد.
این شکل میزان تخصیص و مقدار کار روزانه را در سمت راست (جدول زمانمند) و مجموع آنها را در سمت
چپ (جدول معمولی) نشان میدهد .شکل 9-19همان فعالیت را بعد از تخصیص یک منبع دیگر نشان میدهد.
همانطور که میبینید تخصیص دوم ٪111است و در نتیجه روزی 8ساعت و مجموعا 16ساعت کار ایجاد کرده
است .مقدار کار فعالیت برابر است با مجموع کار تخصیصهایش و این مقدار در جدول سمت چپ دیده میشود
( 48ساعت) .ردیف فعالیت در جدول زمانمند مقدارهای دورهای را خالصهسازی میکند .روز اول و روز دوم
هرکدام 24ساعت کار دارند.
تاخیرِ تخصیص
میتوانید فیلد Assignment Delayرا به جدول تخصیصها اضافه کنید .این فیلد فاصله بین شروع شدن کار
فعالیت و کار منبع را نشان میدهد .مقدار آن به طور پیشفرض صفر است ،در نتیجه کار تمام تخصیصها
همزمان با کار فعالیت شروع میشود .شکل 9-21فعالیت مثال قبل را در حالتی نشان میدهد که به تخصیص
دوم آن یک روز تاخیر داده شده است.
جدول زمانمند نشان میدهد که تخصیص دوم در روز اولِ فعالیت کاری انجام نمیدهد .چون این تغییرات بعد
از تخصیص اول انجام شده اند ،مقادیر تخصیص اول به طور خودکار اصالح نشده است و کار آن به همان دو روز
اول محدود شده است .رفتارهای اینچنینی را تنظیمهای فعالیت مشخص میکند.
اگر الزم باشد که تاخیری در تخصیص ایجاد کنید ،میتوانید فعالیت را به دو یا چند فعالیت با توالیهای مناسب
خرد کنید و به هریک تخصیصهای بدون تاخیر بدهید .در این حالت برنامه سادهتر باقی میماند و کنترل آن
مشکل کمتری در پی خواهد داشت.
توزیع تخصیصها
اگر مایل باشید میتوانید تخصیصهایی بسازید که رفتارشان کامال اختصاصیسازی شده باشد .برای این کار به
یکی از جداول زمانمند بروید و مقدار کار دورهای هر تخصیص را مشخص کنید .شکل 9-21فعالیت مثالهای
قبل را بعد از ویرایش کارهای روزانه اولین تخصیصش نشان میدهد.
در این مثال مقدار کار روزانه تخصیص اول به طور دستی در جدول زمانمند وارد شده است .به تناظر این تغییر
میزان تخصیص روزانه هم به طور خودکار تنظیم شده است .در فیلد Indicatorsچنین تخصیصهایی آیکن
نمایش داده میشود.
به جای این کار نیز می توانید فعالیت را به چند فعالیت خرد کنید و به هریک از فعالیتهای زیرمجموعه توالیها
و میزان تخصیصهای خاص خود را بدهید تا ترکیب آنها حالت دلخواهتان را بسازد .امتیاز این کار در این است
که سادگی برنامه از بین نمیرود.
به طور کلی پیشنهاد میشود که حالت ساده تخصیصها را از بین نبرید.
روابط ،قیدها و فرجهها تنها عوامل موثر بر زمانبندی نیستند .تقویمها نیز عناصر بسیار مهم و موثری هستند و
اگر آنها را به خوبی به کار بگیرید امکانات فراوانی در اختیارتان قرار میگیرد و برنامههایتان بسیار موثرتر
خواهند بود.
هر تقویم تعداد ساعتهای کاری تک تک روزها را مشخص میکند؛ در نتیجه روزهای تعطیل ،یعنی روزهایی که
ساعتهای کاریشان صفر است نیز در تقویمهای کاری مشخص میشوند .به این ترتیب برنامه میداند که
فعالیتی که نیاز به چهار روز کار دارد و بیست و هشتم اسفند آغاز میشود ،در روز دوم نوروز تمام نمیشود.
انواع تقویم
هر پروژه تقویمی دارد .این تقویم ،تقویم رایج در اکثر کارها است و پیشفرض تمام فعالیتها به شمار میرود.
پس به یاد داشته باشید که تقویم پروژه چیزی نیست جز تقویمی پیشفرض برای کارها.
اگر برای فعالیتی تقویم تعریف نشود ،از تقویم پروژه استفاده میکند .گاهی روند کاری برخی فعالیتها با سایر
فعالیتها متفاوت است و در نتیجه باید برای آنها تقویمهای جداگانهای تعریف کرد .مثال اگر کارگاهی سه
شیفت کامل دارد ،تقویم پروژه 24ساعته خواهد بود .ولی ممکن است از بتن آماده استفاده کند و ماشینهای
حمل بتن فقط شبها اجازه تردد داشته باشند ،در نتیجه باید برای فعالیتهای بتنریزی تقویم 8ساعتهای در
شب تعریف کرد.
عالوه بر تقویم پروژه و تقویم فعالیت ،تقویم منبع نیز وجود دارد .هر منبع تقویمی دارد که شیوه کارکرد آن را
مشخص می کند .اگر در یک تخصیص تقویم منبع و فعالیت یکسان نباشد ،به طور پیشفرض اشتراک آن دو
تقویم ساعت های کاری تخصیص را مشخص خواهد کرد .به عنوان مثال اگر تقویم فعالیتی حکم کند که از 5
بعدازظهر تا 5صبح کار کند و منبعی به آن اختصاص داده شده باشد که تقویمش حکم کند از 8صبح تا 8
شب کار کند ،اشتراک آنها 5بعدازظهر تا 8شب خواهد بود .بنا بر این ٪111از این نوع تخصیص برابر با روزی
3ساعت کار خواهد بود.
طراحی تقویم
طراحی تقویم اهمیت زیادی دارد .اولین نکته ای که باید در نظر داشته باشید این است که تعطیلیهای تقویم
پروژه را اصالح کنید.
در تقویم استاندارد روزهای شنبه و یکشنبه تعطیل و سایر روزها 8ساعته هستند .بسته به نوع پروژه باید
تعطیلی ها را به پنجشنبه و جمعه منتقل کنید ،پنجشنبه را نیمه تعطیل کنید یا کال تعطیلیهای هفتگی را از
تقویم بردارید.
برای نیمه تعطیل کردن پنجشنبهها باید در آن 4ساعت کار (یا مقدار مناسب دیگری) تعریف کنید.
بعضی پروژهها یک هفته در میان جمعهها تعطیل هستند .در چنین مواردی میتوانید تمام جمعهها را تعطیل
کنید و جمعههای کاری را به عنوان حاشیه اطمینان تعبیر کنید.
اکثر پروژهها در نوروز مدت قابل توجهی تعطیل هستند .این تعطیلی تاثیر فراوانی بر پروژه دارد و حتما باید آن
را وارد کنید .اگر چنین کاری نکنید ،کارهای مختلفی برای آن روزها برنامهریزی میشوند و پس از مدتی
عقبماندگی کاذبی در برنامه گزارش میشود.
بسته به حساسیت پروژه ممکن است الزم باشد که تعطیلی های رسمی دیگر را هم در تقویم وارد کنید .اگر به
عنوان مثال قرار است پروژه هفتگی کنترل شود ،دو یا سه روز تعطیلی در یک هفته ارزیابیها را دگرگون
میکند و باید وارد شوند.
میتوانید با کمک تقویمها راندمان کاری فصلهای مختلف را نیز مشخص کنید .پروژههای ساخت معموال در
زمستان با راندمانی 11تا 51درصد کمتر از فصلهای دیگر کار میکنند و در نتیجه یکسان در نظر گرفتن
زمستانِ چنین پروژههایی با فصلهای دیگر کامال غیر واقعبینانه خواهد بود.
برخی برنامهریزان راندمان را در مدتزمانها تاثیر میدهند .به عنوان مثال اگر تعداد زیادی اجرای ستونِ یکسان
در پروژه وجود دارد ،آنهایی که در فصل زمستان قرار میگیرند را 5روزه و سایرین را 4روزه وارد میکنند .این
انتخاب زیاد مناسب نیست ،زیرا تاریخ اجرای فعالیتها دایما جابجا میشود و معموال نمیتوان اطمینان داشت
که فعالیت خاصی در زمستان یا خارج زمستان انجام میشود .به عنوان مثال ممکن است انحرافهایی در برنامه
ایجاد شده باشد و تعدادی از فعالیتهایی که قبال در زمستان بودهاند را به بهار سال بعد منتقل کرده باشد .در
این صورت مدت زمان آن فعالیت ها کماکان طوالنی خواهد بود و مدت برنامه به طور کاذب زیاد نشان داده
میشود .از طرف دیگر فعالیتهایی که از پاییز به زمستان منتقل شدهاند نیز مقدارهای مناسبی نخواهند داشت.
بهترین راه برای پیاده سازی راندمان کاری ،استفاده از تقویم است .اگر نتیجه تحلیلها این است که راندمان کار
در زمستان ٪21کاهش مییابد ،روزهای کاری زمستان را از 8ساعت به 6/4ساعت تبدیل کنید .به این ترتیب
هر فعالیتی که در زمستان قرار بگیرد به طور خودکار با راندمان ٪81برنامهریزی میشود .ممکن است تمام
فعالیتهای پروژه تحت تاثیر سرمای زمستان نباشند .در این صورت میتوانید تقویم مجزایی برای راندمان
زمستان بسازید و آن را به فعالیتهایی که از سرما تاثیر میگیرند نسبت دهید.
همانطور که گفته شد ،تقویم پروژه ،تقویم پیشفرض برای فعالیتها و منابع است .مقدار فیلد تقویم فعالیتها
گزینهای به نام Noneدارد که باعث میشود تقویم پروژه به فعالیت حاکم باشد .به این ترتیب هرگاه تقویم پروژه
را تغییر دهید ،زمانبندی تمام فعالیت هایی که تقویم مستقل نداشته باشند نیز به طور خودکار تغییر خواهد
کرد .منابع چنین گزینهای ندارند و هرگاه منبع جدیدی تعریف کنید ،مقدار فیلد تقویم آن برابر با تقویم پروژه
خواهد شد .این مقدار بعد از تغییر تقویم پروژه تغییر نمیکند و فقط منابعی که بعد از آن تعریف شوند تحت
تاثیر قرار خواهند گرفت .در چنین شرایطی اگر الزم باشد باید تقویم تک تک منابع را به طور دستی اصالح
کنید.
برای تعیین تقویم پروژه Project| Properties| Project Informationرا اجرا کنید (شکل .)11-1
تقویم مورد نظر خود را در کادر Calendarمشخص کنید .تمام تقویمهایی که در سیستم یا برنامه تعریف شده
باشند در این کادر قابل دسترسی خواند بود.
برای تعیین تقویم فعالیتها ،فیلد Task Calendarرا به جدول اضافه کنید .تمام فعالیتها به طور پیشفرض در
این فیلد مقدار Noneدارند ،که باعث میشود از تقویم پروژه استفاده کنند .اگر مایل باشید میتوانید مقدار
دیگری به این فیلد اختصاص دهید.
نوع تقویم عالوه بر فیلد گفته شده ،در فرم پایین صفحه و کادر محاوره Task Informationنیز قابل تعیین
است.
برای تعیین تقویم منابع ،فیلد Base Calendarرا به جدول منابع اضافه کرده ،مقدارهای مورد نظر خود را در آن
وارد کنید .عالوه بر آن می توانید روی منبع دابل کلیک کنید و روی دکمه Change Working Timeزبانه
Generalکادر محاورهای که باز میشود کلیک کنید .در کادر محاورهای که بعد از آن باز میشود کادری به نام
Base Calendarوجود دارد که میتوانید تقویم مناسب را در آن مشخص کنید.
تقویم تخصیصها
تخصیصها تقویم جداگانه ای ندارند .همانطور که پیش از این نیز گفته شد ،تقویمی که به هر تخصیص حاکم
است ،اشتراک تقویم فعالیتها و منابع است .اگر مایل باشید میتوانید فیلد Ignore Resource Calendarرا به
جدول فعالیتها اضافه کنید و در فعالیتهای مورد نظر به آن مقدار Yesدهید .در تخصیصهای چنین
فعالیتهایی فقط از تقویم فعالیت استفاده خواهد شد .البته این حالت چندان کاربردی نیست.
ساخت تقویم
در قسمت های قبل دیدید که برای تعیین تقویم هرکدام از عناصر ،کادر بازشویی وجود دارد که تقویمهای
تعریف شده را نشان میدهد .اگر مایل باشید میتوانید تقویمهای گفته شده را ویرایش کنید یا تقویمهای
جدیدی بسازید ،که در این صورت تقویمهای جدید نیز به لیست اضافه میشوند.
تقویمهایی که میسازید و ویرایش میکنید به طور پیشفرض در فایل پروژه ذخیره میشوند و تاثیری در
برنامههای دیگر ندارند .میتوانید این تقویمها را عمومی کنید .برای کسب اطالعات در این مورد به فصل 23
مراجعه کنید.
اگر تقویم ی که قبال به عناصری تخصیص داده شده باشد را ویرایش کنید ،تغییرات آن به طور خودکار در تمام
موارد اعمال خواهد شد.
برای مدیریت تقویمها Project| Change Working Timeرا اجرا کنید تا کادر محاوره شکل 11-2باز شود.
برای ساخت تقویم جدید ،روی Create New Calendarکلیک کنید تا کادر محاوره شکل 11-3باز شود.
اگر مایل باشید که تقویم جدید را بر مبنای یکی از تقویمهای موجود بسازید ،باید گزینه Make a copy ofرا
انتخاب کرده ،تقویم مورد نظر را در کادر روبروی آن مشخص کنید .در غیر این صورت گزینه Create new base
calendarرا انتخاب کنید.
بعد از وارد کردن نام تقویم در کادر ،Nameروی OKکلیک کنید .با این کار تقویم جدید در تمام کادرهای
بازشوی مربوط به تقویمها وجود خواهد داشت.
Change Working Time برای ویرایش تقویم ،آن را در کادر بازشوی For Calendarکه در باالی کادر محاوره
قرار دارد انتخاب کنید .با این کار تنظیمهای تقویم در کادر نمایش داده میشوند.
برای تعیین تنظیمهای کلی تقویم ،به زبانه Work Weeksکه در پایین کادر قرار دارد مراجعه کنید (شکل -4
.)11
گزینه ] [Defaultهمیشه در این زبانه وجود دارد .همانطور که دیده میشود ،محدودیتی برای شروع و پایان آن
وجود ندارد ،در نتیجه به کل تقویم اعمال میشود ،مگر اینکه گزینه دیگری پس از آن تعریف شده باشد.
برای کنترل تنظیمهای گزینه ،آن را انتخاب کرده ،روی Detailsکلیک کنید .با این کار کادر محاوره شکل -5
11باز خواهد شد.
در این کادر تک تک روزهای هفته را انتخاب کرده ،ساعتهای کاری آن را در لیست سمت راست وارد کنید.
اگر Set days to nonworking timeرا انتخاب کنید ،آن روزِ هفته غیر کاری میشود .اگر Set day(s) to these
specific working timesرا انتخاب کنید ،میتوانید ساعتهای کاری را در جدول وارد کنید .ساعتهای کاری
استاندارد 8صبح تا 12ظهر و 1بعدازظهر تا 5بعدازظهر است .شکل 11-6تقویم را در حالتی نمایش میدهد
که روز شنبه آن تبدیل به یک روز کاری معمولی شده است.
پس از مشخص کردن تنظیمها روی OKکلیک کنید تا از کادر محاوره خارج شوید.
میتوانید این تنظیم را برای بازه های زمانی مختلفی مشخص کنید .برای این کار باید پس از ] [Defaultبازهها را
تعریف کنید .به عنوان مثال به شکل 11-7توجه کنید.
در این حالت D1تنظیم روزهای هفته را در سال 2111و D2تنظیمها را در سال 2111تعیین میکند .سایر
بازهها با ] [Defaultتعیین میشوند.
اگر قصد دارید تعطیالت تقویم را وارد کنید ،یا به عبارت دیگر استثناهایی برای روندکلیِ مشخص شده در
گزینههای زبانه Work Weeksمشخص کنید ،باید به زبانه Exceptionsمراجعه کنید (شکل .)11-8
گزینهای برای آنچه در نظر دارید بسازید ،شروع و پایان آن را در فیلدهای مربوطه وارد کنید .بعد از آن روی
Detailsکلیک کنید تا کادر محاوره شکل 11-9باز شود.
قسمت ،Recurrence patternشیوه تکرار تعطیلی را مشخص میکند .برای این کار گزینههای روزانه ،هفتگی،
ماهیانه و سالیانه وجود دارد .پس از انتخاب واحد ،میتوانید تنظیمهای دقیقتر را در سمت راست وارد کنید .به
عنوان مثال ،اگر پروژه مورد نظر یک هفته در میان جمعهها تعطیل است ،گزینه Weeklyرا انتخاب کنید .بعد از
آن در گزینههای سمت راست Friday ،و 2را انتخاب کنید (شکل .)11-11
محدوده تکرار در Range of recurrenceمشخص میشود .برای مشخص کردن پایان محدوده میتوانید تاریخ
پایان یا تعداد تکرار را مشخص کنید.
Set working در پایان ساعتهای کاری روزهای مشخص شده در دو قسمت گفته شده را در باالی کادر ،قسمت
times for these exceptionsوارد کنید.
می توانید به جای ساخت تقویم جدید و اختصاص آن به منابع ،تقویم آنها را ویرایش کنید .این کار معادل این
است که یک کپیِ ویرایش شده از تقویم اختصاص یافته به آن منبع ساخته شده ،به آن اختصاص یافته باشد.
بهتر است از این روش استفاده نکنید و به جای آن تقویمها را بسازید و نامگذاری کنید و برای هر منبعی که
الزم بود به کار ببرید.
Resource اگر مایل بودید تقویم منابع را مستقیما ویرایش کنید ،روی منبع دابل کلیک کنید تا کادر محاوره
Informationباز شود .به زبانه Generalرفته ،روی Change working timeکلیک کنید تا کادر محاوره ویرایش
تقویم باز شود .عملکرد این کادر محاوره مانند کادرهای توضیح داده شده در قسمت قبل است.
عملکرد تقویمها
وقتی برنامه جدیدی میسازید ،به طور پیشفرض تقویم Standardبه عنوان تقویم آن پروژه شناخته میشود.
اگر الزم است که از تقویم دیگری به عنوان تقویم پروژه استفاده کنید ،بهتر است که آن را در ابتدای کار تنظیم
کنید.
هرگاه فعالیتی میسازید ،مقدار فیلد تقویم آن Noneاست ،یعنی تقویم پروژه به آن اعمال میشود .هرگاه تقویم
پروژه تغییر کند ،به فعالیتهایی که تقویم مجزا نداشته باشند نیز اعمال میشود .تمام منابع نیز به طور
پیشفرض با تقویم پروژه ساخته می شوند ،ولی اگر تقویم پروژه را تغییر دهید ،به منابعی که قبال ساخته شده
باشند اعمال نمیشود و الزم است که آنها را جداگانه تنظیم کنید.
فعالیتهایی که ف اقد منبع باشند ،تنها بر اساس تقویم فعالیت برنامهریزی میشوند .به عنوان مثال اگر تقویم
فعالیتی که قبال Standardبوده است را به 24 Hoursتبدیل کنید ،طول مدت اجرای آن یک سوم خواهد شد،
زیرا تقویم استاندارد 8ساعت کار در روز دارد ،در حالی که تقویم 24 Hoursسه برابر آن کار تعریف کرده است
(شکل .)11-11
همانطور که در شکل دیده میشود ،فیلد Durationبرای هر دو فعالیت مدت 6روز کاری را نشان میدهد ،در
حالی که فعالیت اول 6روزِ روزشمار به خود اختصاص داده است و فعالیت دوم فقط 2روزِ روزشمار امتداد یافته
است.
توجه داشته باشید که مدت زمان هر دو فعالیت بر حسب دقیقه ذخیره شده است .این مقدار بر اساس تقویم
فعالیتها به روزهای تقویم ترجمه میشوند ،در حالی که برای نمایش آنها در فیلد Durationاز معیار دیگری
که واحدهای تبدیل زمانی است استفاده میشود.
اگر به فعالیتها منبع اختصاص دهید ،پیچیدگی بیشتر می شود .همانطور که پیش از این نیز گفته شد ،هر
تخصیص به طور پیشفرض در مدت زمانی که بین تقویم های فعالیت و منبع مشترک است کار خواهد کرد .به
عنوان مثال برنامه 11-12را در نظر بگیرید.
دو فعالیتِ این برنامه دقیقا مانند هم هستند ،با این تفاوت که به فعالیت اول منبعی با تقویم استاندارد اختصاص
داده شده است .اشتراک تقویم استاندارد و ،24 Hoursبرابر با تقویم استاندارد است ،در نتیجه عمال مانند این
است که فعالیت دوم با تقویم استاندارد عمل کند .به همین خاطر سه برابر فعالیت اول در تقویم امتداد یافته
است.
در مورد اتفاقاتی که در زمان تخصیص منبعی با تقویم جداگانه به فعالیت میافتد و پیش از این توضیح داده شد
استثنایی هم وجود دارد :فعالیتهای نوع .Fixed Duration
پیچیدگیهای برنامههایی که از منبع استفاده میکنند بیشتر از برنامههای فاقد منبع است .یکی از این
پیچیدگیها به تاثیر نوع رابطه در تعدیل تغییرهایی است که به وجود میآید و در این فصل بررسی خواهد شد.
اگر فعالیتی منبع نداشته باشد و مدت زمان آن را تغییر دهید ،صرفا مدت آن اصالح میشود و با مقدار جدید در
روند زمانبندی قرار می گیرد .ولی اگر فعالیت منبع داشته باشد و مدت زمان آن را تغییر دهید سوالهایی به
وجود میآید؛ آیا قرار است منبع بیشتر از گذشته کار کند و در نتیجه کار را سریعتر تمام کند؟ یا اینکه مقدار
کار کم شده است؟ اگر منبع جدیدی به فعالیت اضافه کنیم نیز سوالهایی مطرح میشود؛ آیا قرار است منابع
قبلی کمتر کار کنند؟ آیا کار فعالیت بیشتر شده است و برای جبران آن منبع را اضافه کردهایم؟
بهتر است برنامه های ساده را بدون منابع تنظیم کنید .ولی اگر الزم بود که منبع نیز اضافه کنید و به هر دلیل
قصد نداشتید مهارتهای پیشرفته این فصل را بیاموزید ،میتوانید این دو تنظیم را انجام دهید:
رفتار برنامه در این حالت به انتظار اکثر افراد نزدیکتر است .برای تعیین تنظیمها ،کل فعالیتها را انتخاب
کرده ،روی Task| Properties| Informationکلیک کنید .به زبانه Advancedکادر محاورهای که باز شده است
بروید ،در Task typeگزینه Fixed Durationرا انتخاب کنید و گزینه Effort Drivenرا غیر فعال کنید.
عامل اصلی پیچیدگی ،تغییر منابع است .فرض کنید فعالیتی دارای یک منبع با میزان اختصاص ٪111باشد.
اگر یک منبع ٪111دیگر نیز به آن اختصاص دهیم ،چه منطقی باید به مسئله حکمفرما باشد؟
.1کارِ فعالیت بیشتر از پیش بینی اول شده است و به همین خاطر منبع جدیدی برای کمک به منبع
قبلی اضافه کردهایم تا فعالیت در همان زمان برنامهریزی شده تمام شود.
.2می خواهیم قسمتی از کار منبع اول را به عهده منبع دیگری بگذاریم و از منبع اول برای کار دیگری
کمک بگیریم.
.3میخواهیم فعالیت با منابع بیشتری انجام شود تا در زمان کوتاهتری پایان یابد.
تمام شرایط گفته شده کاربرد دارند؛ به همین خاطر ،در Projectشیوههای مختلفی برای تغییر منابع پیشبینی
شده تا هر کاربر بتواند آنچه را الزم دارد انجام دهد .با توجه به آنچه گفته شد ،باید منطق کار Projectو روابط
موجود را به خوبی بدانید تا هم بتوانید در شرایط الزم محصول مورد نظر خود را به دست آورید وهم اینکه،
سردرگم نشوید.
نوع رفتار هر فعالیت به تفکیک و با تنظیمهای خاصِ همان فعالیت که در فیلدهایش ذخیره میشوند مشخص
میشود .در این فصل رابطه بین فعالیتها و منابع در دو حالت ساده و پیشرفته توضیح داده میشوند.
ارتباط ساده
در این قسمت ارتباط بین منابع و فعالیت در حالت ساده توضیح داده میشود.
به طور کلی رابطهای که برای این منظور گفته می شود و در مراحل بعد خواهید دید که رابطه چندان کامل و
دقیقی نیست ،از این قرار است:
Unit منظور از ،Unitمیزان اختصاص هر منبع به فعالیت است .اگر منبعی ٪251اختصاص یافته باشد ،مقدار
آن 2/5خواهد بود .اگر یک منبع ٪251و یک منبع ٪151اختصاص یافته باشد ΣUnits ،برابر با 4خواهد بود.
فرض کنید میزان کار فعالیت و منابعِ آن در تقویم ،روزی 8ساعت تعریف شده باشد .اگر منبعی به طور نیمه
وقت ،یعنی با میزان اختصاص ٪51تخصیص داده شده باشد ،به این معنی است که منبع روزی 4ساعت کار
میکند .اگر فعالیت 8روز کار داشته باشد ،با 2روز کار منبع تکمیل میشود .اگر به این فعالیت 8ساعته ،دو
منبع ٪25یا دو منبع ٪51اختصاص داده شده باشد ،کار به ترتیب در 2و 1روز تمام خواهد شد.
می توان مقدار کار فعالیت را مشخص کرد تا مدت زمان آن به دست آید .ولی خیلی اوقات مدت زمان را وارد
میکنند تا مقدار کار بعد از اولین تخصیص منابع به دست آید.
فرض کنید به فعالیتی زمان 11روز داده شده باشد .اگر به آن سه منبع با اختصاصهای ٪251 ،٪111و ٪51
اختصاص داده باشیم ،مجموع Unitها برابر با ٪411یا 4خواهد بود ،که معادل با این است که چهار نفر به طور
تمام وقت در هر روز کار کنند .اگر روز کاری 8ساعت باشد ،این کار معادل با روزی 32ساعت خواهد شد .چون
فعالیت 11روزه است ،به این معنی است که فعالیت مجموعا 321ساعت کار دارد.
آنچه تا این زمان گفته شد ،درباره حالتی بود که برای اولین بار منابع را به فعالیت اختصاص دهید .در قسمت
قبل توضیح داده شد که برای اختصاصهای بعدی ،منطقهای مختلفی میتواند وجود داشته باشد .منطقهای
مختلف به دو طریق مشخص می شوند :یکی فعال بودن یا نبودن گزینه Effort Drivenفعالیت است و دیگری
Task Typeمشخص شده برای آن فعالیت.
دو فیلد گفته شده ،مانند تمام فیلدها از طریق ستونهای جدول و فرم Task Informationقابل دسترسی
هستند (شکل .)11-1
شکل :11-1تعیین مقدارهای Effort Drivenو Task Typeدر کادر محاوره Task Information
گزینه Effort Drivenزمانی موثر است که منبع جدیدی را به فعالیت اختصاص دهید یا یکی از منابع اختصاص
داده شده را حذف کنید Task Type .زمانی موثر است که تعداد منابع ثابت بوده ،مقدارهای تخصیص ،مدت
زمان یا مقدار کار را تغییر دهید.
:Fixed-Durationدر این حالت مدت زمان ثابت است و اگر کار را زیاد کنید ،مقدار تخصیص زیاد
خواهد شد .اگر مقدار تخصیص را زیاد کنید ،کار افزایش پیدا خواهد کرد .اگر در این حالت مدت زمان
را افزایش دهید ،مقدار کار افزایش خواهد یافت.
:Fixed-Unitsدر این حالت میزان تخصیص ثابت است و اگر مدت زمان را افزایش دهید ،کار افزایش
خواهد یافت .اگر کار را افزایش دهید ،مدت زمان افزایش مییابد .با افزایش میزان تخصیص ،مدت
زمان کاهش مییابد.
:Fixed-Workبا ثابت بودن کار ،اگر مدت زمان افزایش یابد ،میزان تخصیص کم میشود و اگر میزان
تخصیص افزایش یابد ،مدت زمان کاهش مییابد .افزایش کار در این حالت ،باعث کاهش مدت زمان
میشود.
در این جدول W ،Dو ΣUبه ترتیب مخفف مدت زمان ،کار و مجموع مقدار تخصیصهای منابع است .عالمت
مثبت یا منفی بعد از حروف به معنی افزایش یا کاهش مقدار آنهاست.
با ثابت بودن هرکدام از سه فاکتور (که با Task Typeمشخص میشود) ،تغییر هر فاکتور با اصالح
فاکتور دیگری که ثابت نیست اصالح میشود.
اگر فاکتور ثابت تغییر کند ،مدت زمان اصالح خواهد شد ،مگر زمانی که مدت زمان تغییر کرده باشد،
که در این حالت مجموع تخصیصها اصالح میشود.
پیش از این نیز توضیح داده شد که گزینه Effort Drivenزمانی موثر است که تعداد منابع کم یا زیاد شود .اگر
فعالیت Effort Drivenنباشد ،با افزایش یا کاهش منابع ،میزان کار افزایش یا کاهش مییابد .در غیر این
صورت ،با افزایش تعداد منابع ،مدت زمان کاهش مییابد ،مگر در مواردی که فعالیت Fixed-Durationباشد ،که
در این حالت میزان تخصیصها اصالح میشود تا مجموع آنها بعد از معرفی منبع جدید ،به اندازه قبل باشد.
شکل :11-2کارکرد منابع در شرایط مختلف ،بعد از اضافه شدن منبع جدید
آنچه توضیح داده شد را میتوان اینگونه خالصه کرد که اگر فعالیتی Effort Drivenباشد ،به این معنی است
که تغییر تعداد منابعِ آن برای اصالح مدت زمان است؛ یعنی میزان کار ثابت است و هدف از تغییر ،کاهش زمان
یا کاهش هزینه ناشی از منابع میباشد.
جدول زیر تغییرات کار ،زمان و میزان تخصیص را به همراه مثال نشان میدهد.
FU+ED )(5d, 80h, 2r1 )(20d, 160h, r1 )(20d, 160h, r1
FU-ED )(5d, 80h, 2r1 )(20d, 160h, r1 )(20d, 160h, r1
FD+ED )(10d, 160h, 2r1 )(20d, 160h, r1 )(10d, 160h, 2r1
FD-ED )(10d, 160h, 2r1 )(20d, 160h, r1 )(10d, 160h, 2r1
FW+ED )(5d, 80h, 2r1 )(20d, 80h, ½r1 )(20d, 160h, r1
مقدارهای اولیه (10d, 80h, r1) ،است و هر جدول تغییر این سهتایی مرتب را بر اساس تغییر یکی از سه
فاکتورها ،نشان میدهد.
مثالهای اضافه شدن منبع جدید در جدول زیر نمایش داده شده است.
Fixed Units )(5d, 80h, r1 & r2 )(10d, 160h, r1 & r2
Fixed Duration )(10d, 80h, ½r1 & ½r2 )(10d, 160h, r1 & r2
توضیحات این قسمت برای آغازِ درک عملکرد برنامه است و در تمام شرایط به درستی عمل نمیکند .عملکردِ
دقیق در قسمت بعد توضیح داده شده است.
ارتباط پیشرفته
اگر آنچه در قسمتهای قبل گفته شد را در حالتهای مختلف آزمایش کرده باشید ،احتماال به تناقضهایی
برخوردهاید .این تناقض ها به این دلیل است که توضیحات گفته شده در مرحله قبل ،که اصوال توضیحی
استاندارد است ،در اجزای زمانمند برقرارند ،نه در کل تخصیص.
برای شروع کار ،پنج فعالیت با پنج حالت گفته شده بسازید .برای آنها نامهایی انتخاب کنید که مشخص کننده
نوعشان باشد .به همه مدت زمان 11روز و منبع R1اختصاص دهید .به این ترتیب همگی 81ساعت کار
خواهند داشت .به نمای Task Usageرفته ،ستونهای Duration ،Work ،Task Nameو Resource Nameرا
باز کنید (شکل )11-3
جدول زمانمند (سمت راست) مقدار فیلدی را در روزهای مختلف نشان میدهد .همانطور که در شکل نیز دیده
میشود ،جدول به طور پیشفرض مقدار Workرا نشان می دهد .در راستای افقی نیز هر ستون به یک روز تعلق
دارد .فیلدهای مختلف مانند Workمیتوانند زمانمند باشند و همراه یا به جای Workدر جدول نمایش داده
شوند.
همانطور که در شکل نیز دیده میشود ،چون منبع ٪111تخصیص یافته و هر روز کاری 8ساعته تعریف شده
است ،در هر روز 8ساعت کار به عهده منبع گذاشته شده است .اگر به عنوان مثال منبع ٪51اختصاص یافته
بود ،مقدار کار آن در هر روز 4ساعت میبود .اگر مایلید آنچه گفته شد را آزمایش کنید ،باید برای این کار
فعالیت های جدیدی بسازید ،چون ویرایش منابع تابع شرایط مختلفی است که موضوع این قسمت میباشد و به
راحتی نمیتوانید منبعی که در ابتدا ٪111اختصاص یافته بود را ٪51درصد کنید و انتظار داشته باشید که
نتیجه مانند زمانی باشد که از ابتدا آن را ٪51اختصاص دادهاید.
ستونهای خاکستری رنگ ،روزهای تعطیل را نشان میدهند و در آنها منبعی کار نمیکند .توجه داشته باشید
که روزهای تعطیل در مدت زمان شمرده نمیشوند.
ابتدا شرایط ساده ،یعنی تغییر سه فاکتور گفته شده را آزمایش خواهیم کرد .برای شروع ،مدت زمان تمام
فعالیتها را به 5روز تبدیل کنید .نتیجه در شکل 11-4نمایش داده شده است.
همانطور که دیده میشود ،میزان تخصیص فعالیت ها در چهار نوع اول ،ثابت باقی مانده و منبع مورد نظر هر روز
مانند گذشته 8ساعت کار می کند .این مسئله باعث شده است که کار فعالیت از 81ساعت به 41ساعت تبدیل
شود .آخرین نوع ،عملکرد متفاوتی دارد .در این نوع ،کار همان 81ساعت باقی مانده است ،در نتیجه میزان
تخصیص فعالیت ٪211شده و هر روز 16ساعت کار انجام میدهد.
با Undoکردن فعالیتها را به حالت اولیه باز گردانید .این بار مقدار کار را از 81ساعت اولیه ،به 41ساعت
تبدیل کنید (شکل .)11-5برای این کار ،مقدار فیلد Workفعالیت را اصالح کنید ،نه مقدار تخصیص را.
در انواع 2 ،1و ، 5میزان کارکرد روزانه فعالیت ،که متناظر با میزان تخصیص آن است ،ثابت باقی مانده؛ در
نتیجه چون مجموع آن ،یعنی کار فعالیت کم شده ،تعداد روزها نیز کاهش یافتهاند.
در انواع 3و ،4مدت زمان ثا بت مانده و در نتیجه مقدار کارکرد روزانه منابع ،یا به عبارت دیگر میزان تخصیص
آن کاهش یافته است.
تغییرات را Undoکنید .این بار میزان تخصیص منبع را ٪151کنید .نتیجه در شکل 11-6نمایش داده شده
است.
وقتی منبع با ٪111تخصیص روزی 8ساعت کار کند ،با ٪151تخصیص ،روزی 12ساعت کار خواهد کرد.
همانطور که دیده میشود ،کارکرد روزانه منبع در تمام حالتها 12ساعت شده است .توجه داشته باشید که
مقدار کار برخی از فعالیتها ضریبی از 12نیست و در نتیجه کارِ منبع در آخرین روز کمتر است.
میزان کار در انواع 2 ،1و ،5ثابت باقی مانده و چون منبع با توان بیشتری کار میکند ،مدت زمان کاهش یافته
است .در انواع 3و ، 4تعداد روزها ثابت باقی مانده و چون منبع با توان بیشتری کار میکند ،مقدار کار فعالیت
افزایش یافته است.
پیش از ادامه کار Undo ،کنید تا فعالیتها به حالت قبلی بازگردند .به تمام فعالیتها منبع جدیدی به نام R2با
میزان تخصیص ٪111اضافه کنید (شکل .)11-7
در انواع 1و ، 5کارکرد روزانه (میزان تخصیص) منابع ثابت باقی مانده .با این حال ،میزان کار فعالیت برابر با
مجموع کار تمام منابع آن است و چون منابع زیاد شدهاند ،مدت زمان کاهش یافته است.
در انواع 2و 4نیز کارکرد روزانه منابع ثابت باقی مانده ،ولی این بار مدت زمان تغییر نکرده و به تناظر آن میزان
کار فعالیت ،یعنی مجموع کار منابع آن ،افزایش یافته است.
در فعالیت نوع ،3مدت زمان و کا ر ثابت مانده ،در نتیجه کاری که پیش از این وجود داشت ،بین دو فعالیت
تقسیم شده و در نتیجه میزان تخصیص و به تناظر آن کارکرد روزانهشان کاهش یافته است.
فایل قبلی را ببندید ،فایل جدیدی بسازید و فعالیتهای مشابهی در آن تعریف کنید .این بار به تمام آنها مدت
زمان 11روز ٪111 ،منبع R1و ٪151منبع R2تخصیص دهید .توجه کنید که این کار را با فعالیتهایی که
در مرحله قبل تعریف شده بود انجام ندهید ،چون در این صورت رفتار یکسانی نخواهند داشت .شکل 11-8
محصول مورد نظر را نشان میدهد.
در این حالت ،منبع اول که ٪111تخصیص داده شده است ،روزی 8ساعت و منبع ٪151تخصیص داده شده،
روزی 12ساعت کار میکند .به این ترتیب با توجه به 11روزه بودن فعالیتها ،همگی 211ساعت کار دارند.
در این حالت ،تغییر مدت زمان ،کارِ فعالیت و اضافه کردن منبع جدید ،عملکردی دقیقا مشابه حالتهایی که
پیش از این توضیح داده شد دارد .هرچه قرار باشد به میزان تخصیص اعمال شود ،به اندازه یکسانی به تمام
میزان تخصیصها اعمال میشود .آنچه کمی فرق دارد ،تغییر میزان تخصیص تک تک منابع است.
میزان تخصیص منبع R2را در تمام فعالیتها به ٪211تبدیل کنید .محصول در شکل 11-9نمایش داده شده
است.
میزان تخصیص ٪211با تقویم استاندارد ،برابر با روزی 16ساعت کار است .همانطور که دیده میشود ،کارکرد
روزانه R2در تمام روزها (به جز آخرین روز در مواردی که مقدار کار سهم R2ضریب 16نباشد) ،برابر با 16
شده است.
در انواع 2 ،1و ،5سهم کاری که به عهده R2بوده ثابت باقی مانده است ،در نتیجه مدت روزهایی که R2کار
میکند ،کاهش یافته است .با این حال ،چون مدت زمان R1کم نشده است ،مدت زمان کل فعالیت نیز تغییر
نکرده است .در جدول سمت چپ مشخص است که میزان کار R2همان 121روز باقی مانده است.
در انواع 3و ،4مدت زمان کارکرد R2ثابت باقی مانده است و در نتیجه مجموع کار آن از 121ساعت به 161
ساعت تبدیل شده ،کار فعالیت را نیز افزایش داده است.
این بار بدون Undoکردنِ مراحل قبل ،تخصیص R1را به ٪311تبدیل کنید (شکل .)11-11
در این مرحله R1نیز با همان سیستمی که در مرحله اول بر R2حاکم بود تغییر کرد .با این حال ،در انواع 2 ،1
و ،5پیش از این مدت زمان R2کمتر از فعالیت بود ،ولی چون R1بیشتر از آن بود ،بر فعالیت حاکم شده و
مدت زمان آن را تعیین کرده بود .در این مرحله ،چون مدت زمان R1کمتر از R2شده است R2 ،حاکم شده و
مدت زمان فعالیت را تعیین کرده است .به این ترتیب ،مدت زمان فعالیتهای سه نوع گفته شده ،بر خالف دفعه
قبل ،کاهش یافته است.
بدون Undoکردن ،منبع جدیدی به نام R3به تمام فعالیتها اضافه کنید (شکل .)11-11در نوع ،2مدت
زمان فعالیت ثابت مانده ،به منبع جدید نیز در تمام آن مدت کاری برابر با میزان تخصیصش داده شده است.
مجموع آن کار ،به کار فعالیت اضافه شده است.
در انواع 1و ، 5کار فعالیت ثابت مانده ،قسمتی از آن به R3داده شده است .این قسمت ،برابر با میزان تخصیص
آن ( ٪111در این مثال) به تخصیص کل منابع قبلی است .میزان کارکرد روزانه منابع و به عبارت دیگر میزان
تخصیص آنها ثابت است ،در نتیجه مدت زمان همه آنها و تناظر مدت زمان فعالیت ،کاهش یافته است.
در نوع ،4کارکرد منابع قبلی هیچ تغییری نکرده است و به منبع جدید در تمام مدت زمان فعالیت ،کارکردی
متناظر با میزان تخصیصش داده شده است .به این ترتیب کار فعالیت نیز افزایش یافته است.
در نوع ،3مقدار کار مانند انواع 1و 5ثابت مانده است ،ولی در آندو مدت زمان کاهش یافته است ،در حالی که
در نوع ، 3میزان کارکرد روزانه طوری کاهش یافته است که منابع با میزان کارکرد روزانه جدید ،مجموع کاری
برابر با آنچه پیش از این انجام میشد ،انجام دهند.
با توجه به تمام آنچه توضیح داده شد ،مشخص میشود ک ه عامل پیچیده کننده این است که مدت زمان فعالیت
برابر با حداکثر مدت زمان منابع آن است.
تسطیح منابع بزرگترین محصولی است که در برنامههای دارای منبع در اختیارمان قرار میگیرد .با کمک آن
میتوانیم نیازی که به منابع داریم را بهینه کنیم ،فعالیتها را به شیوهای واقعبینانه زمانبندی کنیم و
پیشبینیهای بیشتری از برنامه دریافت کنیم.
اگر در برنامه ای منبع تعریف کنید ،ولی هیچگاه منابع را تسطیح نکنید ،به احتمال زیاد به این معنی است که
منابع صوری و بیدلیل وارد شدهاند.
تعریف منابع کاربردهای متعددی دارد .یکی از قابلیتهایی که با در اختیار داشتن منابع فراهم میشود ،امکان
تسطیح است.
وقتی منبعی اضافه تخصیص داشته باشد باید یکی از کارهای زیر را انجام داد:
افزایش میزان دسترسی منبع :سادهترین راه این است که منبع مورد نظر را افزایش دهید.
تغییر تخصیصها :گاهی می توان به جای یک منبع ،منبع دیگری را به فعالیتی اختصاص داد .اگر با
این کار حجم کار منبع اول کاهش یابد و در منبع دوم نیز اضافه تخصیص به وجود نیاید ،راه مناسبی
برای از بین بردن اضافه تخصیصها خواهد بود .معموال این کار را در مورد منابع انسانی انجام
میدهند.
اصال برنامه :میتوانید با جابجا کردن فعالیتها ،کاری کنید که فعالیتهایی که منبع مورد نظر را
به خود اختصاص داده اند توزیع بهتری داشته باشند و در نتیجه نیاز به منبع در طول زمان خرد شده،
حداکثر نیاز آن به حد موجود برسد .این کار ممکن است مدت زمان پروژه را افزایش دهد.
به راه حل آخر ،تسطیح منابع گفته میشود .می توانید این کار را به طور دستی ،یا با استفاده از ابزار موجود در
Projectانجام دهید.
نام فعالیتها در سمت چپ نمودار نوشته شده است .سه فعالیت اول دارای منبع Rsهستند .فرض کنید
حداکثر مقدار این منبع ٪311 ،باشد .در این صورت اگر به Resource Graphبروید ،نمودار شکل 12-2را
خواهید دید.
همانطور که در نمودار منبع دیده میشود و از طریق گانت نیز قابل استخراج است ،میزان منبع مورد نیاز در
روزهای 4 ،3و ، 5بیشتر از مقدار تعیین شده است .اگر به نمودار گانت بازگردید ،متوجه میشوید که این مسئله
به خاطر همپوشانی فعالیتهای cو dاست .برنامه نشان میدهد که فعالیت dشناوری زیادی دارد ،در نتیجه
میت وانیم آن را به تاخیر بیاندازیم .در این حالت ،منبع تسطیح میشود ،بدون اینکه مشکلی ایجاد شود
(شکل .)12-3در این مثال ،از روتین تسطیح منبع Projectاستفاده شده است .همانطور که دیده میشود،
تسطیح منابع در این حالت مدت زمان پروژه را تغییر نداده است.
شکل 12-4برنامه نمونه دیگری را نشان می دهد ،که مانند برنامه قبلی است ،با این تفاوت که مدت زمان
فعالیتهای fو gآن کاهش یافته ،در نتیجه شناوری فعالیت dاز بین رفته است.
در این حالت ،تسطیح منابع ،از طریق ایجاد تاخیر در شروع فعالیت ،dبه خاطر شناوری نداشتن فعالیت گفته
شده ،کل پروژه را به تاخیر میاندازد (شکل .)12-5
اگر مدت زمانی که به پروژه اضافه شده است قابل پذیرش نباشد ،باید با استفاده از راههای دیگر ،آن را کاهش
دهید.
پس از تعریف فعالیتها و زمانبندی آنها ،منابع را به طور کامل تعریف کنید تا منابع الزم برای پیش رفتن
طبق زمان بندی نتیجه شده به دست آید .در این حالت ممکن است بتوانید با کمی اصالح برنامهریزی ،که تاثیر
چندانی روی زمان ندارد ،نیاز به منابع را کاهش دهید که متناظر با کاهش هزینههاست .از سوی دیگر ،ممکن
است نیاز به برخی منابع بیشتر از امکان باشد ،که در این صورت میتوانید آنها را تسطیح کرده ،تاخیر ایجاد
شده را با سایر منابع اصالح کنید.
به عنوان مثال فرض کنید در حال برنامه ریزی یک پروژه احداث اسکلت بتنی هستید که در آن 8نوع قالب
مختلف (قالب ستون با قطرهای مختلف ،قالب دیوار و قالب سقف) وجود دارد .یکی از کارهایی که میتوان در
برنامهریزی انجام داد ،این است که میزان قالبهای مورد نیاز را تعیین کرد تا مدیریت پروژه آنها را خریداری
کند .در این وضعیت حداقل کردن هزینه قالبها اهمیت زیادی دارد .برای اینکه به بهترین نتیجه دست یابید،
باید آزمایش و خطا کنید .دایما باید حداکثرهای مختلفی برای انواع قالب تعریف کرده ،پروژه را تسطیح کنید تا
در نهایت با کمترین تعداد قالب به تاریخ پایان مناسب برسید.
کاربرد دیگری که منابع در برنامه ریزی دارند ،تعیین سلسله مراتب اجرا است .نازک کاری یک پروژه را در نظر
بگیرید .فعالیتهای مختلفی مانند گچ و خاک ،سفید کاری ،زیرسازی رنگ ،رنگ آمیزی ،فرش کف ،زیرسازی
سقف کاذب و نصب پنلهای س قف کاذب در تمام فضاها تکرار میشوند .هرکدام از این فعالیتها با یک یا چند
اکیپ انجام میشوند ،به این معنی که هر فعالیت در هر زمان فقط در یک یا چند (به تعداد اکیپها) فضای
فیزیکی در حال انجام است .چنین حالتی را چگونه برنامهریزی خواهید کرد؟
بسیاری از کاربران برای این حالت از روابط استفاده میکنند؛ گردش کاری در نظر میگیرند ،به این صورت که
به عنوان مثال نازک کاری از باالترین طبقه آغاز شده ،فضاها را به صورت ساعتگرد از فالن مبدا تکمیل و به
پایین حرکت میکند .مشکل بزرگی که وجود دارد ،این است که تمام این فعالیتها با یکدیگر رابطه دارند و
کافی است که یکی از آنها در یکی از فضاها دچار مشکل شود؛ در این حالت تمام فعالیتهای دیگرِ برنامه نیز
در همان فضا گرفتار می شوند .این در حالی است که در واقعیت ،نیروهای اجرایی فضایی که تکمیل نشده است
را رها کرده ،به فضاهای دیگر میروند .اعمال این مسئله در برنامهای که برای سلسله مراتب گفته شده از روابط
استفاده کرده باشد ،مستلزم بازبینی تمام روابط است ،که کار بسیار مشکل و وقتگیری میباشد .عالوه بر آن،
فعالیتهای بحرانیِ گزارش شده در چنین برنامهای نیز قابل استناد نمیباشد.
از سوی دیگر ،فرض کنید به خاطر تاخیری که در یکی از فعالیتها ،مانند فرش کف ،به وجود آمده است ،تعداد
اکیپهای کاری آن را افزایش میدهیم تا همزمان در دو فضای فیزیکی کار کنند .اعمال این مسئله به برنامه نیز
نیازمند بازبینی تمام روابط است.
تمام مشکالت گفته شده با استفاده از تعریف مناسب منابع و تسطیح آنها حل میشود .در این حالت بین
هیچکدام از فعالیتهای هم نوع ،رابطهای ترجیحی تعریف نمیشود (به عنوان مثال ،گردش کاری برای
سفیدکاری تعریف نمیشود و تنها پیشنیازهای منطقی آن وارد می شوند) .نتیجه این است که تعداد منبع مورد
نیا ز بیشتر از تعداد اکیپ خواهد بود .وقتی برنامه را تسطیح کنید ،اکیپهای موجود بین فضاهای کاری توزیع
می شوند .هرگاه فضایی دچار وقفه شود و دوباره برنامه را تسطیح کنید ،آن فضا به بعد موکول شده ،سایر فضاها
در برنامه قرار میگیرند .اگر الزم باشد اکیپی اضافه کنید ،حداکثر موجودی منبع را اضافه کرده ،آن را تسطیح
میکنید تا توزیع جدید مشخص شود.
فرض کنید توالی فعالیتهای گروه aمناسب است .فعالیتهای a1تا a7به ترتیب پیشنیاز b1تا b7هستند و
توالیِ به وجود آمده در گروه bدر شرایط فعلی ،به خاطر همین پیشنیاز است .ولی این توالی مناسب نیست،
زیرا فرض بر این است که یک اکیپ فعالیتهای گروه bرا اجرا میکند ،در حالی که در بسیاری از زمانها چهار
فضا فعال است.
برای فعالیتهای گروه bمنبعی به نام BRتعریف میکنیم که حداکثر مقدار آن ( ٪111یک واحد) است .برنامه
پس از تسطیح به صورت شکل 12-7خواهد بود.
اکنون فرض کنید قرار است برنامه را تجدید نظر کنیم تا فعالیتهای گروه bبا دو اکیپ کاری تعریف شوند .باید
حداکثر منابع را ٪211تعریف کرده ،برنامه را دوباره تسطیح کنیم .نتیجه در شکل 12-8دیده میشود.
نتیجه تسطیح بر اساس سه اکیپ کاری در شکل 12-9نمایش داده شده است.
انجام آزمایشهای اینچنینی ،با استفاده از تسطیح منابع بسیار ساده است ،در حالی که اگر از روابط استفاده
کرده باشید ،بسیار مشکل خواهد بود.
نرم افزار Projectقابلیت تسطیح منابع نیز دارد .متاسفانه این قابلیت همیشه کارکرد مناسبی ندارد و در
برنامههای پیچیده دچار مشکل میشود .نتایج آن هم به اندازه کافی بهینه نیستند؛ به عنوان مثال برنامهای که با
روتین بهتری تسطیح شده باشد میتواند زمانی کوتاهتر از آنچه Projectمحاسبه میکند داشته باشد .در
برنامههای پیچیده ،روتین تسطیح منابع قادر به رفع تمام اضافه تخصیصها نیست ،در حالی که انتظار میرود
روتین تسطیح منابع به قیمت افزایش مدت زمان ،هرگونه اضافه تخصیصی را از بین ببرد .به این دلیل،
شرکتهای مختلف plug-inهایی برای Projectنوشتهاند که کار تسطیح منابع را به شیوههای بهتر انجام دهد.
اگر در ستون Indicatorsفعالیتی عالمت وجود داشته باشد ،به این معنی است که حداقل یکی از منابعِ آن در
مدت زمان فعالیت اضافه تخصیص دارد.
میتوانید یک یا چند فعالیت را انتخاب کرده Resource| Level| Level Resource ،را اجرا کنید .با این کار کادر
محاوره شکل 12-11باز میشود.
منابعی که به فعالیت اختصاص یافته باشند در لیست نمایش داده میشوند و میتوانید یک یا چند منبع را از
این لیست انتخاب کنید تا تسطیح شوند؛ به طور پیشفرض تمام منابع فعالیت انتخاب شدهاند .توجه داشته
باشید که منابعی که به فعالیت اختصاص نیافته باشند در این لیست نمایش داده نخواهند شد.
وقتی روی Level Nowکلیک کنید ،منابعِ انتخاب شده با تنظیمهای پیشفرض تسطیح خواهند شد .به این
ترتیب باید اضافه تخصیص های منابعی که به فعالیت اختصاص یافته بودند ،حداقل در مدت زمان فعالیت ،اضافه
تخصیص نداشته باشند .با این حال گاهی ممکن است تسطیح موفقیت آمیز نباشد و مقداری از تسطیح باقی
بماند .در چنین حالتهایی اگر از ابزار تسطیح کلی استفاده کنید احتمال موفقیت بیشتر خواهد بود.
اگر Resource| Level| Level Resourceرا به جای نمای گانت در نمای Resource Sheetاجرا کنید ،لیست
تمام منابع در لیستِ کادر محاوره نمایش داده میشود ،ولی به طور پیشفرض منبع یا منابعی که پیش از اجرای
دستور انتخاب کرده بودید آماده تسطیح خواهند بود.
معموال نیازی نیست که تسطیح را محدود به چند منبع کنید و الزم است که تمام منابع را تسطیح کنید .در این
صورت میتوانید Resource| Level| Level Allرا اجرا کنید تا تمام منابع با تنظیمهای پیشفرض تسطیح
شوند.
هر زمان که الزم باشد میتوانید روی Resource| Level| Clear Levelingکلیک کنید تا کادر محاوره شکل
12-11باز شود.
اگر Entire projectرا انتخاب کنید اثر تسطیح در کل برنامه از بین میرود و اگر قبال فعالیتهایی را انتخاب
کرده باشید و گزینه Selected tasksرا انتخاب کنید ،فقط اثر تسطیحِ همان فعالیتها از بین خواهد رفت.
تنظیمهای تسطیح
برای مشخص کردن تنظیمهای تسطیح Resource| Level| Leveling Optionsرا اجرا کنید .با این کار کادر
محاوره شکل 12-12باز میشود.
:Automatic / Manualخودکار یا دستی بودن تسطیح را مشخص میکند .اگر گزینه پیشفرض،
یعنی Manualانتخاب شده باشد ،منابع فقط با اجرای دستور تسطیح که در قسمتهای قبل توضیح
داده شد تسطیح خواهند شد .اگر گزینه Automaticانتخاب شده باشد ،منابع دایما به طور خودکار
تسطیح می شوند .در این حالت با هر تغییر در برنامه ،همراه با محاسبه زمانبندی ،محاسبات تسطیح
نیز انجام میشوند .با توجه به اینکه تسطیح منابع کار سنگینی است ،گزینه خودکار در اکثر شرایط
قابل استفاده نیست و برنامه را بیش از اندازه سنگین میکند .از سوی دیگر ،خودکار بودن تسطیح تا
حدی کنترل برنامهریز را بر برنامه کاهش میدهد .به همین خاطر تنها در شرایط خاص از این گزینه
استفاده میشود.
:Look for overallocations on aاین کادر بازشو ،دورهای را که برای کنترل اضافه تخصیصها به
کار میرود مشخص میکند .این دوره میتواند دقیقه ،ساعت ،روز ،هفته یا ماه باشد .مقدار پیشفرض،
که در اکثر موارد بهتر ین انتخاب است ،روز است .وقتی یک دوره زمانی را انتخاب کرده باشید ،اضافه
تخصیصهای دورههای کوتاه تر از آن تسطیح نخواهند شد .به عنوان مثال اگر روز را انتخاب کرده
باشید و مجموع تخصیصهای یک روز بیشتر از حداکثر نباشد ،تسطیح نمیشود ،در حالی که ممکن
است در بعضی ساعت های روز اضافه تخصیص وجود داشته باشد .در واقع فرض بر این است که برنامه
زمان بندی نگاهی کلی به پروژه دارد و مسایلی که از حدی ریزتر باشند ،خارج از برنامه توسط عوامل
اجرایی حل خواهند شد .اختالف برنامه با واقعیت معموال آنقدر زیاد هست که تسطیح ساعت به
ساعت معنای چندانی نداشته باشد.
:Clear leveling values before levelingاگر فعال باشد ،پیش از تسطیح منابع ،نتایج تسطیح قبلی
پاک خواهند شد .معموال از این گزینه استفاده میکنند تا برخی انحرافهای احتمالی روی هم انباشته
نشوند.
:Leveling rangeاگر گزینه Level entire projectرا انتخاب کنید ،کل برنامه تسطیح میشود .اگر
مایل باشید تنها دوره زمانی خاصی را تسطیح کنید ،باید از گزینه دوم استفاده کرده ،شروع و پایان
دوره ای که قرار است تسطیح شود را مشخص کنید .معموال در زمان تسطیح کل برنامه را تسطیح
میکنند تا تاریخ پایان هم مشخص شود.
:Leveling orderدر این کادر بازشو سه گزینه زیر وجود دارد که تا حدی توالی تسطیح را مشخص
میکنند:
:ID Onlyفعالیتهایی که IDکوچکتری داشته باشند ،بعد از تسطیح به احتمال زیاد زودتر o
از فعالیتهای مشابهی که IDبزرگتر دارند برنامهریزی خواهند شد.
:Standard oفعالیتها را بر اساس شناوری ،تاریخ پایان ،اولویت و سایر قیدها تسطیح
میکند .به عنوان مثال ابتدا شناوریها کنترل میشوند ،هرچه شناوری فعالیتی بیشتر باشد،
احتمال به تاخیر افتادن آن بر اثر تسطیح بیشتر خواهد بود .این گزینه معموال بهترین
انتخاب است.
:Priority, Standard oمانند Standardاست ،با این تفاوت که اولویت فعالیتها که در فیلد
Priorityتعیین می شود ،اولین عامل تعیین کننده خواهد بود .اگر در شرایطی الزم باشد که
بر ترتیب فعالیت ها کنترل بیشتری داشته باشید ،باید از این گزینه استفاده کنید .پیش از
تسطیحِ منابع با این گزینه ،باید فیلد Priorityرا به جدول اضافه کرده ،اولویتها را وارد
کنید.
:Level only within available slackاگر این گزینه فعال باشد ،فعالیتها حداکثر به اندازه
شناوریهایشان به تاخیر خواهند افتاد .در نتیجه تاریخ پایان پروژه تغییر نمیکند .با این حال ،این قید
باعث میشود که اکثر اضافه تخصیصها تسطیح نشوند .این گزینه به طور پیشفرض غیر فعال است.
:Leveling can adjust individual assignments on a taskاگر فعال نباشد ،با تمام منابعِ هر
فعالیت به طور یکسان برخورد میشود .در نتیجه اگر یکی از آنها اضافه تخصیص داشته باشد و الزم
باشد که به عنوان مثال فعالیت شکسته شود ،تخصیص سایر منابع نیز همراه با آن شکسته خواهد شد.
اگر فعال باشد ،با منابع هر فعالیت به طور جداگانه برخورد خواهد شد .اگر قصد دارید از گزینه فعال
استفاده کنید ،میتوانید فیلد Level Assignmentرا به جدول فعالیتها اضافه کنید و مقدار آن را در
فعالیتهایی که قصد دارید با تمام تخصیصهایشان یکسان برخورد شود Yesکنید .این گزینه برای
فعالیتهای Fixed Durationقابل استفاده نیست.
:Leveling can create splits in remaining workاگر فعال باشد ،ممکن است برخی فعالیتها
شکسته شوند ،به این معنی که قسمتی از مدت زمان فعالیت طی شود ،برای مدتی فعالیت آن قطع
شود و دوباره ادامه پیدا کند .معموال برنامه ریزها برای جلوگیری از افزایش پیچیدگی برنامه ،از این
گزینه استفاده نمیکنند.
:Level resources with the proposed booking typeیک روش پیشرفته برای برنامهریزی منابع،
این است که ابتدا آنها را به طور موقتی به فعالیتها اختصاص میدهند تا برنامهریزی مشخص شود و
بعد از آن تخصیص را قطعی میکنند .این کار زمانی کاربرد دارد که برنامهریزی به صورت سازمانی
) (enterpriseانجام شود و منابع از بانک منابع سازمان که در اختیار تمام برنامهها هست تهیه شوند.
در این حالت وقتی منبع به طور موقتی اختصاص مییابد ،از دسترس سایر برنامهها خارج نمیشود ،در
حالی که اگر اختصاص را قطعی کنید ،سایر برنامهها قادر به استفاده از آن نخواهند بود .این گزینه
مشخص میکند که اینگونه منابع نیز تسطیح شوند یا خیر.
عالوه بر تنظیمهای کادر محاوره ،Resource Levelingبرخی تنظیمها یا مقدارهای اطالعرسانِ دیگر نیز وجود
دارند ،که از این قرارند:
فیلد :Priorityیکی از فاکتورهایی که میتواند روی تسطیح اثر داشته باشد ،اولویت فعالیتهاست که
در فیلد Priorityتعیین میشود .اگر مایل باشید که ترتیب فعالیتها را در تسطیح تحت تاثیر
بگذارید ،می توانید از این فیلد استفاده کنید .هرچه اهمیت فعالیتی بیشتر باشد و به عبارت دیگر
ترجیح دهید که زودتر آغاز شود و بر اثر تسطیح کمتر به تاخیر افتد ،باید به آن مقدار اولویت بیشتری
بدهید .اگر مقدار اولویت فعالیتی برابر با 1111باشد ،تسطیح نخواهد شد.
No فیلد :Can Levelاگر الزم است که منبع خاصی تسطیح نشود ،به فیلد Can Levelآن مقدار
بدهید .در این حالت اگر دستور Level Allرا هم اجرا کنید ،منجر به تسطیح منبع نخواهد شد.
Level فیلد :Level Assignmentsاگر الزم است که تخصیصهای فعالیتی تسطیح نشوند ،به فیلد
Assignmentsآن مقدار Noدهید.
فیلد :Leveling Can Splitممکن است ترجیح دهید که تسطیح منابع در برخی از فعالیتها
شکست ) (Splitایجاد نکند؛ در این حالت میتوانید به فیلد Leveling Can Splitآن فعالیتها مقدار
Noدهید.
فیلدهای Preleveled Startو :Preleveled Finishاین دو فیلد ،تاریخهای شروع و پایانِ پیش از
تسطیحِ فعالیت را نشان میدهند .بهترین راه برای کنترلِ اینکه تسطیح منابع روی فعالیت تاثیر
گذاشته است یا نه ،مقایسه این دو فیلد با Startو Finishاست.
فیلد :Leveling Delayهمانطور که توضیح داده شد ،تسطیح منابع برخی از فعالیتها را به تاخیر
میاندازد .اطالعات تاخیرهای گفته شده ،در فیلد Leveling Delayذخیره میشوند .اگر مایل باشید
میتوانید فیلد گف ته شده را ویرایش کنید تا تاثیر تسطیح تغییر کند .عالوه بر آن ،اگر مایل باشید که
تسطیح منابع را به طور دستی انجام دهید ،بهترین انتخاب این است که از این فیلد استفاده کنید.
زمانبندی پروژه در مرکز برنامهریزی Projectو هدف اصلی آن است ،ولی با توجه به اینکه مدیریت موثر هزینه
نیاز به زمانمند شدن هزینهها دارد ،بهتر است که با کمک Projectیا نرمافزارهای مشابه آن انجام شود.
گنجاندن هزینهها در برنامه زمان بندی مانند منابع صرفا زمانی موجه است که هدف مشخصی از این کار و
برنامهای برای استخراج محصول های کنترلی در ذهن داشته باشید .اگر چنین برنامههایی ندارید ،بهتر است
هزینهها را در برنامه وارد نکنید .نبود هزینهها امتیاز بزرگی نیز دارد :فیلدهای هزینه آزاد میمانند و میتوانید با
تعریف ضرایب وزنی فیزیکی به عنوان هزینههای کاذب ،پیشرفت فیزیکی را به سادگی در برنامه پیادهسازی
کنید.
هزینهها در نرمافزارهای برنامهریزی به دو شکل تعریف میشوند :هزینههای منابع و هزینههای مستقل از منبع.
البته هزینههای منابع بسیار انعطاف پذیرتر هستند .در این فصل شیوه تعریف و به جریان انداختن این هزینه،
استخراج برنامههای مربوطه و در نهایت کنترل آنها را مرور خواهیم کرد.
روشهای مختلفی برای تعریف هزینهها وجود دارد .معموال برای تعریف هزینههای پروژه از ترکیبی از این
روشها استفاده میشود که از این قرارند:
استفاده از منابع هزینه (این مورد در تحلیل ارزش کسب شده در نظر گرفته نمیشود) o
هزینه ماشین آال :این هزینه را میتوانید به طور کامال انعطافپذیر ،در منابع کاری (که ماشین
آالت نیز در آن مجموعه هستند) مشخص کنید .اگر برنامه فاقد منبع است ،باید هزینه ثابت متناظر با
ماشین آالت را برای هر فعالیت محاسبه کرده ،آن را به فیلد هزینه ثابت فعالیت اضافه کنید.
هزینه مصالح :این هزینه نی ز به طور کامال انعطاف پذیر و با تمام جزئیات در قالب هزینههای منابع
مصرفی قابل تعریف است .اگر برنامه فاقد چنین منابعی باشد ،باید هزینه ثابت متناظر با مصالح هر
فعالیت را محاسبه کرده ،آن را به فیلد هزینه ثابت فعالیت اضافه کنید.
هزینه نیروی انسانی :این هزینه مانند ماشین آالت محاسبه میشود.
هزینههای متفرقه :این هزینهها بسته به طبیعتشان ،به شکلهای مختلف قابل تعریف هستند .اگر
بتوان هزینه را متناظر با منبعی کرد و برنامه منبع داشته باشد ،باید آن را در هزینههای منبع تعریف
کرد .در غیر این صورت میتوانید برای آن از منابع هزینه یا فیلد هزینه ثابت فعالیتها استفاده کنید.
هر آیتم فیلدی به نام Fixed Costدارد که هزینه ثابتی که برای انجام آن فعالیت الزم است را دریافت میکند.
این هزینه با افزایش یا کاهش مدت زمان فعالیت تغییر نخواهد کرد .در واقع ،فرض بر این است که تغییرات
هزینه فعالیت ها بر اثر تغییر مدت زمان ،کار و سایر فاکتورهای مشابه ،با هزینههای تعریف شده برای منابع که
انعطاف پذیر هستند محاسبه می شود .اگر برنامه فاقد منبع است ،باید تمام هزینهها را تبدیل به هزینه ثابت
فعالیتها کنید .مشکل این روش در این است که برنامه انعطافپذیری کمتری خواهد داشت.
شیوه توزیع هزینه ثابت در مدت زمان اجرای فعالیت در فیلد Fixed Cost Accrualمشخص میشود .این فیلد
یکی از سه مقدار End ،Startو Proratedرا میپذیرد .اگر مقدار Startانتخاب شود ،کل هزینه ثابت در لحظه
شروع فعالیت قرار میگیرد .اگر Finishانتخاب شود ،کل هزینه در لحظه پایان قرار میگیرد .گزینه Prorated
که پیشفرض نیز میباشد ،هزینه را به طور ثابت در مدت اجرای فعالیت توزیع میکند.
هزینههای ثابتِ فعالیتها را میتوان به جای تعریف در فیلد ،Fixed Costبه عنوان منبع هزینه نیز تعریف کرد.
برعکس آن نیز ممکن است ،ولی انعطاف پذیری محاسبه را کم میکند .مثال ممکن است الزم باشد که برای
انجام فعالیتی ساختمانی را در نزدیکی آن اجاره کرد .در این حالت ،باید به ازای مدت استفاده اجارهای پرداخت
شود .این هزینه متناظر با منبع خاصی نیست ،در نتیجه میتوانید آن را به صورت منبع هزینه تعریف کنید ،یا
مقدار کل اجاره را با زمانبندی فعلی محاسبه کرده ،آن را به صورت هزینه ثابت فعالیت وارد کنید.
ممکن است انجام فعالیتی منوط به اخذ مجوز باشد .در این حالت میتوانید هزینه مجوز را به صورت هزینه ثابت
برای فعالیت تعریف کرده ،مشخص کنید که این هزینه در ابتدای انجام فعالیت تخصیص مییابد.
تعریف هزینه با Fixed Costمحدودیتهای فراوانی دارد؛ مثال برای هر فعالیت فقط یک نوع هزینه ثابت میتوان
تعریف کرد و در نتیجه نمیتوان دستهبندی و کنترلی تفصیلی بر این نوع هزینهها داشت .راه حلی که از نسخه
2117برای این مشکل در نظر گرفته شده است ،منابعِ هزینه است .منابع هزینه جانشینی پیشرفته برای Fixed
Costهستند .البته لحاظ نشدن منابع هزینه در تحلیل ارزش کسب شده باعث میشود که کارکرد آن بسیار
محدود شود.
برای کار با فیلدهای Fixed Costو ،Fixed Cost Accrualآنها را به جدول گانت اضافه کنید .برنامه نمونه
شکل 13-1برنامهای را نشان میدهد که سه فعالیت دارد ،برای هریک هزینه ثابتی تعریف شده است و شیوه
توزیع هزینه ثابت همه آنها Proratedاست.
برای کنترل شیوه توزیع هزینهها باید به نمایی مانند Task Usageرفت و مقدار زمانمند هزینه را دید .در ادامه
خواهید دید که تمام هزینههای تعریف شده در فیلد Costفعالیت ترکیب میشوند .در حال حاضر فقط Fixed
Costتعریف شده است و در نتیجه Costهمان مقدار را منعکس خواهد کرد .دلیل اینکه به جای Fixed Cost
از Costاستفاده خواهیم کرد این است که Fixed Costزمانمند نیست و خالصهسازی نیز نمیشود ،در حالی
که Costانواع امکانات را در اختیارمان قرار میدهد.
به نمای Task Usageبروید .روی جدول سمت راست کلیک کرده ،فیلد Costرا انتخاب کنید .به این ترتیب
مقدار فیلد Costبه صورت زمانمند نشان داده میشود (شکل .)13-2
این جدول توزیع هزینههای برنامهریزی شده را در طول زمان نشان میدهد .همانطور که دیده میشود ،هزینه
هر فعالیت در کل مدت اجرای آن توزیع شده است .شکل 13-3همان برنامه را در حالتی که به فعالیتهای اول
و دوم به ترتیب توزیع Startو Endنسبت داده شده است نشان میدهد.
میتوانید به جای گزینه ،Costگزینه Cumulative Costرا انتخاب کنید تا هزینهها به طور تجمعی نمایش داده
شوند (شکل )13-4اگر گزینه هزینه تجمعی در منوی میانبر کلیک راست وجود ندارد ،در همان منو Detail
Stylesرا انتخاب کرده ،هزینه تجمعی را در کادر محاورهای که به این ترتیب باز میشود انتخاب کنید.
اگر خالصه فعالیت پروژه را نمایش دهید میتوانید مجموع هزینهها را هم دریافت کنید .شکل 13-5برنامه را
بعد از نمایش خالصه فعالیت پروژه نشان میدهد.
توجه داشته باشید که فیلد Fixed Costخالصه فعالیتها ،زیرمجموعههای خود را جمع نمیزنند .این فیلد
زمانی مقدار دارد که خالصه فعالیت به خودیِ خود هزینه ثابتی به مجموعه اضافه کند .با این حال ،فیلد Cost
خالصه فعالیتها مجموع Costزیرمجموعهها و هزینه ثابت خالصه فعالیت را نشان میدهد (شکل .)13-6با
توجه به توضیحاتی که داده شد ،باید همیشه در نظر داشته باشید که اینگونه هزینهها را باید در فیلد Fixed
Costوارد کرد و از فیلد Costخواند.
در این قسمت تنظیم هزینه منابع کاری و مصرفی توضیح داده می شود .کار با منابع هزینه در ادامه همین فصل
توضیح داده خواهد شد.
هر منبع کاری سه فیلد برای مشخص کردن هزینه دارد که از این قرارند:
:Std. Rateهزینه کارکرد در واحد زمان ،در ساعتهای کاری معمولی
هزینه منابع مصرفی تنها در فیلد Std. Rateوارد میشود ،زیرا نه "هر بار استفاده" در مورد آنها معنی دارد و
نه اضافهکاری.
/hr هزینههای در واحد زمان ،به طور پیشفرض در واحد ساعت وارد میشوند .اگر مایل باشید میتوانید به جای
که در انتهای مقدار آنها قرار دارد ،هر واحد دیگری مانند روز ،دقیقه ،ماه و مانند آن را وارد کنید.
برای تعریف منابع به نمای Resource Sheetکه در شکل 13-8نمایش داده شده است بروید.
اکنون باید هزینهها را وارد کنیم .فرض کنید منابع R1و R2هزینه کارکرد معمولی و اضافه کاری به ترتیب 21
واحد در ساعت و 25واحد در ساعت دارند .این مقادیر برای R3به ترتیب 31و 51است .منبع مصرفی M1نیز
151واحد هزینه به ازای هر واحد مقدارش در نظر گرفته میشود .منبع R2هزینه ثابت 51نیز دارد (هزینه هر
بار استفاده) .با این اطالعات جدول منابع به صورت شکل 13-9خواهد بود.
در این شرایط هزینههای منابع نیز به برنامه اضافه میشود (شکل .)13-11
برای کنترل چگونگی توزیع هزینهها ،به نمای Task Usageمیرویم (شکل .)13-11
در این نما ،منابع هر فعالیت زیر آن نمایش داده میشوند .توجه داشته باشید که آیتمهای زیرمجموعه
فعالیتها ،در واقع تخصیصهایی هستند که با نام منابع نمایش داده شدهاند ،نه منابع واقعی .به عنوان مثال ،در
سومین ردیف که عبارت R1نوشته شده است ،منظور تخصیص R1به فعالیت aاست.
هزینههای ثابت فعالیتها و چگونگی توزیع آنها در ستونهای Fixed Costو Fixed Cost Accrualنمایش
داده میشوند .این ستونها برای منابع و تخصیصها کاربرد ندارند و به همین خاطر فیلدهای گفته شده در
ردیفهای تخصیصها خالی خواهند بود .با این حال ،کل هزینههای ناشی از هر منبع در فیلد Costمربوط به
آن نمایش داده شده است .این هزینهها همراه با هزینه ثابت فعالیت جمع زده شده ،در سلول Costفعالیت
نمایش داده میشوند.
شیوه توزیع هزینههای هر تخصیص در جدول زمان مند سمت راست نمایش داده شده است .به عنوان مثال
میتوانید هزینههای منابع تخصیص داده شده به bرا کنترل کنید .هزینههای هر دو در طول مدت کارکرد منبع
توزیع شدهاند .مقدار اولیه R2از R1بیشتر است ،که این مسئله به خاطر وجود هزینه ثابت تعریف شده برای
منبع میباشد.
فرض کنید الزم باشد که هزینه منبع مصرفی M1در ابتدای کار پرداخت شود (به عنوان مثال مصالحی است که
هزینه آن در زمان خرید پرداخت میشود) .در این صورت به Resource Sheetبازگشته ،به فیلد Accrue Atآن
منبع مقدار Startبدهید (شکل .)13-12
اکنون تغییراتی که در توزیع هزینه به وجود آمده است را کنترل کنید (شکل .)13-13
همانطور که دیده میشود ،به جز اولین سلول هرکدام از تخصیصهای ،M1بقیه صفر شدهاند.
در صورت تمایل میتوانید به جای فیلد Costیا در کنار آن ،فیلد Cumulative Costرا در جدول زمانمند
نمایش دهید تا هزینهها به طور تجمعی نمایش داده شوند (شکل .)13-14
گاهی هزینه یک منبع در کارها و زمان های مختلف یکسان نیست .به عنوان مثال ،شاید از ابتدای پروژه
پیشبینی کنید که هر سال ٪21به دستمزدها و هزینههای مصالح اضافه میشود؛ در این صورت میتوانید این
تغییر را در تعریف هزینهها دخیل کنید .از سوی دیگر ،ممکن است هزینه استفاده از یک منبع در فعالیتی ،با
سایر فعالیتها متفاوت باشد .اعمال اینگونه تفاوتها نیز ممکن است.
برای تعریف دقیقترِ هزینههای منبع ،به Resource Sheetرفته ،روی منبع دابل کلیک کنید .با این کار کادر
محاوره شکل 13-15باز خواهد شد.
هر منبع می تواند تا چهار جدول هزینه مختلف داشته باشد که از Aتا Eنامگذاری میشوند و در این کادر
محاوره نیز نمایش داده شدهاند .جدول پیشفرض که در تمام تخصیصها به کار میرود A ،است .اگر مایل
باشید تخصیص خاصی از جدول دیگری استفاده کند ،باید مسئله را در تخصیص به طور جداگانه مشخص کنید.
در واقع ،هرکدام از این جدولها ،هزینه منبع را در یک وضعیت کاری مشخص میکند.
در هر جدول بیش از یک ردیف برای مشخص کردن مقدارهای سه فیلد هزینه ،یعنی هزینه در واحد زمان،
هزینه اضافه کاری در واحد زمان و هزینه ثابتِ هر بار استفاده ،وجود دارد .به طور پیشفرض فقط یکی از این
خطها پر شده است و مقدارهای آن به تمام تخصیصهایی که از آن جدول استفاده میکنند اعمال میشود .اگر
الزم باشد میتوانید خط های مختلفی وارد کرده و هرکدام را برای دوره زمانی خاصی تنظیم کنید .تاریخها در
فیلد Effective Dateمشخص میشوند .مبالغ هر ردیف از زمانی که در این فیلد مشخص میشود تا تاریخ
ردیف بعد معتبر خواهد بود .برای زمانهای پیش از آن ،از ردیفی که فیلد تاریخ آن با --مشخص شده است
استفاده میشود .این ردیف ،که ردیف پیشفرض است ،در جدول نمای Resource Sheetنیز نمایش داده
میشود.
از این جدول مشخص است که فعالیت زمانی که طبق جدول Aتخصیص یافته باشد ،پیش از اول ژانویه 2113
از هزینههای ردیف اول ،پس از آن و پیش از اول ژانویه 2114از ردیف دوم و پس از آن از ردیف سوم استفاده
خواهد کرد.
فرض کنید هزینه هایی که به این ترتیب مشخص شده است برای کار یک نیروی انسانی در دفتر مرکزی شرکت
تنظیم شده باشد ،که برای برخی فعالیتها کاربرد دارد .در عین حال ،برخی کارهای منبع در محل کارگاه است،
که از مرکز فاصله دارد و باید به او ٪41اضافه پرداخت کرد .عالوه بر آن ،مبلغ ثابتی برای هر بار مراجعه او به
کارگاه نیز پرداخت می شود ،که شامل حق ماموریت ثابت و هزینه جابجایی است؛ فرض کنید این هزینه در
ابتدای کار 81واحد باشد و هر سال ٪21افزایش یابد .بر این اساس میتوانیم جدول Bرا برای این شرایط
کاری تنظیم کنیم (شکل .)13-17
اکنون باید به تخصیصهای خارجِ مرکزِ منبع مراجعه کرده ،مشخص کنیم که در آن شرایط از جدول Bاستفاده
میشود .برای این کار باید به یکی از نماهایی که تخصیصها را نشان میدهد ،یعنی Task Usageیا Resource
Usageبروید .تخصیص مورد نظر را یافته ،به فیلد Cost Rate Tableآن مقدار Bبدهید .میتوانید برای مقدار
دادن به فیلد ،آن را به جدول اضافه کنید (شکل )13-18یا روی تخصیص دبل کلیک کنید تا کادر محاوره آن
باز شود .در زبانه Generalفیلد Cost Rate Tableنمایش داده شده است (شکل .)13-19
شکل :13-18اضافه کردن فیلد Cost Rate Tableبه نمای Task Usageبرای مشخص کردن جدول هزینه
از نسخه 2117نوع جدیدی از منبع ،به نام منبع هزینه ) (Cost Resourceبه قابلیتهای برنامه اضافه شده
است .عملکرد این عنصر بسیار نزدیک به هزینه ثابت فعالیت ) (Fixed Costاست ،ولی انعطافپذیری بیشتری
دارد .برخی کمبودهای هزینه ثابت فعالیت که با کمک منابع هزینه برطرف میشوند از این قرارند:
.1هر فعالیت فقط یک فیلد هزینه ثابت دارد و نمیتوان هزینههای ثابت متعددی برای آن تعریف کرد
اگر به عنوان مثال گروهی از فعالیتها هزینه ثابتی بابت آموزش و گروهی دیگر هزینه ثابتی بابت سفر دارند،
می توانید یک منبع هزینه برای آموزش و یک منبع هزینه دیگر برای سفر تعریف کنید و آن را به فعالیتها
اختصاص دهید .مقدار هزینه ثابت هریک از فعالیتها در تخصیصش مشخص میشود .بعد از این میتوانید مقدار
هزینه ثابت کل آموزش ها و کل سفرها را به تفکیک به دست آورید ،حتی اگر فعالیتی هم آموزش نیاز داشته
باشد و هم سفر .انجام چنین کاری با فیلد هزینه ثابت فعالیت ممکن نیست.
در قسمت های قبل دیدید که هر منبع کاری یا مصرفی قیمت واحدی دارد که در ترکیب با مقدار کاری که در
تخصیص تعریف میشود ،هزینه را به وجود میآورد .منابع هزینه هیچ مشخصه هزینهای جدا از تخصیص ندارند.
شیوه استفاده این گونه است که برای هر نوع هزینه ثابتی که مستقل از مدت زمان و مقدار کار فعالیتها صرف
میشود ،یک منبع هزینه تعریف و هزینه مربوط به آن را در تخصیصها مشخص میکنند.
نکته مهمی که باید در نظر داشته باشید این است که هزینههای ناشی از منابع هزینه در تحلیل ارزش کسب
شده در نظر گرفته نمیشوند .در نتیجه اگر قصد دارید هزینههایی تعریف کنید و الزم است که آن هزینهها در
تحلیل ارزش کسب شده نیز لحاظ شوند ،باید به جای منابع هزینه از منابع مصرفی یا هزینه ثابت فعالیت
استفاده کنید.
برای شروع ،منبع هزینه را در Resource Sheetتعریف کنید .وقتی نوع منبع را مشخص کنید ،فیلدهای هزینه
غیر فعال خواهند شد ،چون هزینههای منبع هزینه در تخصیص مشخص میشود .فقط الزم است به فیلد
Accrue Atمقدار دهید تا شیوه توزیع هزینه منبع تعیین شود .معموال منابع هزینه در زمان شروع فعالیت
صرف میشوند ،در حالی که مقدار پیشفرض توزیع آنها مانند سایر منابع ( Proratedتوزیع در طول مدت
اجرای فعالیت) است.
به نمای گانت یا نمای دیگری مشابه آن رفته ،منبع را به فعالیتهای مورد نظر اختصاص دهید .به عنوان مثال
اگر منبع را برای هزینههای سفر تعریف کردهاید ،تمام فعالیتهایی که هزینه سفر دارند را مشخص کرده ،منبع
را به آنها اختصاص دهید.
به نمای Task Usageیا Resource Usageبروید و هزینه تخصیصهای منبع هزینه را مشخص کنید .برای این
کار نمای Resource Usageمناسبتر است ،زیرا تمام تخصیصهای منبع را کنار هم نشان میدهد (شکل -21
.)13هزینههای هر تخصیص را در فیلد Costجدول سمت چپ وارد کنید.
شکل :13-21وارد کردن هزینههای تخصیص منابع هزینه در نمای Resource Usage
با توجه به جدول میتوانید متوجه شوید که در این مثال توزیع منبع CRاز نوع Startاست ،زیرا تمام مبالغ در
اولین روز هر فعالیت صرف شده است .این نما ،مکانی است که اطالعات خالصهسازی شده هر منبع را گزارش
میدهد .در این مثال مشخص است که هزینههای منبع CRدر کل تخصیصهای پروژه ،برابر با 421واحد است.
از جدول زمانمند میتوان شیوه توزیع 421واحد ،که 371واحد در روز اول و 51واحد در روز سوم است را
استخراج کرد.
مطابق معمول ،میتوانید به جای فیلد زمانمند ،Costفیلد Cumulative Costرا در جدول سمت راست نمایش
دهید تا هزینهها به طور تجمعی گزارش شوند.
تعریف بودجه
یکی دیگر از قابلیت های برنامه که از طریق منابع در اختیار کاربر قرار میگیرد ،تعریف بودجه است .منظور از
بودجه ،سقف هزینه برنامهریزی شده برای هریک از قسمتها ،هریک از دورهها یا کل پروژه میباشد .این مقادیر
تاثیری روی برنامهریزی ندارند و فقط برای مقایسه به کار میروند.
هرکدام از سه نوع منبع کاری ،مصرفی و هزینه می توانند به صورت بودجه تعریف شوند .برای این کار باید فیلد
Budgetرا به Resource Sheetاضافه کنید .به سلول Budgetمنابع جدیدی که برای تعیین بودجه تعریف
کردهاید مقدار Yesبدهید (شکل .)13-21
سه منبع آخر که در جدول شکل قبل تعریف شدهاند ،از نوع بودجه هستند .همانطور که مشخص است،
فیلدهای هزینه این منابع نیز مانند منابع هزینه غیر فعال شدهاند ،به این معنی که در Resource Sheet
مشخص نمیشود .برای تعیین بودجهها باید به تخصیصها مراجعه کنید.
پس از تعریف منابع بودجه ،باید آنها را اختصاص دهید .این نوع منابع فقط به خالصه فعالیت پروژه اختصاص
مییابند و اگر بخواهید آنها را به فعالیت یا خالصه فعالیت دیگری اختصاص دهید ،پیغام خطا خواهید گرفت.
پس از این که منابع بودجه مورد نظر خود را در نمای گانت یا نمای دیگری مشابه آن به خالصه فعالیت پروژه
اختصاص دادید ،به یکی از نماهای تخصیص ،مانند Task Usageیا Resource Usageبروید .فیلدهای Budget
Costو Budget Workرا به جدول اضافه کنید (شکل .)13-22
اطالعات بودجه منابع در فیلدهای Budget Costو Budget Workوارد میشود .همانطور که در شکل نیز دیده
میشود ،فیلد Budget Costفقط برای منابع بودجه نوع Costفعال است .فیلد Budget Workبرای دو نوع
منبع دیگر (کاری و مصرفی) قابل دسترسی و برای Costغیر فعال است.
توجه داشته باشید که منظور از بودجه ،هم بودجه کاری و هم بودجه مالی است .منابع بودجه Costبرای تعریف
بودجههای مالی و دو نوع منبع دیگر برای تعریف بودجههای کاری به کار میروند .در نتیجه اگر الزم باشد که
فقط بودجه مالی را کنترل کنید ،باید از منابع Costاستفاده کنید؛ در عین حال اگر الزم باشد که به هر دلیلی
سقف میزان کارکرد را مستقل از هزینه مربوط به آن تحت کنترل داشته باشید ،باید از دو نوع منبع دیگر نیز
استفاده کنید.
CstRBdg3 فرض کنید سه نوع بودجه مالی برای پروژه تعریف شده باشد .این منابع CstRBdg2 ،CstRBdgو
نام دارند .این سه را به خالصه فعالیت پروژه اختصاص دادهاید و مقدارهای آنها را در تخصیص وارد کردهاید
(شکل .)13-23
توجه داشته باشید که مقدارهای بودجه در فیلد Costوارد نمیشوند ،زیرا هزینه نیستند و قرار است هزینهها با
آنها سنجیده شوند .به این خاطر اگر جدول زمانمند Costرا نشان داده باشد ،ردیفهای مربوط به بودجه در
آن خالی خواهند بود.
برای مقایسه هزینهها و بودجه ،باید اطالعات را گروهبندی کنید .برای این کار به Resource Sheetبازگردید.
یک فیلد اختصاص دلخواه برای گروه بندی منابع انتخاب کرده ،آن را به جدول اضافه کنید .بعد از آن منابع را
طوری گروه بندی کنید که مشخص شود هرکدام با چه بودجهای باید سنجیده شوند .در شکل 13-24فیلد
Text1برای گروهبندی اضافه شده است.
More Groups به نمایی که تخصیصها را نشان میدهد بروید .در کادر بازشوی View| Data| Group byگزینه
را انتخاب کنید تا کادر محاوره شکل 13-25باز شود.
نام دلخواهی برای گروهبندی انتخاب کرده ،آن را در فیلد Nameوارد کنید .اگر مایلید که این گروهبندی در
لیست گروهبندیهای منو نمایش داده شود و دسترسی به آن ساده شود ،گزینه Show in menuرا فعال کنید.
در لیست معیارهای گروه بندی ،به اولین خط بروید و در فیلد Field Nameمقدار فیلدی که قبال برای مشخص
کردن گروهبندیها به کار برده بودید را وارد کنید .روی OKکلیک کنید.
با این کار ،اطالعات بر اساس مقدارهایی که قبال مشخص کرده بودید گروهبندی خواهند شد (شکل .)13-27
هزینه برنامهریزی شده در فیلد Costو بودجه در Budget Costنمایش داده میشوند.
اکنون میتوانید انواع بودجهبندی های پروژه را به تفکیک کنترل کنید .به عنوان مثال ،بودجه مالی گروه ،BC2
دارای سقف 5111واحد است ،که از آن مقدار 4511واحد را منبع M1برنامهریزی کرده است .از مقدار گفته
شده 1511 ،واحد صرف تخصیص منبع aو 3111واحد صرف تخصیص منبع cخواهد شد.
اگر مایل باشید میتوانید مقدارهای زمانمند متناظر با این اطالعات را در جدول سمت راست بخوانید.
منظور از بررسی بودجه کاری ،مقایسه منابع بودجه کاری و مصرفی با مقدارهای برنامهریزی شده است .برای این
کار نیز ابتدا منبع یا منابع بودجه مورد نظر خود را تعریف کرده ،به خالصه فعالیت پروژه اختصاص دهید .مقدار
بودجه کاری هرکدام از منابع را در تخصیصهایی که در نماهای Task Usageیا Resource Usageنمایش داده
می شوند ،مشخص کنید .مقدارهای منابع بودجه کاری ،بر حسب زمان (پیشفرض ساعت است) و منابع بودجه
مصرفی ،بر حسب واحد آن منبع (کیلوگرم ،متر ،عدد و مانند آن) وارد میشود .شکل 13-28نمای Task
Usageرا بعد از تکمیل اطالعات گفته شده نمایش میدهد.
توجه داشته باشید که مقدارهای بودجه کاری نیز مانند بودجه مالی در فیلدهای Workو مانند آن خالصه
سازی نمیشود و برای مقایسه در نظر گرفته شدهاند.
به Resource Sheetرفته ،یک فیلد اختصاصی جدید برای گروهبندی بر اساس بودجه کاری تعریف کنید .در
شکل 13-29فیلد اختصاصی Text2برای این منظور در نظر گرفته شده است .میتوانید با همین ترتیب
روشهای مختلفی برای گروهبندی منابع در نظر بگیرید.
به یکی از نماهای Task Usageیا Resource Usageرفته ،اطالعات را با روشی که در قسمت قبل گفته شد
گروهبندی کنید (شکل .)13-31
مقدارهای برنامهریزی شده در فیلد Workو بودجه در فیلد Budget Workقرار دارد.
گروهبندی WC1برای منابع کاری و WC2برای منابع مصرفی تنظیم شده است .از جدول مشخص است که
مقدار بودجه کاری گروه WC1برابر با 411ساعت است که مقدار برنامهریزی شده در این برنامه 418ساعت
میباشد .از این 418ساعت 144 ،ساعت به منبع 121 ،R1ساعت به R2و 144ساعت به R3تعلق دارد.
مقداری از ساعتهای گفته شده که به هریک از تخصیصها تعلق دارد نیز در جدول قابل استخراج است.
متاسفانه اطالعات منابع مصرفی مانند منابع کاری و هزینهها خالصهسازی نمیشوند و باید این مقدارها را به
طور دستی کنترل کنید.
مطابق معمول میتوانید فیلدهای مختلف را به طور زمانمند در جدول سمت راست نیز کنترل کنید.
تدوین ساختار شکست کار در فصل 5توضیح داده شد و توصیه نیز شد که کتاب الکترونیکی رایگان راهنمای
تدوین ساختار شکست کار بر اساس استانداردهای PMBOKو PRINCE2را نیز مطالعه کنید .در صورتی که در
مورد ساختار شکست کار مطالعه کرده باشید میدانید که این ساختار شکست الزاما باید بر اساس
تحویلشدنیهای پروژه تنظیم شده باشد .با این حال برخی معیارهای دیگر نیز میتوان برای شکست کار در نظر
گرفت که محصولهای مفید کنترلی دیگری دارند .در این حالت میتوانید از ساختارهای شکست ثانویه کمک
بگیرید.
این فصل عالوه بر توضیح دقیقتر ساختار شکست کار Projectو ساختارهای شکست ثانویه ،شیوه تنظیم
ساختار شکست برای منابع و تخصیصها را نیز توضیح می دهد .مسلط بودن به این مهارت امکانات کنترلی
متنوعی در اختیارتان قرار خواهد داد.
هر ساختار شکست گروهی از آیتمها ،مانند فعالیتها و مایلستونها یا منابع را دستهبندی میکند .این
دستهبندی دو نتیجه عمده دارد:
آیتمها را خواناتر و درک شدنی میکند .وقتی با چند صد آیتم سر و کار داریم که هیچ نوع
دستهبندی ندارند عمال نمیتوانیم آنها را به خوبی درک کنیم؛ ولی وقتی همان آیتمها در ساختاری
مناسب دستهبندی شده باشند خوانا میشوند.
آیتمها را خالصهسازی میکند و به این ترتیب امکانهای کنترلی جدید به وجود اطالعا
میآورد .به عنوان مثال اگر کارها را بر اساس مسئولیتها دستهبندی کنید میتوانید متوجه شوید که
هر مسئولیت چه مقدار کار دارد ،چه مقدار از آن کارها انجام شده است ،چه مقدار تاخیر دارد و ...
فعالیتها سلسله مراتبی اصلی دارند ،که همان ساختار شکست کار است و به طور پیشفرض به طور گرافیکی
در جدولها نمایش داده میشود .فیلدی با نام WBSنیز وجود دارد که کد سلسله مراتبی ساختار شکست کار را
نشان میدهد.
به جز فیلد ، WBSفیلدهای دیگری هم برای مشخص کردن اطالعات سلسله مراتب ساختار شکست کار وجود
دارند که در شکل 14-1نمایش داده شدهاند.
Outline – Outline Numberکدهایی که در فیلد WBSنمایش داده میشوند ،به طور پیشفرض با
Numberبرابر هستند ،ولی میتوانید آنها را اختصاصیسازی نیز بکنید تا به جای اعداد ساده از
حروف و رشتههای متنی نیز استفاده کنند (مثال )P5.E.BD.5.1و کد ساختار شکست کار خواناتر
شود .در این حالت Outline Numberهمچنان همان کد ساده عددی را نشان خواهد داد (مثال
.)5.1.1.5.1اختصاصیسازی کد WBSدر سرفصل بعد توضیح داده میشود.
- Outline Levelعددی را نشان میدهد که مشخص کننده سطح آیتم است .هر مرحله که آیتمی
زیرمجموعه آیتم دیگری شده باشد Outline Level ،آن یک واحد اضافه میشود .این فیلد در خالصه
فعالیت پروژه مقدار صفر دارد.
- Summaryفیلد Summaryنشان میدهد که آیتم خالصه فعالیت است یا خیر .آیتمهایی که
خالصه فعال یت باشند ،یا به عبارت دیگر زیرمجموعه داشته باشند در این فیلد مقدار Yesو سایرین
مقدار Noدارند.
همانطور که گفته شد ،فیلد WBSبه طور پیشفرض مقدارهای Outline Numberرا نشان میدهد .با این حال،
اگر مایل باشید میتوانید آن را ویرایش کنید .برای این کار سلول مورد نظر خود را انتخاب کرده ،آنچه مایل
هستید در فیلد WBSنوشته شود را وارد کنید (شکل .)14-2
کد WBSفعالیت شماره 39شکل قبل ویرایش و به جای آن عبارتی وارد شده است.
سادهترین راه برای بازگرداندن مقدارها به مقدار پیشفرض این است که مقدار سلول ویرایش شده را پاک کنید.
با این کار دوباره مقدار Outline Numberدر WBSنمایش داده خواهد شد .بدیهی است که اگر کل ستون
WBSرا انتخاب کرده ،کلید Deleteصفحه کلید را بفشارید ،کل کدهای فیلد WBSبا Outline Numberبرابر
خواهند شد.
تغییر کد WBSمحدود به ویرایشی که توضیح داده شد نیست ،میتوانید آن را اختصاصیسازی کنید تا در
قسمتهای دلخواه به جای عدد از رشتههای متنی استفاده شود .در زیر ساختار یکسانی نمایش داده شده است
که یک بار با کدهای WBSساده که صرفا از عدد استفاده می کنند و بار دیگر با کدی که در سطح اول به جای
عدد از حروف استفاده میکند نمایش داده شده است.
Project Project
1. Engineering E. Engineering
1.1. Basic Design E.1. Basic Design
1.2. Detailed Design E.2. Detailed Design
2. Procurement P. Procurement
3. Construction C. Construction
در حالتی که از حروف کمک گرفتهایم به سادگی میتوانیم متوجه شویم که کدی مانند E.2.5.4.3.2متعلق به
گروه Engineeringاست.
Project| WBS| Define Code برای اختصاصیسازی کد WBSو به عبارت دیگر تعیین قالببندی آن ،روی
کلیک کنید تا کادر محاوره شکل 14-3باز شود.
میتوانید کد WBSرا در این کادر قالببندی کنید .هر کد WBSدارای چند سطح است که قالببندی هرکدام
از آنها در یکی از ردیفهای این جدول مشخص میشوند .اگر تعداد قسمتهایی که در این جدول تعریف
کردهاید کمتر از سطوح Outline Numberباشد ،به جای قسمتهای تعریف نشده از قالببندی Outline
Numberاستفاده خواهد شد.
هر قسمت میتواند با حرف یا عدد مشخص شود .این مسئله در فیلد Sequenceجدول مشخص میشود .تعداد
حروف یا اعداد هر آیتم ،در Lengthمشخص میشود .اگر مایل به ایجاد قید برای این قسمت نیستید ،گزینه
Anyرا انتخاب کنید.
برای جدا کردن کد هر سطح از سطح بعد از عالمتی استفاده میشود که در ستون Separatorمشخص میشود.
به عنوان مثال کد WBSشکل 14-4طوری ویرایش شده است که سطح اول آن رشتهای متنی و سطح دوم آن
عددی به طول 3باشد.
اگر اولین فیلدی که از یک کد استفاده می کند را ویرایش کنید ،تمام فیلدهای زیرمجموعه آن نیز اصالح
خواهند شد .به عنوان مثال اگر به جای TSدر ردیف 32متنی مانند xxقرار دهید ،تمام کدهای زیرمجموعه
آن نیز اصالح خواهند شد (شکل .)14-6
:Project Code Prefixاگر مایل باشید میتوانید پیشوندی برای کد WBSتعریف کنید که در
ابتدای تمام آنها قرار بگیرد .از این پیشوند برای مشخص کردن پروژه استفاده میکنند.
:Generate WBS code for new tasksاگر فعال نباشد ،فعالیتهای جدید کد WBSنخواهند
داشت و باید به طور دستی وارد شوند.
:Verify uniqueness of new WBS codesاگر فعال باشد ،کدهای WBSمنحصر به فرد خواهند
بود.
برای پیاده سازی ساختارهای شکست ثانوی ،باید از ابزار گروهبندی استفاده کرد .این ابزار آیتمها ،منابع یا
تخصیصها را بر اساس یک یا چند فیلد دستهبندی میکند و اطالعات خالصهسازی شده فیلدها را در
سرفصلها نمایش میدهد؛ یعنی عمال آنچه به دست میآید بسیار نزدیک به محصولِ دستهبندی فعالیتها بر
اساس WBSاست.
Complete and Incomplete Tasks از کادر بازشوی گروهبندی که در View| Data| Group byقرار دارد گزینه
را انتخاب کنید (شکل .)14-8
با این کار برنامه آنگونه که در شکل 14-9نمایش داده شده است دیده خواهد شد.
در این حالت فعالیتها در سه دسته قرارمیگیرند :آغاز نشده ،در حال انجام و تکمیل شده .سه سرفصل ،که
مشابه خالصه فعالیتها هستند ،برای هریک از این دستهها نمایش داده میشوند .نمودار گانت نیز بر همین
اساس بازسازی میشود (شکل .)14-11
هرکدام از سرفصلها ،اطالعات فعالیتهای زیرمجموعه خود را خالصهسازی میکند .به عنوان مثال ،سرفصل
دوم که مربوط به فعالیتهای در حال انجام است ،مقدار 21درصد را در % Completeنشان میدهد؛ به این
معنی که فعالیتهای در حال انجام مجموعا 21درصد پیشرفت کردهاند .بسیاری از فیلدهای دیگر نیز به همین
طریق خالصهسازی میشوند .به عنوان مثال اگر هزینه فعالیتها را وارد کرد باشید ،میتوانید خالصه شده آنها
را هم در سرفصلها دریافت کنید (شکل .)14-11
Fixed Cost رفتار فیلدها در سرفصلهای خالصهسازی دقیقا مانند خالصه فعالیتها نیست .به عنوان مثال فیلد
در خالصه فعالیتها خالصهسازی نمی شود ،زیرا ممکن است الزم باشد که هزینه ثابتی برای خالصهفعالیت وارد
کنید ،ولی در سرفصلهای گروهبندی خالصهسازی میشود.
در این مثال میتوانیم بدانیم که 5211واحد از هزینه برنامهریزی شده پروژه متعلق به فعالیتهایی است که
هنوز شروع نشدهاند 5541 ،واحد هزینه متعلق به فعالیتهای تکمیل شده است و 1331واحد به فعالیتهایی
که در حال انجام هستند تعلق دارند .توجه کنید که چنین اطالعاتی را بدون گروهبندی به سادگی نمیتوان از
برنامهای که طبق WBSنمایش داده شده است استخراج کرد.
کادر بازشویی که پیش از این معرفی شد ،تعدادی از پرکاربردترین روشهای گروهبندیِ از پیش تعریف شده
Projectرا در اختیارتان میگذارد .اگر گزینه No Groupرا انتخاب کنید ،گروهبندی از بین میرود و آیتمها بر
اساس ساختار شکست کار دستهبندی میشوند.
تمام گروهبندیهای از پیش تعریف شده در این لیست نمایش داده نمیشوند .برای استفاده از سایر
گروهبندیها ،گزینه More Groupsرا از همان لیست انتخاب کنید تا کادر محاوره شکل 14-12باز شود.
برای ساخت گروهبندی جدید ،روی Newکلیک کنید .با این کار کادر محاوره شکل 14-13باز خواهد شد.
نام گروهبندی در فیلد Nameمشخص میشود .اگر گزینه Show in menuفعال باشد ،گروهبندی در لیست
گروهبندیهای پرکاربرد نمایش داده میشود.
اگر گزینه Show summary tasksرا فعال کنید ،خالصهفعالیتها نیز همراه با فعالیتها گروهبندی میشوند.
توجه داشته باشید که معموال از این گزینه استفاده نمیشود ،زیرا خالصه فعالیتها ،سرفصلهایی هستند که
برای گروهبندی فعالیتها بر اساس WBSبه کار میروند و زمانی که قصد دارید به جای WBSاز گروهبندی
دیگری استفاده کنید ،درج کردن خالصهفعالیتها معموال توجیهی نخواهد داشت .معموال فقط کسانی از این
گزینه استفاده میکنند که بر خالف توصیههای اکید نامهای منحصر به فرد برای فعالیتهای خود انتخاب
نکردهاند و در نتیجه نمایش آنها بدون خالصه فعالیتها مشکل ایجاد میکند .وقتی تمام نامهایی که برای
آیتمها وارد کردهاید منحصر به فرد باشند گروهبندی ها و استفاده از ساختارهای شکست ثانویه بسیار کاربردیتر
خواهد شد.
اگر گزینه Maintain Hierarchyرا فعال کنید ،بعد از انجام تمام دستهبندیها ،دستهبندی بر اساس WBSنیز
اضافه می شود .جدا از مشخص کردن این تنظیم در مشخصات دستهبندی ،بعدا نیز میتوانید با کلیک کردن
روی View| Data| Group By| Maintain Hierarchy in Current Groupتنظیم را فعال یا غیر فعال کنید.
گزینههای Group assignments, not tasksیا Group assignments, not resourcesمشخص میکنند که
گروهبندی باید به جای فعالیتها و منابع ،برای تخصیصها به کار رود و تنها در نماهای مربوط به تخصیص،
یعنی Task Usageو Resource Usageکاربرد دارد .این مسئله در ادامه توضیح داده خواهد شد.
در کادر محاوره لیستی وجود دارد که می توانید از آن برای وارد کردن معیار یا معیارهای گروهبندی استفاده
کنید .به عنوان مثال ،اگر قصد دارید فعالیتها را بر اساس مدتزمانهایشان گروهبندی کنید ،از تنظیمهایی
مشابه شکل 14-14استفاده کنید.
برخی از سرفصلهای این شکل باز و برخی بسته هستند .همانطور که دیده میشود ،برای هر مدت زمان یک
سرفصل ساخته شده است .ممکن است مایل باشید میتوانید به جای ساخت سرفصل برای هر مدت زمان ،برای
دورههای مختلف سرفصل های مختلفی بسازید .برای این کار در کادر محاوره گفته شده ردیف مربوط به
Durationرا انتخاب کرده ،روی Define Group Intervalsکلیک کنید تا کادر محاوره شکل 14-16باز شود.
گزینه پیشفرض Each Valueاست که باعث میشود برای هر مقدار ،یک دستهبندی ساخته شود .اگر به جای
آن گزینه Dayرا انتخاب کرده ،مدت زمان هر دسته را 3روز ) (Group intervalوارد کنید ،نتیجه مانند آنچه
در شکل 14-17نمایش داده شده است خواهد بود.
در این حالت هر سرفصل محدودهای سه روزه از مدت زمانها را پوشش میدهد.
اگر مایل باشید میتوانید بیشتر از یک معیار برای گروهبندی مشخص کنید .در این صورت ساختار شکستی که
به وجود خواهد آمد بیش از یک سطح خواهد داشت .به عنوان نمونه به کادر محاوره تعریف گروهبندی بازگشته،
معیار دیگری برای درصد پیشرفت وارد کنید (شکل .)14-18
روی Define Group Intervalsکلیک کرده ،تنظیمهای شکل 14-19را وارد کنید تا درصد پیشرفتها به سه
دسته آغاز نشده ،در حال انجام و تکمیل شده گروهبندی شوند.
با این تنظیمها برنامه به صورتی که در شکل 14-21نمایش داده شده است خواهد بود.
همانطور که در شکل نیز دیده میشود ،معیار دوم ،آیتمهای زیرمجموعه سرفصلهای معیار اول را گروهبندی
میکند.
هر فیلد گزینههای مخصوصی برای تعیین سرفصلها دارد .اگر گزینههای موجود برایتان کافی نیست ،میتوانید
یک فیلد اختصاصی بسازید که بر اساس مقدارهای فیلد مورد نظر و گزینههایی که برای آن موجود است
مقدارهای مناسبی به خود اختصاص دهد و بتوانید بر اساس آن گروهبندی را انجام دهید .به عنوان مثال فرض
کنید بخواهید فعالیتها را بر اساس شناوری کل به سه دسته زیر تقسیم کنید:
صفر
مقداری بزرگتر از صفر و کوچکتر از پنج روز
بزرگتر از مقدارهای گفته شده
Define پیادهسازی گروهبندی گفته شده با استفاده از فیلد Total Slackو گزینههای موجود برای آن در
Group Intervalsممکن نیست .به این خاطر میتوانید فیلدی اختصاصی مانند Text1با فرمول زیر بسازید:
به این ترتیب فیلد جدید آنگونه که در شکل 14-21دیده میشود مقدار خواهد گرفت.
همانطور که گفته شد ،ساختارهای شکست را می توانید با هر فیلد یا ترکیبی از فیلدهای اصلی یا اختصاصی
بسازید .ولی بهترین راه استفاده از کدهای ساختاری است .در این قسمت طراحی و مقداردهی این کدها را
خواهید آموخت و گروهبندیِ آنها نیز توضیح داده میشود.
کد ساختاری مورد نظر خود را (مثال )Outline Code1به جدول اضافه کنید .بعد از آن روی عنوان آن کلیک
راست کرده و از منویی که باز میشود Custom Fieldsرا انتخاب کنید تا کادر محاوره شکل 14-24باز شود.
روی Renameکلیک کرده ،نام مناسبی به کد ساختاری بدهید .به یاد داشته باشید که هرگاه قصد دارید از یکی
از فیلدهای اختصاصی استفاده کن ید ،حتما نامی هم به آن بدهید تا بعدا اشتباهی پیش نیاید.
بعد از تعیین نام ،روی Lookupکلیک کنید تا کادر محاوره شکل 14-25باز شود.
روی Code Maskکلیک کنید تا قسمت مربوط به آن باز شود (شکل .)14-26
در این کادر باید با همان ترتیبی که در مورد اختصاصیسازی WBSتوضیح داده شد ،سلسله مراتب کد
ساختاری را مشخص کنید .تفاوت عمده در این است که تعداد سطوح کد ساختاری به تعداد ردیفهایی که در
این جدول تعریف کردهاید محدوده خواهد بود.
اکنون باید تصمیم بگیرید که قصد دارید کد ساختاری تنها از مقدارهای مشخص شدهای استفاده کند یا هر
مقداری که با Maskسازگار باشد مجاز به شمار آید .اگر قصد ندارید مقدارها را مشخص کنید ،به قسمت Data
entry optionsرفته ،گزینه اول را فعال کنید (شکل .)14-28
اگر گزینه اول فعال باشد ،مقدارهایی که کاربر وارد میکند پذیرفته شده ،به جدول Lookupنیز اضافه خواهند
شد؛ در غیر این صورت فقط مقدارهایی که در جدول Lookupوجود دارند قابل قبول خواهند بود.
اگر گزینه دوم را فعال کنید ،فقط کدهایی قابل قبول خواهند بود که در پایینترین سطح کد ساختاری قرار
داشته باشند .پیش از این نیز گفته شه بود که برخی برنامه ریزان عالقه دارند کدهای ساختاری را طوری طراحی
کنند و به کار بندند که تمام عناصر زیرمجموعه پایینترین سطح آنها شوند ،در حالی که این مسئله اجباری
نیست.
برای مشخص کردن مقدارهای قابل قبول ،به قسمت Lookup tableرفته ،مقدارها را در لیست وارد کنید .برای
مشخص کردن سلسله مراتب مقدارها ،از دکمههای فلش مانند یا میانبرهای Shift+Alt+Leftو
Shift+Alt+Rightاستفاده کنید (شکل .)14-29
بهتر است عنوانهایی که در ستون Valueوارد میکنید خالصه و ساده باشند .اگر الزم باشد میتوانید شرح
کاملتر را در ستون Descriptionدر مقابل هر عنوان وارد کنید .این شرح به جای عنوان در سرفصلهایی که در
زمان گروهبندی ساخته میشوند نمایش داده خواهد شد.
برای مشخص کردن کد ساختاری فعالیت ها ،فعالیت مورد نظر خود را انتخاب کرده ،مقدار را در فیلد وارد کنید.
اگر مقدار وارد شده مطابق تعاریف باشد ،پذیرفته شده ،در غیر این صورت پیغام اخطار داده خواهد شد .اولین
نکته ای که باید در نظر داشته باشید ،تعریف سلسله مراتب یا Maskاست .نکته دوم این است که تعداد سطوح
هر کد باید پایینترین باشد یا از سطوح باالتر نیز میتوان استفاده کرد؛ آخرین تنظیم این است که فقط
مقدارهای جدول Lookupپذیرفته میشود یا سایر مقادیر نیز قابل قبول هستند.
به جای تایپ کردن مقادیر ،می توانید روی فلش کوچکی که در سمت راست فیلد وجود دارد کلیک کنید تا
مقدارهای موجود نمایش داده شوند (شکل .)14-31
معموال فقط به فعالیتها مقدار میدهند ،زیرا خالصه فعالیتها در واقع نوعی شیوه تعیین ساختار هستند و قرار
نیست که در سایر ساختارهای شکست نیز ظاهر شوند.
شکل 14-31برنامه نمونه را بعد از وارد کردن مقدار برای کد ساختاری تعریف شده ،نشان میدهد.
در گروهبندی عالوه بر دستهبندی گرافیکی اطالعات ،برخی از فیلدها خالصهسازی نیز میشوند .به عنوان مثال،
شکل 14-32برخی از فیلدهایی که در گروهبندی خالصهسازی میشوند را نشان میدهد .در این حالت
سرفصلهای گروهبندی دقیقا مانند خالصه فعالیتها ،که سرفصلهای سلسله مراتب اصلی ) (WBSهستند،
عمل میکنند.
همانطور که تا کنون دیدید ،هر فیلد معمولی یک سطح به ساختارهای شکست ثانوی یا اصطالحا گروهبندی
اضافه میکند .اگر به عنوان مثال گروهبندی را بر اساس 5فیلد طراحی کنید ،ساختار شکستی 5سطحی به
دست خواهید آورد.
راه حل اصولی برای پیاده سازی ساختارهای شکست ،استفاده از کدهای ساختاری است ،که Outline Code1تا
Outline Code10هستند .میتوانید با هرکدام از این کدها تعداد نامحدودی سطح بسازید و عناصر را با آنها
دستهبندی کنید.
به عنوان نمونه برای برنامه قبل کدی دو سطحی در Outline Code1تعریف شده بود .مقدار این کد نیز برای
تمام فعالیتها وارد شده بود .اکنون میتوانیم گروهبندی را مطابق شکل 14-33تعریف کنیم.
اگر مایل باشید که خالصه فعالیتها و فعالیتهای تعریف شده در WBSاصلی با رنگ از هم مجزا شوند،
میتوانید فعالیتها را بر اساس ،Outline Numberکه کدی ساختاری است ،گروهبندی کنید (شکل .)14-34
البته در این روش تمام خالصهفعالیتها به یک رنگ نمایش داده میشوند .متاسفانه در مورد این فیلد امکان
مشخص کردن محدوده و سطح وجود ندارد ،در نتیجه نمیتوانید آن را به مراحل مختلفی خرد کنید و به
هرکدام رنگ جداگانهای بدهید.
Resource Sheet اگر از سیستم سازمانی استفاده نکنید ،منابع سلسله مراتب نخواهند داشت .به عنوان مثال،
تمام منابع را همسطح نشان میدهد (شکل .)14-35
در این حالت میتوانید بدانید که به هریک از منابع چه مقدار کار تخصیص داده شده و چه هزینهای متناظر با
آن است؛ ولی به عنوان مثال اگر این منابع در سه گروه مختلف با سه سرپرستی مستقل قرار داشته باشند،
نمیتوانید اطالعات خالصه سازی شده آن سه دسته را در اختیار داشته باشید .در این حالت میتوانید برای آنها
یک کد ساختاری تعریف کنید (شکل .)14-36
اکنون میتوانید اطالعات مختلف را خالصه شده کنترل کنید .به عنوان مثال میتوانید بدانید که هرکدام از
گروهها چه مقدار هزینه دارند ،چه مقدار کار کردهاند ،پیشرفت آنها بر اساس شاخصهای مختلف تا چه حد با
مقدارهای برنامهریزی شده متفاوت است و مانند آنها .هیچکدام از اطالعات گفته شده بدون استفاده از
گروهبندی مستقیما قابل دریافت نیست.
پیاده سازی ساختار شکست منابع هیچ تفاوتی با ساختارهای شکست فعالیتها که پیش از این توضیح داده شده
بود ندارد.
اطالعات Projectسه نوع است :فعالیت ،منبع و تخصیص .با این حال ،دسترسی به تخصیصها به سادگیِ دو
نوع دیگر نیست و قابلیتهای نرمافزاری آنها نیز محدودتر است .در مورد گروهبندی نیز روند کار کمی با
گروهبندی فعالیتها و منابع فرق دارد.
اولین قدم در گروهبندی تخصیصها ،مراجعه به یکی از نماهایی است که تخصیصها را نشان میدهند ،یعنی
Task Usageیا .Resource Usageشکل 14-38نمای Task Usageیک برنامه نمونه را نشان میدهد.
در این نما تخصیصها با نام منابعِ متناظر با آنها ،زیرمجموعه فعالیتها نمایش داده شدهاند.
برای گروهبندی تخصیصها ،به کادر محاوره تعریف گروهبندی رفته ،گزینه Group assignments, not tasksرا
فعال کنید .به این ترتیب مشخص میشودکه قصد دارید تخصیصها را گروهبندی کنید .بعد از آن معیار یا
معیارهای گروهبندی را وارد کنید .شکل 14-39نمونهای از تنظیمها را نشان میدهد.
وقتی گزینه Group Assignmentsفعال شده باشد ،فیلد Field Typeجدول نیز فعال خواهد بود و میتوانید در
آن Assignmentو ( Taskدر نمای )Task Usageیا ( Resourceدر نمای )Resource Usageرا انتخاب کنید.
این مسئله مشخص میکند که تخصیصها بر اساس مقدارهای فیلد مشخص شده برای خود تخصیص یا برای
فعالیت (یا منبع) مربوط به آن گروهبندی شود .در هر دو حالت آنچه در نتیجه گروهبندی قرار خواهد داشت،
تخصیصها خواهند بود.
در این حالت مشکل بزرگی که وجود دارد این است که در نام تخصیصها تکرار وجود دارد و به عبارت دیگر،
مشخص نیست که هر تخصیص به کدام فعالیت مربوط است .برای رفع این مشکل باید معیارهای بیشتری برای
گروهبندی تعریف کنید .به عنوان مثال میتوانید با اضافه کردن معیار ،Nameکاری کنید که نام فعالیتهای
مربوطه نیز نمایش داده شوند (شکل .)14-41
شکل :14-41تنظیم جدید برای گروهبندی تخصیصها همراه با نمایش نام فعالیتهای مربوطه
اگر مایل باشید که عالوه بر نام فعالیتها ،خالصه فعالیتهای آنها هم نمایش داده شوند ،میتوانید معیار
Outline Numberرا هم به معیارها اضافه کنید (شکل .)14-43
فیلتر کردن و مرتبسازی اطالع ات ابزارهایی ساده ،ولی کاربردی هستند که برای بهبود دسترسی و نمایش
اطالعات به کار میروند .با کمک آنها میتوانید گزارشهایی مفیدتر بسازید و همچنین در مراحل برنامهریزی
کنترل دقیقتری روی برنامه داشته باشید.
اگر قصد دارید از گزارشهای داخلی Projectکه در نسخه 2113اضافه شدهاند و انواع ابزارهای بصری مشابه
Excelرا در داخل Projectدر اختیارتان قرار می دهند به طور موثر استفاده کنید ،باید مهارت کافی در استفاده
از گروهبندیها ،که در فصل 14توضیح داده شده است ،و فیلتر کردن و مرتبسازی ،که در این فصل توضیح
داده میشود ،داشته باشید.
مفهوم مرتبسازی
اطالعات ،یعنی منابع ،فعالیتها (به همراه خالصهفعالیتها و مایلستونها) و تخصیصها ،به طور پیشفرض
ترتیبهای مشخصی دارند .منابع بر اساس شمارههای IDمرتب میشوند ،فعالیتها بر اساس سلسله مراتب
اصلی ) (WBSکه منطبق با IDنیز هست مرتب میشوند و تخصیصها نیز بر اساس ترتیب منابع و فعالیتها
نمایش داده می شوند .گاهی الزم است که اطالعات را با ترتیبهای دیگری نمایش دهید تا استخراج یا کنترل
اطالعات آنها سادهتر باشد و یکی از روشها ،مرتبسازی ) (Sortاست.
در مرتبسازی اطالعات ،یک یا چند فیلد مبنای مرتبسازی میشوند و رکوردها بر اساس آنها به طور صعودی
یا نزولی مرتب خواهند شد.
برخی افراد انتظار دارند که فعالیت های برنامه به ترتیب زمان شروع باشند و اگر به عنوان مثال ببینند که
فعالیتی که زودتر شروع میشود بعد از فعالیت دیگری قرار گرفته است ،آن را به اشتباه بودن برنامه تعبیر
میکنند .الزم است که برنامه ریز تا جای ممکن همکاران خود را با مفاهیم برنامهریزی و کنترل پروژه آشنا کند
تا هم جلوی بروز سوتفاهم ها گرفته شود و هم با افزایش همکاری و فهم متقابل به پروژه کمک شود .با این
وجود ،اگر قرار است برنامه را برای افرادی بفرستید که احتمال میدهید چنین مشکالتی دارند و به آنها
دسترسی نیز ندارید تا اشتباهات احتمالیشان را برطرف کنید ،میتوانید فعالیتها را بر اساس تاریخ شروع
مرتبسازی کنید.
همیشه در زمان مرتبسازی در نظر داشته باشید که پیشفرض این است که فقط آیتمهای همسطحی که
زیرمجموعه یک آیتم باشند نسبت به هم مرتب می شوند (زیرا در غیر این صورت ساختار شکست از بین خواهد
رفت) ،در نتیجه ممکن است بین آنها و سایر زیرمجموعهها ترتیب رعایت نشده باشد.
مرتبسازی ابتدایی
ابتداییترین و سادهترین راه برای مرتبسازی ،استفاده از منوی AutoFilterاست .این منو برای فیلتر کردن
ساده است ،ولی گزینههایی نیز برای مرتبسازی و گروهبندی دارد.
سمت راست عنوان هر ستون فلش کوچکی وجود دارد که وقتی روی آن کلیک کنید منویی باز میشود .در این
منو دو گزینه Sort A to Zو ( Sort Z to Aیا با عنوانهای مشابه) وجود دارد که به ترتیب برای مرتبسازی
صعودی و نزولی است .وقتی یکی از این دو گزینه را انتخاب کنید ،رکوردها بر اساس مقداری که در ستون
انتخاب شده دارند مرتبسازی میشوند.
مرتبسازی ساده
برای مرتبسازی آیتمها ،روی View| Data| Sortکلیک کنید تا منوی شکل 15-1باز شود.
در این منو گزینههایی برای پرکاربردترین روشهای مرتبسازی وجود دارد .گزینههای موجود بستگی به نوع
آیتمهایی که نمایش داده شدهاند دارد؛ به عنوان مثال گزینههای موجود برای منابع و فعالیتها یکسان نیست.
استفاده از گزینه های گفته شده نکته خاصی ندارد و کافی است که روی گزینه کلیک کنید تا آیتمها بر آن
اساس مرتب شوند .شکل 15-2برنامه نمونهای را نشان میدهد که آیتمهای آن بر اساس تاریخ شروع مرتب
شدهاند.
آنچه باید توجه داشته باشید این است که WBSبرنامه با این کار تغییر نخواهد کرد؛ به عنوان مثال ،آیتمهایی
که قبال زیرمجموعه آیتمی بوده اند ،باز هم زیرمجموعه آن باقی خواهند ماند .در عین حال ،ستون IDنشان
میدهد که ترتیب آیتمها بر اساس ( IDپیشفرض) نیست.
شیوه مرتبسازی پیشفرض اینگونه است که ابتدا آیتم های باالترین سطح با هم سنجیده شده ،ترتیب آنها
مشخص میشود .بعد از آن زیرمجموعههای هرکدام از آن آیتمها به طور مستقل سنجیده و تحت آن آیتم مرتب
میشوند.
مرتبسازی پیشرفته
در پایین منوی View| Data| Sortگزینهای به نام Sort byوجود دارد ،که کاملترین گزینه است و با استفاده از
آن میتوانید اطالعات را به هر شیوه ای که مایل باشید مرتب کنید .وقتی گزینه گفته شده را انتخاب کنید ،کادر
محاوره شکل 15-3باز خواهد شد.
همانطور که دیده میشود ،میتوانید سه معیار مختلف برای مرتب سازی انتخاب کنید .عملکرد این سه معیار
این گونه است که اگر دو آیتم از نظر معیار اول یکسان باشند ،برای مشخص کردن ترتیب آنها از معیار دوم
استفاده میشود .اگر معیار دوم هم برای آن دو آیتم یکسان باشد ،از معیار سوم استفاده خواهد شد .در نهایت
اگر هیچکدام از سه معیار ترتیب دو آیتم فرضی را مشخص نکنند ،ترتیب قبلی آیتمها حفظ خواهد شد .به
عنوان مثال ،در مرتب کردن لیست مشخصات افراد ،رکوردها را ابتدا بر اساس نام خانوادگی و بعد از آن بر اساس
نام مرتب میکنند .یعنی اگر نام خانوادگی دو نفر یکسان باشد ،معیار دوم که نام است مبنا قرار خواهد گرفت.
برای مرتب سازی ،یک یا چند معیار مورد نظر خود را در کادرهای مربوطه وارد کنید .برای این کار از هرکدام از
فیلدهای برنامه میتوان استفاده کرد .هر معیار میتواند به طور صعودی یا نزولی آیتمها را مرتب کند که این
مسئله با گزینههای Ascendingو Descendingروبروی کادر تعیین میشود.
پیش از کلیک کردن روی دکمه ،Sortدو گزینه پایین کادر را هم کنترل کنید .عملکرد آنها اینگونه است:
:Permanently renumber tasksاین گزینه بسیار خطرناک است ،زیرا شماره IDفعالیتها را بر
اساس معیارهای مرتبسازی تغییر میدهد و این عمل قابل بازگشت نخواهد بود.
:Keep Outline Structureاین گزینه که به طور پیشفرض فعال است ،باعث میشود که منطق
توضیح داده شده در قسمت قبل ،یعنی آنچه بر گزینههای مرتبسازی از پیش تنظیم شده برنامه
حاکم است ،به مرتبسازی اعمال شود .در این حالت آیتمها زیرمجموعه خالصه فعالیتهای خود باقی
میمانند و هرکدام نسبت به سایر آیتمهای هم سطح خود که زیرمجموعه یک خالصه فعالیت باشند
مرتب می شوند ،در حالی که اگر گزینه را غیر فعال کنید ،کل آیتمها نسبت به هم سنجیده میشوند.
به این ترتیب نمایش آیتمها با WBSهماهنگ نخواهد بود و به عنوان مثال آیتمی که زیر یک خالصه
فعالیت قرار گرفته باشد ،الزاما زیرمجموعه آن نخواهد بود .معموال این گزینه را غیر فعال نمیکنند،
زیرا آیتمها کامال آشفته نمایش داده میشوند ،مگر اینکه عالوه بر مرتبسازی ،فیلتری نیز اعمال
Outline کنید که خالصه فعالیتها را نمایش ندهد .به هر حال دقت کنید که در این حالت فیلد
Numberیا فیلد WBSنمایش داده شده باشند تا جلوی اشتباهات احتمالی را بگیرند.
ID مرتبسازی قابل خنثی کردن نیست؛ آیتمها همیشه با ترتیبی نمایش داده میشوند .ترتیب پیشفرض
است ،در نتیجه اگر قصد دارید ترتیب آیتمها را به حالت اولیه بازگردانید ،گزینه By IDرا از منوی مرتبسازی
انتخاب کنید.
گاهی الزم است که اطالعاتی که از الگو یا مشخصه یکسانی برخوردارند بررسی شوند .در این حالت مرور کل
اطالعات و یافتن اطالعات مورد نظر کاری وقت گیر است و امکان بروز اشتباه نیز فراوان خواهد بود .در این
صورت میتوان اطالعات را فیلتر کرد تا فقط آنچه الزم است نمایش داده شود .گاهی الزم است اطالعات خاصی،
مانند فعالیتهای برنامهریزی شده برای دوره بعد ،گزارش داده شوند .در این صورت نیز فیلتر کردن بهترین راه
حل است.
وقتی اطالعات فیلتر میشوند ،عنصری حذف و اضافه نمیشود؛ فقط عناصری که مطابق معیار فیلتر باشند
متمایز میشوند یا عناصری که مخالف آن باشند مخفی میشوند.
فیلتر کردن اطالعات یکی از قابلیتهای پر استفاده بسیاری از نرمافزارهاست .با استفاده از این قابلیت میتوانید
اطالعاتی که در زمانی خاص مورد نیاز نیستند را نمایش ندهید تا کنترل آنچه باید دیده شود ،سادهتر باشد .به
عنوان مثال ،میتوانید فعالیتها را فیلتر کنید تا فقط کارهایی که برای هفته آینده برنامهریزی شدهاند نمایش
داده شوند ،محصول را چاپ کنید و در اختیار گروههای اجرایی بگذارید.
توجه داشته باشید که فیلتر کردن اطالعات تنها در نمایش تعیین کننده است؛ به هر حال تمام آیتمها موجود
هستند و محاسبات نیز بر اساس کل آیتمها انجام می شود .به عنوان مثال اگر تعداد زیادی از زیرمجموعههای
یک خالصه فعالیت فیلتر شده باشند ،خالصهسازیهای آن همچنان ترکیب اطالعات کلِ زیرمجموعههایش را
نشان میدهد .این مسئله برای کسانی که از وجود فیلتر اطالع ندارند گمراه کننده است .به عنوان مثال به شکل
15-4توجه کنید.
شکل :15-4برنامهای نمونه بدون فیلتر (سمت راست) و با فیلتر (سمت چپ)
مدت زمان خالصه فعالیت اول با ترکیب دو فعالیتِ زیرمجموعهاش شکل گرفته است .در حالی که بعد از فیلتر
شدن فعالیت دوم ،مدت زمان خالصه فعالیت به نظر غیر عادی میآید.
فیلتر ساده
نرمافزارهای Officeابزار سریعی برای فیلتر کردن دارند که AutoFilterنامیده میشود .وقتی فعال باشد ،کنار
عنوان هریک از ستونها فلش کوچکی قرار میگیرد و میتوان با کمک گزینههای آن منو ،رکوردها را بر اساس
محتوای ستون فیلتر کرد AutoFilter .به طور پیشفرض در نسخه 2111فعال است ،در حالی که در نسخههای
قبلی به طور پیشفرض غیر فعال بود.
برای فعال یا غیر فعال کردن فیلتر ،گزینه Set AutoFilter on for new projectsرا انتخاب کنید .باز بودن یا
نبودن فیلتر سریع در برنامههایی که بعد از این ساخته شوند مطابق این تنظیم خواهند بود.
توضیحهای قبل در این مورد بود که AutoFilterبه طور پیش فرض در دسترس باشد یا خیر .در هر حال
میتوانید برای فعال یا غیر فعال کردن آن روی View| Filter| Display AutoFilterکلیک کنید.
برای فیلتر کردن اطالعات بر اساس محتوای یکی از ستونها ،روی فلشی که سمت راست عنوانِ آن قرار دارد
کلیک کنید (شکل .)15-6
در این منو لیستی از محتوای ستون قرار دارد .معموال به ازای هر محتوایی که در سلولهای ستون قرار داشته
باشد گزینهای نمایش داده میشود .اگر عالمت تایید کنار یکی از گزینهها را بردارید ،نمایش داده نخواهد شد.
باالی لیست گزینهای به نام ) (Select Allقرار دارد که اگر آن را فعال یا غیر فعال کنید ،تمام گزینهها فعال یا
غیر فعال خواهند شد .اگر به عنوان مثال مایل باشید که فقط دو مقدار را فعال نگه دارید ،میتوانید به جای غیر
فعال کردن تک تک گزینهها ،گزینه ) (Select Allرا غیر فعال کنید تا تمام گزینهها غیر فعال شوند و بعد از آن
گزینههایی که قرار است نمایش داده شوند را انتخاب کنید.
اگر منوی فیلد Nameرا باز کنید ،به جای لیستی ساده ،لیستی سلسلهمراتبی از ساختار شکست و فعالیتها
نمایش داده میشود (شکل .)15-7
اگر در این منو خالصهفعالیتی را غیر فعال کنید ،تمام زیرمجموعههای آن نیز غیر فعال خواهند شد.
در منوی AutoFilterگزینهای به نام Filtersنیز وجود دارد که برای هر ستون ،گزینههایی مناسبِ همان ستون
ارائه میکند .شکل 15-8زیرمنوی ستون مدتزمان را نشان میدهد.
همانطور که میبینید گزینههای این زیرمنو کامال مناسبِ مدتزمان هستند .البته در کنار این نوع گزینهها،
گزینههای عمومیتری مانند ( Equalsبرابر است با)( Does not Equal ،برابر نیست با) و ( Greater thanبزرگتر
است از) نیز وجود دارد .وقتی یکی از این گزینهها را انتخاب کنید ،کادر محاوره شکل 15-9باز خواهد شد.
گزینه ای که در زیرمنو انتخاب شده بود در کادر انتخاب اول نمایش داده میشود .اگر روی فلش سمت راست
این کادر کلیک کنید ،انواع گزینه هایی که در آن ستون قابل استفاده هستند نمایش داده خواهند شد.
انتخابهای این منو نیاز به مقدار ورودی دارند که در کادر مقابل آنها ثبت میشود .اگر مایل باشید میتوانید
دو شرط وارد کنید که در این صورت شرط دوم در جفت کادر بازشوی پایین کادر محاوره مشخص میشوند و
روش کار با آنها تفاوتی با جفتِ اول ندارد .این دو شرط با یکی از دو عملگر Andیا Orبا هم ترکیب میشوند.
اگر Andرا انتخاب کنید فقط عناصری نمایش داده میشوند که مطابق هر دو شرط باشند و اگر Orرا انتخاب
کنید عناصری که مطابق حداقل یکی از دو شرط باشند نمایش داده خواهند شد.
نمایش داده میشود تا وجود فیلتر را یادآوری به جای عالمت وقتی فیلتر ستونی را فعال کنید ،عالمت
کند.
اگر الزم باشد می توانید برای چند ستون فیلتر قرار دهید .در این صورت فقط اطالعاتی نمایش داده میشوند که
مطابق معیارهای تمام ستونها باشند.
برای حذف فیلتر یکی از ستونها ،روی فلش کلیک کرده ،گزینه ) (Select Allرا انتخاب کنید.
فیلتر پیشرفته
فیلتر کردن اطالعات با AutoFilterبسیار سریع و ساده است ،ولی انعطافپذیری کافی ندارد .اگر نیاز به
فیلترهای پیشرفته دارید ،باید از قابلیت اصلی فیلتر برنامه ،که Filterنامیده میشود ،استفاده کنید.
به طور پیشفرض تعدادی فیلتر پر کاربرد تعریف شده است و اگر مایل باشید میتوانید به جز آنها ،فیلترهای
دیگری نیز تعریف کنید .فیلترهای تعریف شده را میتوان ذخیره کرد تا در موارد دیگر نیز به کار روند.
برای دسترسی به فیلترها روی کادر بازشوی View| Data| Filterکلیک کنید (شکل .)15-11
با این کار لیستی از فیلترهای از پیش تعریف شده و فیلترهایی که قبال تعریف کردهاید باز خواهد شد .وقتی
گزینه ای را انتخاب کنید ،اطالعات فیلتر خواهند شد .برای حذف فیلتر و نمایش کل اطالعات ،گزینه All Tasks
یا All Resourcesرا انتخاب کنید.
لیستی که گفته شد ،فقط فیلترهای پرکاربرد را نشان می دهد و فیلترهای دیگری نیز در برنامه تعریف شدهاند.
برای دسترسی به کل فیلترها ،لیست را باز کرده ،روی گزینه Mote Filtersکلیک کنید .با این کار کادر محاوره
شکل 15-11باز میشود.
در باالی صفحه گزینههایی برای انتخاب لیست فیلترهای فعالیتها یا منابع وجود دارد .اگر در نمایی مربوط به
فعالیتها قرار داشته باشید و کادر محاوره را باز کنید ،به طور خودکار گزینه Taskانتخاب خواهد شد.
در انتهای نام برخی فیلترها ،سه نقطه وجود دارد .چنین فیلترهایی نیاز به مقدار ورودی دارند .زمانی که آنها را
اجرا کنید ،ابتدا کادر محاوره کوچکی باز میشود و مقدار یا مقدارهای ورودی را از شما دریافت میکند .پس از
آن اطالعات با بر اساس پارامترهای ورودی فیلتر میشوند .به عنوان مثال فیلتر Date Rageدو تاریخ را از کاربر
دریافت میکند و فعالیتهایی که در آن محدوده قرار دارند را نمایش میدهد.
برای ویرایش یک فیلتر ،آن را در لیست انتخاب و بعد از آن روی Editکلیک کنید .برای ساخت فیلتر جدید،
روی Newکلیک کنید .اگر مایلید که فیلتر جدیدی مشابه یکی از فیلترهای موجود بسازید ،فیلتر موجود را
انتخاب کرده ،روی Copyکلیک کنید تا فیلتر جدید مانند آن ساخته شود؛ بعد از آن فیلتر جدید را ویرایش
کنید.
در هر سه حالت گفته شده ،کادر محاوره شکل 15-12باز خواهد شد.
نام فیلتر در Nameمشخص میشود .اگر گزینه Show in menuرا فعال کنید ،فیلتر در لیست فیلترهای
پرکاربرد نمایش داده خواهد شد.
اگر گزینه Show related summary rowsرا فعال کنید ،خالصه فعالیتهای فعالیتهایی که نمایش داده
شدهاند نیز نمایش داده میشوند .تنظیم مناسب این گزینه اهمیت زیادی دارد و گزینه مناسب بستگی به
شرایط و نیازهای شما دارد.
در این کادر محاوره لیستی از معیارهای فیلتر وجود دارد .میتوانید یک یا چند معیار برای فیلتر مشخص کنید.
در این حالت ،معیارهای مختلف با عملگری که در ستون And/Orمشخص میشود با هم ترکیب میشوند .به
عنوان مثال اگر میخواهید فیلتر آیتم هایی که مطابق تمام معیارها هستند را نمایش دهد ،باید در تمام خطها
عملگر Andرا انتخاب کنید .اگر عملگر Orرا انتخاب کنید ،آیتمهایی که مطابق حداقل یکی از معیارهای
مشخص شده باشند ،نمایش داده میشوند .اگر مایل باشید میتوانید از ترکیب این دو عملگر نیز استفاده کنید.
هر معیار ،با سه عامل مشخص می شود .اولین عامل ،فیلدی از آیتم است که قرار است سنجیده شود .این فیلد
در Field Nameوارد میشود .بعد از آن عملگر معیار است که در Testوارد میشود .در نهایت مقداری که بر
اساس عملگر با مقدار فیلد سنجیده میشود ،در ) Value(sمشخص خواهد شد.
به عنوان مثال اگر قصد دارید فعالیتهایی که در حال انجام هستند ،یعنی درصد پیشرفت آنها بزرگتر از صفر و
کوچکتر از 111است را نمایش دهید ،باید از تنظیمهایی مشابه آنچه در شکل 15-13نمایش داده شده است
استفاده کنید.
شکل :15-13فیلتری برای نمایش دادن فعالیتهای در حال انجام و خالصه فعالیتهای مربوطه
می توانید برای مشخص کردن مقدار ،از فیلدهای دیگر نیز استفاده کنید .به عنوان مثال ،فرض کنید فیلدی
مانند Date1تاریخهایی را ذخیره کرده است و قصد داریم فعالیتهایی را نمایش دهیم که این مقدارشان
بزرگتر از تاریخ پایانشان باشد .در این صورت میتوانید از فیلتری مانند فیلتر شکل 15-14استفاده کنیم.
توجه کنید که شیوه نگارش فیلد در Field Nameو ) Value(sیکسان نیست .بهتر است برای مشخص کردن
فیلد در ) Value(sبه جای تایپ کردن نامِ آن ،از کادر بازشویی که در همان سلول قرار دارد استفاده کنید تا
مطمئن باشید که نگارش آن درست است.
اگر مایل باشید میتوانید تعیین کنید که مقدار ) Value(sاز کاربر دریافت شود .در این حالت فیلتر مانند
فیلترهایی که در انتهای نامشان سه نقطه دارند عمل میکند .البته سه نقطه گفته شده به طور خودکار قرار
نمی گیرد و بهتر است خودتان آن را در انتهای نام قرار دهید تا قراردادهای غیر اجباری را رعایت کرده باشید.
برای مشخص کردن مقدارهایی که از کاربر دریافت می شوند ،باید پیغامی که قرار است برای دریافت مقدار
نمایش داده شود را داخل گیومه قرار داده ،در انتهای آن عالمت سوال قرار دهید .به عنوان مثال شکل 15-15
فیلتر Date Rangeرا نشان میدهد.
اگر مایل باشید فیلتری تعریف کنید که مقداری را از کاربر دریافت کند و فعالیتهایی که دارای آن مدت زمان
باشند را نشان دهد ،از فیلتری مانند آنچه در شکل 15-16نمایش داده شده است استفاده کنید.
اگر بخواهید فیلتر گفته شده را توسعه دهید تا فعالیت هایی را انتخاب کند که دارای مدت زمانی در محدوده
خاص باشند ،از فیلتر شکل 15-17استفاده کنید.
اکنون اگر بخواهید فعالیتهای ی را انتخاب کنید که در محدوده زمانی مشخص شده قرار داشته باشند و تکمیل
نیز نشده باشند ،از فیلتر شکل 15-18استفاده کنید.
Apply وقتی روی OKکلیک کنید ،فیلتر ذخیره میشود .بعد از آن میتوانید فیلتر را در لیست انتخاب و روی
کلیک کنید تا فیلتر اعمال شود .ا گر فیلتر دارای مقدارهایی باشد که قرار است از کاربر دریافت شوند ،کادر
محاوره هایی برای این منظور باز خواهد شد .پس از اجرای فیلتری که در آخرین مثال گفته شد ،دو کادر محاوره
شکل 15-19باز خواهند شد.
شکل :15-19کادرهای محاورهای که برای دریافت مقدارهای فیلتر مثال قبل باز میشوند.
پیشفرض این است که وقتی فیلتری اجرا میشود ،آیتم هایی که مطابق معیارهای فیلتر نیستند مخفی شوند.
یک راه دیگر برای استفاده از فیلترها این است که به جای آیتمهای مخالف ،آیتمهای موافق به شکل متمایزی
نمایش داده شوند.
برای این کار گزینه More Filtersرا از کادر View| Data| Filterرا انتخاب کنید تا لیست فیلترها نمایش داده
شود .بعد از انتخاب فیلتر به جای کلیک کردن روی ،Applyروی Highlightکلیک کنید.
حذف فیلتر
در قسمتهای مختلف گزینه حذف فیلتر وجود دارد .ولی بهترین و سریعترین راه ،فشردن کلید میانبر F3است.
وقتی این کلید را بفشارید ،تمام فیلترها حذف میشوند.
همانطور که در ابتدای فصل نیز توضیح داده شد ،وجود فیلتر گاهی مخاطب را سردرگم میکند .بهتر است خود
را عادت دهید که وقتی برنامه جدیدی را باز میکنید (به خصوص اگر آن را از فرد دیگری دریافت کرده باشید)
کلید F3را بفشارید تا فیلترها حذف شوند.
اگر قصد دارید برنامه را برای کسی بفرستید و نیازی نیست که اطالعات خاصی را فیلتر کنید ،فیلترها را حذف
کنید تا اگر فرد مقابل متوجهِ وجود آنها نبود ،سردرگم نشود.
Projectبه خودی خود نرم افزاری سازمانی نیست و برای مدیریت یکپارچه چند پروژه به کار نمیرود (برای آن
کار باید از Project Serverاستفاده کنید که موضوع این کتاب نیست) ،با این حال ابزارهای محدودی دارد که
میتوانند ارتباطهایی خارجی بین فعالیت های یک پروژه و پروژه دیگر بسازند و این امکان را نیز فراهم میکند
که پروژهای را داخل پروژه دیگر درج کنید .در این فصل با این قابلیتها آشنا خواهید شد.
روشی که در این قسمت توضیح داده میشود برای ایجاد رابطه بین پروژههایی که در پروژهای مادر قرار داده
نشده باشند به کار میرود ،هرچند که با این روش میتوان بین پروژههایی که پروژه مادر دارند نیز رابطه برقرار
کرد .اگر پروه مادر وجود داشته باشد ،ایجاد رابطه با روش سادهتری نیز ممکن خواهد بود .این مسئله در ادامه
همین فصل توضیح داده میشود.
اولین قدم برای ایجاد روابط خارجی ،این است که برنامه حاوی طرف دوم رابطه را در Projectباز کنید .فرض
کنید برنامه مبدا Project-1و برنامه طرف دوم Project-2نام دارد و قصد دارید رابطهای با فعالیت شماره 7
برنامه طرف دوم ایجاد کنید .شکل 16-1برنامههای گفته شده را نشان میدهد.
برای وارد کردن رابطه خارجی ،به فیلد ( Predecessorsیا )Successorsآیتم مورد نظر در برنامه مبدا بروید .به
جای وارد کردن مقدار 7که رابطهای با فعالیت شماره 7برنامه مبدا ایجاد میکند ،عبارت Project-2\7را وارد
کنید (شکل .)16-2
پس از ویرایش فیلد Predecessorsکلید Enterرا بفشارید؛ عبارت Project-2\7تبدیل به آدرس کامل میشود
(شکل .)16-3
در واقع ،اگر برنامه طرف دوم را باز نکرده باشید نیز میتوانید رابطه خارجی ایجاد کنید و برای این کار باید
آدرسی کامل ،مشابه آنچه در شکل قبل دیده می شود را دستی وارد کنید .چون انجام این کار سخت است،
پیشنهاد می شود همیشه فایل را باز کنید ،زیرا در این صورت میتوانید فقط نام آن را وارد کنید و آدرس کامل
را Projectمیسازد.
اگر به فیلد Successorsبرنامه طرف دوم مراجعه کنید نیز آدرس مشابهی خواهید دید (شکل .)16-4
اتفاق دیگری که در برنامههای دارای رابطه خارجی میافتد ،این است که ردیف جدیدی برای نمایش فعالیت
طرف دوم رابطه خارجی ایجاد میشود .این آیتم در فیلد IDشمارهای مانند آیتمهای معمولی میگیرد ،در
نتیجه شماره IDآیتمهای بعدی تغییر میکنند .وجه تمایز این آیتم با سایر آیتمها این است که کمرنگتر
نمایش داده میشود .برای تغییر قالببندی نمایش آن ،روی عنوان یکی از ستونها کلیک راست کرده ،از منویی
که باز میشود Text Stylesرا انتخاب کنید تا کادر محاوره مربوطه باز شود .گزینه External Tasksرا انتخاب
کرده ،قالببندی آن را مشخص کنید (شکل .)16-5
شیوه نمایش فعالیتهای خارجی در نمودار گانت نیز متفاوت است (شکل .)16-6
برای تعیین شیوه نمایش فعالیت های خارجی در نمودار گانت ،روی قسمتی خالی از نمودار کلیک راست کرده،
در منویی که باز میشود Bar Stylesرا انتخاب کنید .در منویی که باز میشود گزینه External Tasksرا
انتخاب کنید .با این کار تنظیمهای آن در دسترس قرار میگیرند (شکل .)16-7
اگر فیلدهای WBSو Outline Numberرا به جدول اضافه کنید ،کد WBSفعالیتها نمایش داده میشوند
(شکل .)16-8
همانطور که دیده میشود ،به آیتم خارجی نیز کدی اختصاصی داده شده است و در نتیجه کد ساختاری سایر
فعالیتها نیز تغییر کردهاند .در این شیوه هیچ تمایزی بین آیتمهای داخلی و خارجی وجود ندارد .تنها راهنمایی
که به جز قالب بندی برای ایجاد تمایز وجود دارد ،استفاده از فیلدهای Projectو External Taskاست (شکل
.)16-9
فیلد Projectبرنامهای که فعالیت به آن تعلق دارد را نشان میدهد .برنامههایی به جز برنامه اصلی ،با آدرس
کامل نمایش داده میشوند .فیلد ،External Taskخارجی بودن یا نبودن فعالیت را نشان میدهد.
با استفاده از فیلد External Taskمیتوانید فعالیتها را گروهبندی کنید تا تمایز بهتری ایجاد شود (شکل -11
.)16
برای کسب اطالعات بیشتر در مورد گروهبندی ،به فصل 14مراجعه کنید.
در نهایت ،اگر الزم باشد میتوانید فعالیتها را فیلتر کنید تا آیتمهای خارجی نمایش داده نشوند .اگر کال مایل
به دیدن آیتمهای مجازیِ آیتمهای خارجی نیستید ،به File| Options| Advancedبروید (شکل .)16-12
در قسمت Cross project linking optionsدو گزینه برای فعال کردن و غیر فعال کردنِ نمایشِ پیشنیازهای
خارجی ) (show external predecessorsو پسنیازهای خارجی ) (Show external Successorsوجود دارد.
اگر هر دو برنامه در Projectباز باشند و یکی از آنها تغییر کند ،تغییر به طور خودکار در برنامه دیگر نیز اعمال
خواهد شد .اگر یکی از دو برنامه طوری تغییر کند که الزم باشد برنامه دیگر نیز اصالح شود ،ولی برنامه دوم در
Projectباز نباشد ،بعد از اینکه آن را باز کنید ،کادر محاوره شکل 16-13باز خواهد شد.
اگر مایل باشید میتوانید در سایر مواقع نیز Project| Properties| Links between projectsرا اجرا کنید تا این
کادر محاوره باز شود.
روابطی که قصد دارید بهروز شوند را انتخاب کرده ،روی دکمه Acceptکلیک کنید .اگر قصد دارید تمام روابط
بهروز شوند ،روی Allکلیک کنید .بعد از اینکه روی Closeکلیک کنید ،تمام روابطی که برای بهروز شدن
انتخاب شدهاند ،بهروز خواهند شد.
|File| Optionsاگر مایل هستید که روابط خارجی در زمان باز شدن فایل به طور خودکار بهروز شوند ،به
Advancedرفته ،گزینه Show links between projects dialog box on openرا غیر فعال و Automatically
accept new external dataرا فعال کنید .توجه داشته باشید که این تنظیم تنها روی برنامه فعال تاثیر
میگذارد و کلی نیست.
اگر نام فایل یا مسیر یک رابطه خارجی تغییر کرده باشد ،رابطه موقتا قطع میشود .برای حل مسئله باید روی
Tools| Link between projectsکلیک کرده ،رابطه مورد نظر را در کادر محاوره انتخاب کنید .بعد از آن روی
Browseکلیک کرده ،مسیر و نام جدیدِ فایل را مشخص کنید تا جانشین شده ،رابطه دوباره برقرار شود.
مفهوم زیرپروژهها
اگر چند پروژه وابستگیهایی داشته باشند و الزم باشد که بین آنها رابطههایی خارجی درست کنید ،میتوانید
برای مدیریت سادهتر پروژهای مادر ) (master projectنیز برایشان بسازید.
پروژههای اصلی در پروژه مادر درج میشوند و زیرپروژه ) (subprojectنامیده میشوند .زیرپروژهها در پروژه مادر
لینک شده درج میشوند ،به این معنی که واقعا در آن قرار نمیگیرند و اطالعاتشان همچنان در فایلهای
جداگانه ذخیره خواهد شد .پروژه مادر فقط محلی برای نمایش همزمان پروژههای متعدد است.
برنامه مادر میتواند عالوه بر زیرپروژهها ،فعالیتهای معمولی نیز داشته باشد.
|Project برای درج پروژهای در پروژه مادر ،یا به طور کلی در پروژهای دیگر ،به ردیف مورد نظر رفته ،از منوها
Insert| Subprojectرا انتخاب کنید .با این کار کادر محاورهای مانند کادر محاوره Openباز شده ،مسیر و نام
برنامه را از شما دریافت میکند .بعد از آن برنامه در پروژه مادر درج میشود (شکل .)16-14
در این حالت ساختار زیر پروژهها نسبت به WBSبرنامه مادر ،مانند سایر آیتمها قابل تنظیم است .در فیلد
Indicatorsزیرپروژهها ،آیکن فایلهای Projectنمایش داده میشود .زیرمجموعههای این برنامهها را میتوان
مانند خالصهفعالیتها باز و بسته کرد (شکل .)16-15
اگر مایل باشید میتوانید بین آیتمهای زیرپروژهها نیز ارتباط برقرار کنید ،و انجام این کار مانند ساخت رابطه
برای آیتمهای یک برنامه ساده است .در این حالت روابطی خارجی برای هرکدام از آنها ساخته میشود .اگر
آیتم طرف دیگرِ رابطه خارجی در برنامه نمایش داده شده باشد ،آیتم آن در زیر پروژه حذف میشود .به عنوان
مثال ،در شکل قبل فعالیت ردیف 9رابطهای خارجی با فعالیتی در Project-2دارد .چون زیرمجموعههای
Project-2نمایش داده نشدهاند ،آیتم مجازی فعالیت خارجی در Project-2نمایش داده شده است .اگر
زیرمجموعههای Project-2را باز کنید ،فعالیت طرف دوم دیده شده و در نتیجه آیتم مجازی Project-2مخفی
میشود (شکل .)16-16
شکل : 16-16مخفی شدن آیتم مجازی رابطه خارجی بعد از نمایش آیتم اصلی
اگر تغییری در پروژه مادر ایجاد کنید که مستلزم تغییر زیرپروژهها باشد ،زمانی که قصد داشته باشید فایل پروژه
مادر را ذخیره کنید ،کادر محاوره شکل 16-17باز خواهد شد.
در این حالت زیر پروژه یا زیرپروژههایی که تغییر کردهاند در کادر محاوره مشخص میشوند در مورد ذخیره
کردن تغییرات آنها از شما کسب تکلیف خواهد شد.
فیلد Projectنام برنامه اصلی هریک از آیتمها را مشخص میکند .با این حال ،فیلد External Tasksدر مورد
تمام آیتم های زیرپروژه که به خودی خود خارجی نباشند ،مقدار Noخواهد داشت .به عبارت دیگر ،آیتمهای
زیرپروژهها خارجی به شمار نمیروند.
فیلد ،Subproject Readonlyفقط-خواندنی بودن زیر پروژهها را مشخص میکند .اگر به فیلد مربوطه در زیر
پروژهای مقدار Yesدهید ،قابل ویرایش نخواهد بود.
وقتی برنامهریزی اولیه تمام میشود عمال تصویری از اهداف پروژه به وجود میآید که باید تا پایان کار با وضعیت
واقعی مقایسه شود و انحراف های احتمالی را مشخص کند .وضعیت جاری برنامه دایما بر اساس اطالعاتی واقعی
که هر دوره داخل آن ثبت میکنید تغییر میکنند و در نتیجه باید تصویر اولیه پروژه را به شکل دیگری
ذخیرهسازی کرد؛ این تصویر اولیه خط مبنا ) (Baselineنامیده میشود و در این فصل با شیوه مدیریت آن آشنا
خواهیم شد.
انواع خط مبنا
نسخههای پیش از 2113فقط یک خط مبنا داشتند ،در حالی که این مقدار در نسخه 2117به 11عدد رسید.
اولین خط مبنا که پیش فرض است و ممکن است به جز آن نیاز به استفاده از خط مبنای دیگری نداشته باشید،
با عنوان Baselineشناخته میشود .سایر خطهای مبنا ،با عنوانهای Baseline1تا Baseline10مشخص
شدهاند.
معموال در هر زمان فقط یک خط مبنا کافی است ،زیرا خط مبنا نماینده انتظارهای اولیه پروژه است و معموال
بیش از یک انتظار اولیه وجود ندارد .با این حال گاهی انحرافهای بزرگی در گستره یا زمانبندیها به وجود
میآید ،طوری که مقایسه برنامه جاری با برنامهریزی اولیه بیمعنی یا کممعنی میشود .در این حالتها خط
مبنای جدیدی ذخیره میکنند و برنامه جاری را با آن مقایسه میکنند .با این حال معموال ترجیح میدهند که
تصویر برنامه اولیه را هم نگهدارند و به همین خاطر است که امکان ذخیره چند خط مبنا در برنامه گنجانده شده
است.
فیلدهای خط مبنا
هر خط مبنا ،تعدادی از فیلدهای مورد نیاز برنامه اولیه را در قالب فیلدهای دیگری که با عبارت ( BaselineXبه
جای Xشماره خط مبنا قرار میگیرد) شروع میشوند ،ذخیره میکند .فیلدها از این قرارند:
BaselineX Budget Cost
BaselineX Budget Work
BaselineX Cost
BaselineX Deliverable Finish
BaselineX Deliverable Start
BaselineX Duration
BaselineX Estimated Duration
BaselineX Estimated Finish
BaselineX Estimated Start
BaselineX Finish
BaselineX Fixed Cost
BaselienX Fixed Cost Accrual
BaselineX Start
BaselineX Work
نکته مهمی که در مورد فیلدهای خط مبنا وجود دارد ،این است که هیچکدام محاسباتی نیستند .به عنوان
مثال ،فیلد Costفیلدی محاسباتی است که هم مقادیر را جمع میزند و هم آنها را در خالصه فعالیتها
خالصهسازی میکند .با این حال ،فیلد Baseline Costاینگونه نیست .اگر به عنوان مثال یکی از فعالیتها را
حذف کنید ،مقدارهای آن از خط مبنا نیز حذف می شوند ،در حالی که مقدارهای خط مبنای خالصه فعالیتِ آن
اصالح نمیشوند و در نتیجه مقادیر نادرستی را نشان می دهند .با این وجود ،در نظر داشته باشید که حذف
کردن فعالیت ،باعث تغییر برنامه میشود و ممکن است الزم باشد که بعد از آن خطمبنای جدیدی ذخیره کنید.
پیش از این که خط مبناهای اضافی در برنامه گنجانده شوند ،قابلیت دیگری به نام Interim Planگنجانده شد
تا کمبود خط مبنا را برطرف کند .امروزه با وجود 11خط مبنا نیاز چندانی به این قابلیت نیست ،ولی همچنان
در نرمافزار وجود داردInterim Plan .ها فقط فیلدهای شروع و پایان را ذخیره میکنند.
حداکثر Interim Plan 11میتوان ذخیره کرد که به ترتیب در Start1و Finish1تا Start10و Finish10ذخیره
می شوند .فیلدهای گفته شده را برای مقاصد دیگر نیز می توان استفاده کرد ،در نتیجه باید مراقب باشید که اگر
از Interim Planها استفاده میکنید ،فیلدهایشان را برای منظور دیگری به کار نبرید.
ذخیره خط مبنا
از لحاظ تئوری میتوانید خط مبنا و Interim Planرا دستی نیز ذخیره کنید .برای این کار فیلدهای مورد نظر
خود را به جدول اضافه کرده ،فیلدهای مبدا را در آنها کپی کنید .دقت کنید که در زمان کپی تمام فعالیتها
باز باشند .عالوه بر آن ،مطمئن شوید که فیلتری نیز اجرا نشده است.
بهتر است خط مبنا و Interim Planرا با ابزاری که برای این منظور در نظر گرفته شده است ذخیره کنید .برای
این کار Project| Schedule| Set Baseline| Set Baselineرا اجرا کنید تا کادر محاوره شکل 17-1باز شود.
اولین تنظ یم این است که مشخص کنید برنامه باید به عنوان خط مبنا ذخیره شود یا .Interim Planاگر گزینه
Baselineرا انتخاب کنید ،می توانید در کادر بازشوی زیر آن ،یکی از یازده خط مبنای موجود را برای ذخیره
سازی تعیین کنید .به این ترتیب اطالعات برنامه فعلی در خط مبنای مشخص شده کپی خواهد شد .اگر بعد از
ذخیره سازی خط مبنا دوباره به کادر محاوره بازگردید ،در مقابل خطمبنایی که قبال ذخیره کردهاید ،تاریخ
ذخیره سازی نمایش داده خواهد شد (شکل .)17-2
برای ذخیره ،Interim Planگزینه Set Interim Planرا انتخاب کنید .بعد از آن میتوانید فیلدهای مبدا و مقصد
را مشخص کنید .فیلدهای مبدا از این قرارند:
انعطافپذیری بیشتری که در این مورد و جود دارد ،کاربردهای زیادی دارد .به عنوان مثال اگر خط مبنایی
قدیمی وجود داشته باشد که قصد بازنویسی آن را داشته باشید ،میتوانید پیش از بازنویسی اطالعات آن را به
طور محدود به یک Interim Planمنتقل کنید تا اگر در آینده الزم بود ،به کار گرفته شود.
در میانه کادر ،دو گزینه Entire Projectو Selected Tasksوجود دارد .اگر گزینه اول را انتخاب کنید ،کل
فعالیتها کپی میشوند .اگر مایل باشید تعداد محدودی از فعالیتها را ذخیره یا بازنویسی کنید ،باید پیش از باز
کردن کادر محاوره ،آنها را انتخاب و در این مرحله گزینه Selected Tasksرا فعال کنید.
پس از مشخص کردن تنظیمها ،روی OKکلیک کنید تا اطالعات ذخیره شوند.
گاهی الزم است که اطالعات خط مبنا یا Interim Planرا بهروز کنید .به عنوان مثال فرض کنید قصد بازنویسی
برنامه را ندارید ،ولی به هر دلیل ،الزم است که یکی از فعالیتها را حذف کنید .با توجه به اینکه اطالعات خط
مبنا و Interim Planمحاسباتی نیستند ،در این شرایط خالصه فعالیتهای فعالیت یا فعالیتهایی که حذف
شده اند ،مقادیر نادرستی را نشان خواهند داد .ممکن است به جای حذف فعالیت ،تغییراتی در آن داده باشید و
به هر دلیل مایل باشید که تغییرات در خط مبنا نیز اعمال شود .در چنین شرایطی میتوانید فقط فعالیتهایی
که تغییر کردهاند را در خط مبنا بهروز کنید.
میتوانید برای بهروز سازی موضعی خط مبنا و ،Interim Planکار را دستی یا با ابزارهای مخصوص این کار
انجام دهید .برای بهروز سازی خودکار ،فعالیتهایی که قرار است بهروز شوند را انتخاب کردهProject| ،
Schedule| Set Baseline| Set Baselineرا اجرا کنید .در کادر محاوره ذخیره خط مبنا ،خط مبنا یا Interim
Planمورد نظر خود را انتخاب کنید .بعد از آن روی OKکلیک کنید تا اطالعات جدید جایگزین شوند.
در زمان بهروز سازی موضعی ،با انتخاب گزینه ، Selected Taskدو گزینه جدید نیز در اختیارتان قرار خواهند
گرفت .اولین مسئله ای که مطرح است ،این است که با تغییر دادن یک یا چند فعالیت ،تمام خالصه فعالیتهایی
که به طور مستقیم یا غیر مستقیم به آنها مربوط می شوند نیز باید اصالح شوند .اگر مایل نیستید که خالصه
فعالیتهای مربوط به آنها اصالح شوند ،گزینه To all summary tasksرا غیر فعال و در غیر این صورت فعال
کنید .توجه داشته باشید که فیلدهای خط مبنا و Interim Planمحاسبانی نیستند و بدون فعال بودن این گزینه
به طور خودکار اصالح نخواهند شد.
گزینه گفته شده ،تمام خالصه فعالیتهای برنامه را بر اساس فعالیتها و خالصه فعالیتهای بهروز شده اصالح
میکند .اگر گزینه دوم From subtasks into selected summary task(s) ،را انتخاب کنید ،خالصه فعالیتهایی
که برای بهروز شدن انتخاب شدهاند بر اساس زیرمجموعههایشان (که میتوانند انتخاب نشده باشند) اصالح
خواهند شد.
کنترل خط مبنا
همانطور که در ابتدا نیز توضیح داده شد ،خط مبناها و Interim Planها برای محاسبات کنترل پروژه به کار
میروند .این مسایل در فصلهای بعد توضیح داده میشوند .اگر مایل باشید مقدارهای ذخیره شده در خطهای
مبنا و Interim Planها را کنترل کنید ،میتوانید از راههایی که در این قسمت توضیح داده میشود استفاده
کنید.
اولین راه ،اضافه کردن فیلدهای آنها به جدولها است .راه دوم ،نمایش آنها در نمودارهایی مانند نمودار گانت
است.
برای نمایش آنها در نمودار هم می توانید عناصر تصویری جدید را به طور دستی بسازید و هم میتوانید از
گزینههای سریعی که برای این کار وجود دارد استفاده کنید .برای این کار روی Format| Bar Styles| Baseline
کلیک کرده ،خط مبنایی که قصد دارید نمایش داده شود را انتخاب کنید.
|Project| Schedule| Set Baseline اگر به هر دلیلی الزم است که یک خط مبنا یا Interim Planرا پاک کنید،
Clear Baselineرا اجرا کنید تا کادر محاوره شکل 17-3باز شود.
در باالی کادر محاوره گزینههایی برای انتخاب خط مبنا یا Interim Planوجود دارد .بعد از انتخاب یکی از
گزینههای گفته شده ،لیست خط مبناها یا Interim Planها در کادر بازشو قابل دسترسی خواهد بود و میتوانید
آنچه قرار است پاک شود را انتخاب کنید.
پیش از کلیک کردن ،OKیکی از دو گزینه Entire Projectیا Selected tasksرا انتخاب کنید تا مشخص شود
که باید تمام اطالعات پاک شوند یا تنها اطالعات فعالیت هایی خاص .اگر بخواهید گزینه دوم را انتخاب کنید،
باید پیش از مراجعه به کادر محاوره فعالیتهای مورد نظر خود را انتخاب کرده باشید.
نیاز به توضیح نیست که می توانید اطالعات را به طور دستی نیز پاک کنید .در این حالت باید توجه کنید که
تمام اطالعات پاک شوند.
نمایش خط مبنا
میتوانید برای نمایش خط مبنا میلههای جدیدی با تنظیمهای مناسب که در فصل 25توضیح داده شده است
به نمودار گانت اضافه کنید .عالوه بر آن میتوانید روی Format| Bar Styles| Baselineکلیک کنید تا منویی از
خطوط مبنا باز شود .هر خط مبنایی که مایل باشید را میتوانید انتخاب کنید تا در کنار زمانبندی جاری در
نمودار گانت نشان داده شود (شکل .)17-4
در شکل قبل خط مبنای هر فعالیت با میلهای باریکتر همراه با زمانبندی جاری نمایش داده شده است .در این
مثال زمانبندی جاری جلوتر از برنامهریزی اولیه است.
کنترل انحرافها
میتوانید فیلدهای Finish Varianceو Start Varianceرا به جدول اضافه کنید .این دو فیلد انحراف زمانبندی
جاری و خط مبنا را نشان میدهند.
راه اصولی و رایج برای کنترل تاخیر این است که خط مبنای مناسبی ذخیره کرده باشید و تاخیر پروژه را از
فیلد Finish Varianceخالصه فعالیت پروژه بخوانید .البته در نظر داشته باشید که مدت زمانی که در این فیلد
نمایش داده میشود مانند تمام مدت زمان های دیگر ،مدت زمان کاری است ،نه مدت زمان تقویمی .این در
حالی است که در پروژهها بیشتر به تاخیر تقویمی توجه میشود .اگر نیاز به تاخیر تقویمی داشته باشید
میتوانید یک فیلد اختصاصی برای این کار در نظر بگیرید و با نوشتن فرمولی مناسب ،مطابق با توضیحات فصل
،18تاخیر تقویمی را با مقایسه زمانبندی جاری و خط مبنا محاسبه و ارائه کنید.
اکثر محاسبات تحلیل ارزش کسب شده نیاز به مقادیر خط مبنا دارند .خط مبنای پیشفرضی که برای این
محاسبات به کار میرود Baselineاست ،ولی اگر مایل باشید میتوانید به جای آن از Baseline1یا یکی دیگر از
خطوط مبنا استفاده کنید .این تنظیم را هرگاه که مایل باشید میتوانید تغییر دهید.
برای تعیین خط مبنای تحلیل ارزش کسب شده به File| Options| Advancedبروید و خط مبنای دلخواه خود
را در کادر بازشوی Baseline for Earned Value Calculationانتخاب کنید (شکل .)17-5
محاسبات تحلیل ارزش کسب شده در فصلهای 21و 21توضیح داده شدهاند.
Projectانبوهی از امکانات را در اختیار کاربر میگذارد ،با این حال ممکن است نیازهای خاصی داشته باشید که
در آن پیشبینی نشده باشد .به همین خاطر دو امکان در نرمافزار گنجانده شده است؛ یک امکان فرمولنویسی و
تنظیم فیلدهای اختصاصی است که در این فصل توضیح داده میشود و دیگری امکان برنامهنویسی VBAاست
که در این کتاب پوشش داده نمیشود و به طور کامل در کتاب راهنمای جامع برنامهنویسی VBAدر Microsoft
،Projectترجمه این نگارنده و منتشر شده از سوی انتشارات دیباگران تهران توضیح داده شده است.
هر فیلد می تواند نوع خاصی از اطالعات را در خود ذخیره کند .به عنوان مثال ،فیلد Durationمدت زمان ،فیلد
Startتاریخ ،فیلد Costمقدارهای مالی و فیلد Workنفر.روز را ذخیره میکنند .نوع داده فیلدهای اختصاصی
قابل ت عریف نیست ،در عوض هر کدام از فیلدهای اختصاصی نوع داده خاصی را میپذیرد و به جای تعریف نوع
داده ،باید فیلد اختصاصی مناسبی را انتخاب کنید.
فیلدهای اختصاصی Projectو نوع داده هرکدام ،از این قرار است:
Finish1تا :Finish10تاریخ (نوع داده این فیلدها تفاوتی با فیلدهای DateXندارد و تفاوت نام آنها
برای ایجاد تمایز بین انواع تاریخ است .از این فیلدها برای ذخیره Interim Planها نیز استفاده میشود
و باید توجه داشته باشید که در صورت استفاده از این قابلیت ،نباید از این فیلدها برای منظور دیگری
استفاده کنید)
Flag1تا :Flag20مقادیر بولی (معموال از این نوع داده برای عالمت زدن استفاده میشود)
Outline Code1تا :Outline Code10ساختارهای شکست (توضیحات بیشتر در فصل )14
Interim Start1تا :Start10تاریخ (معموال برای ذخیرهسازی تاریخهای شروع استفاده میشود.
Planها نیز در این فیلدها ذخیره میشوند)
توجه داشته باشید که تعداد هر نوع فیلد محدود است ،به همین خاطر ممکن است در برخی کاربردها دچار
مشکل شوید .ب ه عنوان مثال ،اگر محاسبات برنامه زیاد باشد ،ممکن است 21فیلد عددی برایتان کافی نباشد.
در چنین مواقعی باید از ابتدا برنامهریزی مناسبی کنید و در صورت امکان برخی اطالعاتی که با نوعی غیر از
عدد نیز قابل ثبت هستند را در فیلدهای دیگر قرار دهید .به عنوان مثال ،اگر قرار نیست از مجموعهای
خروجی های عددی استفاده محاسباتی کنید (آخرین نتیجه محاسبات هستند) و کمبود فیلدهای عددی دارید،
میتوانید آن دسته را در فیلدهای متن ذخیره کنید.
همانطور که دیده میشود ،به ازای تمام انواع دادههای ،Projectفیلد اختصاصی وجود ندارد .درصد و نفر.روز
نمونههایی از این نوع داده ها هستند .اگر نیاز به کار با این نوع دادهها دارید ،باید آنها را در فیلدی با نوع داده
دیگر که با آن سازگار باشد و محاسبات را دچار مشکل نکند ذخیره کنید.
محاسباتی یا غیر محاسباتی بودن :برخی فیلدها محاسباتی هستند ،در حالی که برخی دیگر
مقدارهایی که کاربر وارد میکند را نشان میدهند .فیلدهای اختصاصی میتوانند هر دو حالت را
داشته باشند.
ارتباط با سایر فیلدها :اکثر فیلدها با یکدیگر ارتباط دارند؛ به این معنی که اگر یکی از آنها را
تغییر دهید ،ممکن است برخی فیلدهای دیگر نیز تغییر کنند .فیلدهای اختصاصی میتوانند ارتباطی
با فیلدهای دیگر نداشته باشند ،ولی اگر آنها را محاسباتی کنید ،میتوانند بر اساس فیلدهای دیگر
مقدار بگیرند .توجه داشته باشید که در این حالت ارتباط یک طرفه است ،یعنی فیلدهای اختصاصی
میتوانند بر اساس سایر فیلدها تغییر کنند ،ولی عکس آن ممکن نیست .برای آنچه گفته شد
تبصرهای میتوان قایل شد ،که در ادامه توضیح داده خواهد شد.
زمانمند بودن :بعضی فیلدها عالوه بر نوع معمولی ،نوع زمانمند نیز دارند .با این حال متاسفانه
هیچکدام از فیلدهای اختصاصی قابلیت زمانمند شدن ندارند.
محاسباتی و دستی بودن همزمان :برخی فیلدها هم محاسباتی هستند و هم میتوان مقدارهای
آنها را به طور دستی وارد کرد .فیلدهای اختصاصی چنین قابلیتی ندارند.
پیش از این گفته شد که فیلدهای اختصاصی به خودی خود در Projectاستفاده نمیشوند و در نتیجه کاربرد
آنها را فقط کاربر تعیین میکند .با این حال ،باید این موارد استثنا را در نظر داشت:
Interim Planها :در نسخههای قدیمی Projectفقط یک خط مبنا وجود داشت ،در نتیجه اگر
کاربری نیاز به ثبت بیش از یک برنامه اولیه داشت ،مجبور بود که از Interim Planها استفاده کند .هر
Interim Planبرای ذخیره اطالعات خود از تعدادی فیلد اختصاصی استفاده میکند .حداکثر ده
Interim Planمیتوان ذخیره کرد که در این حالت برنامه شماره nدر فیلدهای Startnو Finishn
ذخیره میشوند.
Add- برنامههای جانبی Project :قابلیت استفاده از Plug-inیا Add-inرا دارد .منظور از Plug-inیا
،inبرنامههایی است که افراد یا شرکتهای دیگر تهیه کردهاند و قابلیتهای جدیدی را به نرمافزار
اضافه میکنند .این نرمافزارها در نسخه 2113عمدتا Appنامیده میشوند .برخی از این برنامهها از
برخی فیلدهای اختصاصی نیز استفاده میکنند.
در نسخههای قدیمی Projectقابلیت محدودی برای تحلیل پرت نیز وجود داشت که برای کار از برخی فیلدهای
اختصاصی استفاده میکند .این قابلیت در نسخه 2111حذف شد.
اگر از هرکدام از موارد گفته شده استفاده می کنید ،باید دقت کنید که از فیلدهای مورد نیاز آن مورد یا موارد
برای منظور دیگری استفاده نکنید ،چون در این حالت اطالعات مورد نیاز یک بخش توسط بخش دیگر
بازنویسی شده ،عملکرد برنامه دچار مشکل خواهد شد.
اولین قدم برای استفاده از فیلدهای اختصاصی ،اضافه کردن آنها به جدول است .البته این کار اجباری نیست،
ولی چون معموال نیاز به وارد کردن اطالعات یا مرور آنها هست ،فیلد را به جدول اضافه میکنند.
اگر قصد دارید از فیلد فقط برای ذخیرهسازی مقادیر استفاده کنید ،میتوانید هیچ تنظیم اضافهای انجام ندهید؛
ولی توجه داشته باشید که در این حالت هم بهتر است که نام فیلد را تغییر دهید تا مشخص شود که فیلد
اشغال شده است و کاربرد آن نیز مشخص شود.
برای تنظیم فیلد ،روی عنوان آن کلیک راست کرده ،از منویی که باز میشود Customize Fieldرا انتخاب
کنید .با این کار کادر محاوره شکل 18-1باز خواهد شد.
قسمت باالی کادر که Fieldنام دارد ،برای انتخاب فیلد است .در باال دو گزینه برای مشخص کردن فیلدهای
مربوط به فعالیتها و منابع وجود دارد ،زیرا عملکرد فیلدها در قبال فعالیتها و منابع جداگانه و مستقل تعریف
میشود .گزینه سوم که Projectنام دارد ،برای کارهای سازمانی است و در این کتاب بررسی نمیشود .در سمت
راست کادر بازشویی به نام Typeقرار دارد که برای انتخاب نوع فیلد است .پس از تعیین گزینهها ،فیلدهای
مربوطه در لیست نمایش داده می شوند .فیلد مورد نظر خود را در این مرحله انتخاب کنید .تنظیمها فقط به
فیلدی که در این مرحله انتخاب کردهاید اعمال خواهند شد .توجه کنید که اگر فیلد را به جدول اضافه کرده
باشید و بعد از آن ،گزینه Customize Fieldsرا از منوی میانبری که با کلیک راست روی عنوان آن باز میشود
انتخاب کرده باشید ،فیلد مورد نظر به طور خودکار در لیست انتخاب خواهد شد.
دکمه :Renameروی این دکمه کلیک کنید تا کادر محاورهای باز شود و نام فیلد را از شما دریافت
کند .پس از این ،فیلد هم با نام جدید و هم با نام قدیم شناخته میشود و با هر دو نام میتوانید به آن
ارجاع دهید .توجه داشته باشید که اگر در برنامه از فیلدهای اختصاصی متعددی استفاده میکنید،
بهتر است که به تمام آنها نامهای مناسبی اختصاص دهید تا با مرور زمان دچار سردرگمی نشوید.
دکمه :Deleteپیش از این بارها توضیح داده شد که فیلدهای Projectقابل حذف نیستند .وقتی روی
این دکمه کلیک کنید ،اطالعات اختصاصیسازی فیلد پاک میشوند و به هر حال فیلد از بین نخواهد
رفت.
دکمه :Import Fieldاین دکمه برای وارد کردن تنظیمها از پروژهای دیگر است .عملکرد این دکمه و
دکمههای مشابه در فصل 23توضیح داده شده است.
:Calculation for task and group summary rowsاین قسمت عملکرد فیلد را در آیتمهای
خالصهساز ،یعنی خالصه فعالیتها و سرفصلهای دستهبندی ،مشخص میکند.
:Calculation for assignment rowsاین قسمت برای تعیین عملکرد فیلد در مورد تخصیصهایی
که در نماهای Task Usageو Resource Usageوجود دارند به کار میرود.
:Values to displayاین قسمت شیوه نمایش اطالعات فیلد را تعیین میکند.
:Noneاگر این گزینه را انتخاب کرده باشید ،فیلد غیر محاسباتی خواهد بود .در این حالت مقدار فیلد
در مورد تمام فعالیتها (و نه خالصه فعالیتها) و منابع باید به طور دستی وارد شود .این گزینه برای
Outline Codeها قابل استفاده نیست ،زیرا طراحی این نوع فیلد برای این است که با تعریف سطوح و
جدول مقادیر قابل مقدار دهی باشد.
:Lookupاگر این گزینه را انتخاب کنید ،میتوانید قالببندی مقدارهای ورودی یا جدول مقادیر مجاز
را تعریف کنید .در این حالت نیز مقادیر محاسباتی نخواهند بود ،ولی هر مقداری مجاز نخواهد بود.
این گزینه برای Flagها قابل استفاده نیست ،زیرا این نوع فیلد فقط دو مقدار Yesو Noرا میپذیرد و
تعریف قالب ورودی یا جدول مقادیر مجاز برای آن معنایی نخواهد داشت.
:Formulaاگر این گزینه را انتخاب کنید ،میتوانید فرمولی برای محاسبه مقادیر وارد کنید .در این
Outline حالت فیلد محاسباتی به شمار میرود و مقادیر آن به طور دستی وارد نخواهند شد .فیلدهای
Codeچنین گزینهای ندارند و مقدارهای آنها اجبارا به طور دستی وارد میشوند.
فراموش نکنید که گزینههای قسمت قبل برای تعیین عملکرد فیلد در فعالیتها و منابع است و خالصهفعالیتها
و سرفصلهای گروهبندی را شامل نمیشود .این تنظیمها در گزینههای قسمت دوم ،یعنی Calculation for
task and group summary rowsقرار دارند و به شرح زیر میباشند:
:Noneعملکرد این گزینه مانند گزینه مشابهش در قسمت قبل است .اگر انتخاب شده باشد ،خالصه
فعالیتها و سرفصلهای گروهبندی دستی مقدار خواهند گرفت .این گزینه برای Outline Codeها
قابل استفاده نیست.
:Rollupاین گزینه کاربرد فراوانی دارد و بدون وجود آن انجام بسیاری از کارها ممکن نخواهد بود .در
واقع ،این قسمت از کادر محاوره برای تعیین عملکرد آیتمهایی است که اطالعات را خالصهسازی
میکنند و این گزینه نیز برای تعریف چگونگی خالصهسازی طراحی شده است .وقتی آن را انتخاب
کنید میتوانید یکی از انواع شیوههای خالصهسازی را مشخص کنید .فیلدهای Outline Codeو Text
قابل خالصهسازی نیستند و سایر فیلدها هرکدام دارای چند گزینه از انواع گزینههای خالصهسازی زیر
هستند:
خالصهسازی میشوند ،ولی تفاوت آنها را به نوعی میتوان در ضریب وزنی آنها در نظر
گرفت.
:Maximumماکزیمم مقادیر اولین سطح است ،که برابر با ماکزیمم تمام آیتمهای غیر o
خالصهساز زیرمجموعه نیز هست.
:Minimumمینیمم اولین سطح است ،که برابر با مینیمم تمام آیتمهای غیر خالصهساز o
زیرمجوعه نیز هست.
:Sum oمجموع آیتمهای اولین سطح را نتیجه میدهد .این مقدار برابر با مجموع تمام
آیتمهای غیر خالصه سازی است که به طور مستقیم یا غیر مستقیم زیرمجموعه خالصهساز
قرار دارند.
:Orبرابر با ترکیب فصلی آیتمهای اولین سطح است .این مقدار با ترکیب فصلی تمام o
آیتمهای غیر خالصهساز زیر مجموعه نیز برابر است .ترکیب فصلی برای مقادیر بولی (درست
و نادرست) به کار میرود و زمانی مقدار درست را نتیجه میدهد که حداقل یکی از
ورودیهایش درست باشد.
:Andترکیب عطفی آیتمهای اولین سطح است .این مقدار با ترکیب عطفی تمام آیتمهای o
غیر خالصهساز زیرمجموعه نیز برابر است .ترکیب فصلی نیز برای مقادیر بولی به کار میرود
و فقط زمانی خروجی درست خواهد بود که همه ورودیها درست باشند.
:Count Allتعداد تمام آیتمهای خالصهساز یا غیر خالصهسازی که به طور مستقیم یا غیر o
مستقیم زیرمجموعه خالصهساز اصلی هستند را نشان میدهد.
:Count first sublevelتعداد آیتمهای خالصهساز یا غیر خالصهسازی که در اولین سطح o
زیرمجموعه خالصهساز اصل هستند را نشان میدهد.
:Use Formulaاین گزینه زمانی فعال است که برای قسمت قبل ) (custom attributesنیز از گزینه
Formulaاستفاده کرده باشید .در این حالت مقدار خالصه فعالیتها و سرفصلهای گروهبندی نیز بر
اساس همان فرمول قبلی محاسبه میشوند .اگر از نوع دادهای استفاده کنید که قابل خالصهسازی
نباشد یا گزینه خالصهسازی مناسبی برای آن وجود نداشته باشد ،میتوانید فرمول پیچیدهتری وارد
کنید که مقدار خالصه فعالیتها و سرفصلها را نیز آنگونه که مایل هستید خالصهسازی کند .برای
این منظور باید فرمولهایی شرطی بنویسید که برای آیتمهای اصلی و آیتمهای خالصهساز از دو
زیرفرمول جداگانه استفاده کند.
گزینههای قسمت سوم ،یعنی Calculation for assignment rowsاز این قرارند:
:Noneاگر این گزینه را انتخاب کنید ،فیلد در مورد تخصیصها دستی مقدار خواهد گرفت.
:Roll down unless manually enteredاگر این گزینه را انتخاب کنید ،ردیفهای مربوط به
تخصیص ها به طور خودکار بر اساس مقدارهای فعالیت یا منبع مربوطه مقدار میگیرند .در عین حال
اگر مایل باشید می توانید مقدارهای دیگری را به طور دستی وارد کنید تا جایگزین آنها شوند.
مقداری که به تخصیصها داده میشود معموال برابر با مقدار فعالیت یا منبع است.
:Dataاگر این گزینه انتخاب شده باشد ،مقدارِ سلولها نمایش داده میشود.
:Graphical Indicatorsاگر این گزینه را انتخاب کنید ،به جای مقادیر ،عالمتهایی نمایش داده
میشوند که وابسته به مقادیر هستند و نوع وابستگیشان هم قابل تعریف است.
یکی از گزینههای قسمت ، Custom Attributesاین است که مقدارها از جدول خوانده شوند .برای این کار باید
روی دکمه Lookupکلیک کنید تا کادر محاوره شکل 18-2باز شود.
توجه داشته باشید که این کادر محاوره در مورد کدهای ساختاری (Outline Codeها) تنظیمهای بیشتری دارد.
این مسئله در فصل 14توضیح داده شده و در این فصل کادر محاوره مربوط به سایر فیلدها توضیح داده
میشود .تفاوت کدهای ساختاری با سایر فیلدها در این است که کدهای ساختاری میتوانند چندین سطح
داشته باشند ،در حالی که سایر فیلدها تک سطحی هستند.
در باالی جدول لیستی از مقادیر وجود دارد .مقدارهای مورد نظر خود را در آن وارد کنید (شکل .)18-3
مقادیر با همان ترتیبی که در جدول وارد شده باشند در کادرهای بازشو نمایش داده میشوند .به همین خاطر
بهتر است که ترتیب مناسبی برای آن ها در نظر بگیرید .اگر بعد از وارد کردن مقادیر مایل به تغییر دادن ترتیب
آنها باشید ،باید گزینه مورد نظر خود را انتخاب کرده ،روی فلشهای باال و پایینی که در سمت راست قرار
دارند کلیک کنید.
معموال برای مشخص کردن مقادیر از عبارتهای کوتاه استفاده میکنند .اگر عبارتها نیاز به شرح داشته باشند،
میتوانید شرح مورد نظر خود را در ستون Descriptionوارد کنید .در نسخههای قبل از 2117در زمان
گروهبندی برای سرفصلها به جای نام (ستون )Valueاز شرحی که در ستون Descriptionوارد شده بود
استفاده میشد ،مگر اینکه شرحی وارد نشده باشد .با این حال نسخه 2117و 2111در این شرایط از شرح
استفاده نمیکند.
گزینه Display indenting in lookup tableتنها در مورد Outline Codeها فعال میشود.
اگر مایل باشید می توانید یکی از مقدارهای وارد شده در جدول را به عنوان پیشفرض انتخاب کنید .در این
حالت تمام آیتمها به طور پیش فرض همان مقدار را خواهند داشت ،مگر اینکه آن را تغییر دهید .برای فعال
کردن این سیستم ،گزینه Use a value from the table as the default entry for the fieldرا فعال کنید .بعد
از آن مقداری که قرار است پیشفرض باشد را انتخاب کرده ،روی Set Defaultکلیک کنید.
همانطور که گفته شد ،مقدارهای جدول به طور پیشفرض بر اساس ترتیبی که در لیست دارند در کادرهای
بازشو نمایش داده میشوند .می توانید مقدارها را به طور دستی جابجا کنید تا ترتیب مناسبی داشته باشند.
عالوه بر آن ،اگر الزم باشد که آیتمها را بر اساس حروف الفبا مرتب کنید ،میتوانید از قسمت Display order
کادر محاوره استفاده کنید .برای این کار روی عالمت +کنار این قسمت کلیک کنید تا باز شود (شکل .)18-4
یکی از گزینههای Sort ascendingیا Sort descendingرا انتخاب کرده ،روی دکمه Sortکلیک کنید تا ترتیب
آیتم ها بر حسب حروف الفبا به طور صعودی یا نزولی ،مرتب شود .این کار به طور خودکار انجام نمیشود و
هرگاه که الزم باشد باید گزینه را انتخاب کرده ،روی Sortکلیک کنید.
در پایین کادر محاوره قسمت دیگری به نام Data entry optionsوجود دارد .وقتی آن را باز کنید ،دو گزینه
دیگر در اختیارتان قرار خواهد گرفت (شکل .)18-5
اگر گزینه اول غیر فعال باشد ،کاربر قادر به وارد کردن مقداری جز آنچه در جدول وجود دارد ،نخواهد بود .اگر
آن را فعال کنید ،چنین مقدارهایی نیز پذیرفته میشوند و بعد از آن در جدول نیز اضافه خواهند شد.
پس از خارج شدن از کادر محاوره میتوانید به فیلد مقدار دهید .میتوانید مقدارهای مورد نظر خود را در فیلد
تایپ کنید ،که در این صورت اگر مقدار در جدول وجود داشته باشد ،پذیرفته میشود .اگر مقدار در جدول
نباشد و گزینه مربوط به دریافت مقدارهای جدید فعال شده باشد ،مقدار پذیرفته شده ،در جدول نیز قرار
میگیرد .اگر گزینه گفته شده فعال نباشد ،پیغام خطا داده میشود و مقدار پذیرفته نخواهد شد.
به جای تایپ کردن مقدار ،می توانید روی فلش کوچکی که سمت راست فیلد قرار دارد کلیک کنید تا لیست
مقادیر مجاز نمایش داده شود (شکل .)18-6
تعریف فرمول
اگر در طراحی فرمول مهارت داشته باشید ،قابلیت های فراوانی در اختیارتان قرار خواهد گرفت .برای تعریف
فرمول کادر محاوره اختصاصیسازی فیلد را باز کرده ،روی دکمه Formulaکلیک کنید .با این کار کادر محاوره
شکل 18-7باز خواهد شد.
فراموش نکنید که فرمولی که به این ترتیب وارد میشود فقط به منابع یا فعالیتها اعمال میشود؛ اگر مایل
هستید که خالصهفعالیتها و سرفصلهای گروه بندی نیز از همان فرمول استفاده کنند ،باید گزینه Use
Formulaرا هم انتخاب کنید.
مقادیر :مقادیر میتوانند به طور دستی وارد شوند (اعداد ،متنها و مقدارهای بولی) یا از مقدارهای
فیلدها استخراج شوند .محدودیتی که در این کار وجود دارد این است که فرمول تعریف شده در هر
آیتم فقط میتواند به سایر فیلدهای همان آیتم ارجاع دهد .تنها استثنایی که وجود دارد ،برخی
فیلدهای خالصه فعالیت پروژه هستند که در دسترس تمام رکوردها هستند.
عملگرها و توابع :عملگرها و توابع چگونگی ترکیب مقادیر را مشخص میکنند.
تمام محتوای گفته شده را میتوان تایپ کرد یا به جای تایپ از دکمههایی که برای درج آنها وجود دارد
استفاده کرد .برای عملگرها دکمههایی در میانه کادر وجود دارد .توابع در Functionقرار دارند و فیلدها نیز از
طریق Fieldقابل دسترسی هستند.
برای تعریف شیوه نمایش گرافیکی ،گزینه Graphical Indicatorsرا انتخاب کنید تا کادر محاوره شکل 18-8
باز شود.
برای مشخص کردن هریک از آنها ،گزینه مربوطه را در باالی کادر انتخاب کرده ،تنظیمها را انجام دهید .اگر
قصد ندارید سه شیوه نمایش مختلف تعریف کنید ،گزینههای Summary Rows inherit criteria from
nonsummary rowsو Project summary inherits criteria from summary rowsرا فعال کنید.
اگر گزینه Show data value in tooltipفعال باشد ،وقتی کاربر اشارهگر ماوس را روی فیلد نگه دارد ،مقدار در
کادر کوچکی نمایش داده خواهد شد.
شیوه نمایش در لیست مشخص میشود .برای این کار باید شرایط مختلف و آیکونهایی که در هرکدام از
حالتها نمایش داده میشوند را مشخص کنید .اولین ستون برای مشخص کردن عملگرِ شرط است .شکل 18-9
عملگرهای موجود را نشان میدهد.
برای مشخص کردن مقدار میتوانید آن را تایپ کنید .در صورت لزوم میتوانید به جای تایپِ مقدارِ ثابت ،فیلدی
را معرفی کنید تا مقدارِ آن برای سنجش به کار رود .برای این کار روی فلش کوچک سمت راست فیلد کلیک
کنید (شکل .)18-11
توجه داشته باشید که این حالت مقدار فیلد اختصاصی هر آیتم با فیلدهای همان آیتم سنجیده میشود .به
عنوان مثال ،اگر قصد داشته باشید فیلدی تعریف کنید که تاثیر گرفتنِ آیتمها را از تسطیح نشان دهد ،به
ترتیب زیر عمل کنید:
چون نتیجه از نوع درست/نادرست (بولی) است ،میتوانیم از فیلدهای Flagاستفاده کنیم .به عنوان مثال فیلد
Flag1را برای این کار در نظر خواهیم گرفت .فیلد را به جدول اضافه کرده ،کادر محاوره تنظیم فیلدهای
اختصاصی را باز کنید .به آن نام مناسبی مانند Leveledبدهید (شکل .)18-11
در این فرمول تاریخهای شروع و پایان با تاریخهای شروع و پایان پیش از تسطیح مقایسه میشوند؛ اگر حداقل
یکی از دو تاریخ تغییر کرده باشد ،نتیجه Yesو در غیر این صورت Noخواهد بود.
گزینه Use Formulaرا فعال کنید تا از همین فرمول برای خالصهفعالیتها و سرفصلهای گروهبندی نیز
استفاده شود .نتیجه فرمول را کنترل کنید (شکل .)18-13
اکنون به کادر محاوره تنظیم فیلد اختصاصی بازگردید تا شیوه نمایش گرافیکی آن را تنظیم کنیم .برای این کار
روی Graphical Indicatorsکلیک کنید .دو گزینه باالی کادر را فعال کنید تا برای خالصه فعالیتها و خالصه
فعالیت پروژه نیز از تنظیمهایی مشابه فعالیتها استفاده شود .شکل 18-14تنظیمها را نشان میدهد.
اکنون تمام آیتمهایی که زمانبندی آن ها بر اثر تسطیح منابع به طور مستقیم یا غیر مستقیم تغییر کرده باشد،
با عالمتی مشخص خواهند شد (شکل .)18-15
توابع
Excel توابع فراوانی در Projectتعریف شده است؛ برخی از این توابع ،عمومی هستند و در سایر برنامهها ،مانند
نیز کمابیش وجود دارند .برخی دیگر از توابع ،خاص Projectهستند و نتایج مفیدی را در اختیار کاربر قرار
میدهند .اگر مایل باشید که فرمولهای پیچیدهای بنویسید ،حتما باید به این توابع مسلط باشید.
تابع :Ascمقداری متنی دریافت میکند و کد اسکیِ اولین حرف آن را بازمیگرداند.
تابع :CBoolمقدار عددی یا متنی ورودی را به مقدار بولی تبدیل میکند.
تابع :CByteمقدار عددی ورودی را به نوع ( byteاعداد صحیح بین 1و )255تبدیل میکند.
تابع :Chooseورودی اول شماره ردیف و ورودیهای بعدی مقادیر هستند .مقدارِ متناظر با شماره
خروجی تابع خواهد بود.
تابع :Cosکسینوس ورودی را نتیجه میدهد .ورودی بر حسب رادیان فرض میشود.
تابع :DateAddاین تابع سه ورودی دارد .ورودی اول واحد زمان (مانند روز) ،ورودی دوم تعداد مدت
زمان (مانند )5و ورودی سوم تاریخ مبدا را دریافت میکند .خروجی تاریخی است که به اندازه زمان
مشخص شده بعد از تاریخ مبدا باشد .میتوانید برای مقدار از اعداد منفی استفاده کنید تا تاریخهای
قبل از مبدا به دست آیند.
تابع :DateDiffورودی اول واحد زمان و ورودیهای دوم و سوم تاریخ هستند .نتیجه اختالف بین دو
تاریخ است که بر اساس واحدِ مشخص شده تعیین میشود .میتوانید در ورودیهای اختیاریِ چهارم و
پنجم به ترت یب اولین روز هفته و اولین هفته سال را مشخص کنید .انواع واحدهای زمانی که در این
تابع و توابع مشابه به کار میرود از این قرارند:
:yyyy oسال
:q oفصل
:m oماه
:d oروز
:wwهفته o
:h oساعت
:n oدقیقه
:s oثانیه
تابع :DateSerialسال ،ماه و روز را دریافت کرده ،شماره سریال متناظر با آن تاریخ را نتیجه میدهد.
تابع :DateValueمقدار ورودی که شامل تاریخ یا ترکیب تاریخ و زمان میشود را دریافت کرده،
تاریخ متناظر با آن را نتیجه میدهد.
تابع :Dayتاریخی را دریافت کرده ،روز آن (یعنی روز چندم از ماه) را نتیجه میدهد.
تابع :Hexعددی را در مبنای ده دریافت کرده ،معادل آن را در مبنای شانزده نتیجه میدهد.
تابع :Hourمقداری از نوع زمان را دریافت کرده ،ساعت متناظر با آن را نتیجه میدهد.
تابع :IIFورودی اول مقداری بولی است که اگر درست باشد ،ورودی دوم و در غیر این صورت ورودی
سوم نتیجه خواهد شد.
تابع :InStrمتن ورودی سوم را در متن ورودی دوم و از حرفی که شماره آن در ورودی اختیاری اول
مشخص شده است به بعد جستجو میکند .خروجی ،شماره محل نتیجه است.
تابع :Intبزرگترین عددی صحیح که اعشار نداشته باشد و از ورودی کوچکتر باشد را نتیجه میدهد.
در مورد اعداد مثبت مانند Fixعمل می کند ،ولی برای اعداد منفی ،نتیجه آن یک واحد کوچکتر از
نتیجه Fixاست.
تابع :IsDateتاریخ یا زمان بودن مقدار ورودی را نتیجه میدهد .خروجی از نوع بولی است.
تابع :Leftتعداد حروفی از سمت چپ متن ورودی اول که در ورودی دوم مشخص شده است را
نتیجه میدهد.
تابع :Midتعداد حروفی از متن ورودی اول را نتیجه میدهد که از شماره ورودی دوم آغاز شده و
تعداد آنها به اندازه ورودی سوم باشد.
تابع :Minuteمقداری از نوع زمان دریافت کرده ،دقیقه متناظر با آن (یعنی دقیقه چندم از ساعت) را
نتیجه میدهد.
تابع :Monthتاریخی را دریافت کرده ،ماه متناظر با آن (ماه چندم سال) را نتیجه میدهد.
تابع :Octعددی را در مبنای ده دریافت کرده ،معادل آن را در مبنای هشت نتیجه میدهد.
تابع :ProjDateAddورودی اول ،تاریخ مورد نظر ،ورودی دوم مدت زمانی که باید به آن اضافه شود
و ورودی اختیاری سوم تقویم مبنای محاسبه را مشخص میکند .تابع تاریخی را نتیجه میدهد که
اختالف آن با تاریخ وارد شده ،به اندازه مدت زمان مشخص شده باشد .کاری یا روزشمار بودن مدت
زمان در آن لحاظ شده است.
تابع :ProjDateConvورودی اول مقداری مشخص کننده تاریخ و ورودی اختیاری دوم ،قالببندی
آن است .اگر مقدار دوم را وارد نکنید ،به طور پیشفرض از مقدار PjDateDefaultاستفاده خواهد شد،
و تاریخ با قالببندی مشخص شده در تنظیمهای برنامه که در نماها نیز به کار میرود نتیجه خواهد
شد .در صورت تمایل میتوانید از قالببندیهای زیر نیز استفاده کنید:
9/30/03 مانند:pjDate_mm_dd_yy o
9/30/2003 مانند:pjDate_mm_dd_yyyy o
September 30 مانند:pjDate_mmmm_dd o
Sep 30 مانند:pjDate_mmm_dd o
9/30 مانند:pjDate_mm_dd o
30 مانند:pjDate_dd o
12:33PM مانند:pjDate_hh_mmAM o
تابع :ProjDateDiffاختالف دو تاریخ که در ورودیهای اول و دوم مشخص شده است را بر حسب
تقویمی که در ورودی اختیاری سوم تعیین میشود نتیجه میدهد .نتیجه مدت زمان کاری است.
تابع :ProjDateSubمدت زمانی که در ورودی دوم مشخص شده است را به تاریخ ورودی اول اضافه
کرده ،تاریخ جدید را نتیجه میده د .برای محاسبه از تقویم مشخص شده در ورودی اختیاری سوم
استفاده خواهد شد .کاری یا روزشمار بودن مدت زمان در آن لحاظ میشود.
تابع :ProjDurConvورودی اول مقدار متناظر با مدت زمان و ورودی دوم قالببندی مدت زمان
است .ورودی دوم اختیاری است و اگر آن را وارد نکنید ،از قالببندی پیشفرض که در تنظیمها
مشخص شده است استفاده میشود .سایر گزینهها از این قرارند:
تابع :Rightتعداد حروفی از سمت راست متن ورودی اول که در ورودی دوم مشخص شده است را
نتیجه میدهد.
تابع :Secondثانیه متناظر با زمان وارد شده (ثانیه از دقیقه) را نتیجه میدهد.
تابع :Sgnبرای اعداد بزرگتر از صفر ،مقدار یک ،برای صفر مقدار صفر و برای اعداد کوچکتر از صفر
مقدار منفی یک را نتیجه میدهد.
تابع :Sinسینوس ورودی را نتیجه میدهد .ورودی بر حسب رادیان فرض میشود.
تابع :Spaceمتنی میسازد که دارای تعداد فاصله ) (spaceمشخص شده در ورودی باشد.
تابع :StrCompمتن ورودی اول و دوم را با تنظیمی که در ورودی سوم مشخص شده است با هم
مقایسه میکند.
تابع :StrConvعدد را با قالببندی مشخص شده در ورودی دوم به متن تبدیل میکند.
تابع :Stringحرف مشخص شده در ورودی دوم را به تعدادی که در ورودی اول مشخص شده است
تکرار میکند.
تابع :Switchتعداد دلخواهی ورودیهای دوتایی دریافت میکند .جز اول ورودیهای دوتایی ،شرط و
جز دوم مقدار متناظر با آن است .اولین شرطی که برقرار باشد ،مقدار متناظرش نتیجه خواهد شد.
تابع :Tanتانژانت ورودی را نتیجه میدهد .ورودی بر حسب رادیان فرض میشود.
تابع :Timerتعداد ثانیهای که از بامداد روز جاری گذشته است را نتیجه میدهد.
تابع :TimeSerialساعت ،دقیق و ثانیه را دریافت کرده ،شماره سریال متناظر با آن زمان را نتیجه
میدهد.
تابع :UCaseتمام حروف متن ورودی را به حروف بزرگ تبدیل میکند.
تابع :Valعددی که در قالب متن هست را دریافت کرده ،مقدار عددی متناظر با آن را نتیجه میدهد.
تابع :Weekdayروز هفته متناظر با تاریخ وارد شده را نتیجه میدهد .میتوانید روز شروع کننده
هفته را به عنوان ورودی اختیاری دوم وارد کنید.
در قسمتهای پیش توضیح داده شد که قیدهای معمول در کار برنامهریزی ،معموال با نامهای مخفف خوانده
میشوند؛ این در حالی است که Projectبرای نمایش آنها از نامهای کامل استفاده میکند .اگر قرار باشد قیدها
را در جدول نمایش دهید ،کامل بودن نام آنها باعث می شود که جای زیادی نیاز داشته باشند .به این منظور
میتوانیم فیلدی اختصاصی طراحی کنیم تا نام قیدهای فعالیتها را مخفف شده نمایش دهد.
نکته مهمی که وجود دارد این است که فیلد Constraint Typeبا اینکه متن قیدها را نمایش میدهد ،عمال
شماره آنها را ذخیره میکند و در نتیجه در فیلدهای دیگر نیز شمارههای آن نمایش داده میشوند .فرض کنید
Text2را مساوی Constraint Typeقرار داده باشیم .در این صورت مقدارها به صورت شکل 18-16دیده
خواهند شد.
برای تعریف فرمول ،بهترین راه استفاده از تابع Switchاست ،زیرا پیادهسازی شرطهای متعدد با کمک آن بسیار
راحتتر از IIFاست .شکل 18-17فرمول تعریف شده را نشان میدهد.
اگر برای فعالیتهای مختلف از تقویمهای گوناگون استفاده کنید فیلد Durationخوانایی خود را از دست داده،
مقدارهایی خالف انتظار نتیجه میدهد .شکل 18-19برنامهای را نشان میدهد که تقویم پروژه آن استاندارد و
تقویم یکی از فعالیتهای آن 24 Hoursاست.
در این حالت مدت زمان فعالیت bمقدار 5روز است ،زیرا تنظیمهای Tools| Options| Calendarکه مطابق
تقویم استاندارد هستند اینگونه حکم میکنند .اگر تنظیم های گفته شده را تغییر دهید تا با تقویم 24 Hours
مطابق شوند ،سایر فعالیتهایی که از تقویم استاندارد استفاده میکنند دچار مشکل خواهند شد.
برای رفع مشکل میتوانید از فیلد اختصاصی Duration1با فرمولی که در شکل 18-21دیده میشود استفاده
کنید.
در عین حال باید توجه داشته باشید که این فرمول به اندازه کافی دقیق نیست ،زیرا تعطیلیهای تقویم
استاندارد را از مدت زمان کم میکند .به عنوان مثال ،جواب آن در حالت شکل 18-22مطابق انتظار نیست.
مشکل ایجاد شده به این خاطر است که تمام مدت زمان فعالیت bکه با تقویم 24 Hoursتعریف شده است ،در
روزهای تعطیل قرار دارد و مدت زمان کاری این روزها در تقویم استاندارد ،صفر است.
برای رفع مشکل میتوانیم فیلد دیگری مانند Number1را با فرمول شکل 18-23تنظیم کنیم.
این فیلد تعداد روزها را مستقل از تقویم محاسبه میکند .نکته منفی این فرمول این است که به خاطر در نظر
گرفته نشدن اعشارها ،ممکن است مدت زمان آن تا حداکثر یک واحد با آنچه انتظار داریم تفاوت داشته باشد.
در فیلدهای خط مبنا مقداری برای درصد پیشرفت برنامهریزی شده متناظر با تاریخ روز یا Status Dateوجود
ندارد .اگر نیاز به چنین مقداری داشته باشید ،باید فیلدی اختصاصی برای آن بسازید.
قصد داریم فیلدی اختصاصی تهیه کنیم که میزان پیشرفت زمانی برنامهریزی شده برای خط مبنا را تا تاریخ
Status Dateمحاسبه کند.
برای این کار از فیلدی مانند Number1استفاده خواهیم کرد .شکل 18-26فرمول مناسب را نشان میدهد.
مقدار خالصهفعالیتها باید بر اساس میانگینگیری وزنی زیرمجموعهها انجام شود .برای این کار باید از چند
فیلد کمکی استفاده کرد و محاسبات پیچیدهای انجام داد .در این مثال مقدار خالصهفعالیتها با میانگینگیری
غیر وزنی زیرمجموعهها به دست میآید .این مقدار دقت کامل نخواهد داشت.
توجه داشته باشید که این فرمول زمانی نتیجه مناسب میدهد که تمام فعالیتها از تقویم پروژه استفاده کنند.
اگر اینگونه نباشد ،باید فرمول را اصالح کنید تا به جای ] [Project Calendarاز ] [Task Calendarاستفاده
کند؛ تنها نکته مهمی که وجود دارد این است که اگر برای فعالیت تقویم خاصی مشخص نشده باشد ،به این
معنی که قرار است از تقویم پروژه استفاده کند ،فیلد ] [Task Calendarمقدار Noneرا نتیجه میدهد و فرمول
دچار مشکل میشود .برای تکمیل فرمول باید شرط دیگری اضافه کنید تا چنین مواردی به جای [Task
] Calendarاز ] [Project Calendarاستفاده کند.
می توانید فیلد مشابهی برای محاسبه درصد پیشرفت زمانی بر اساس برنامه فعلی نیز تهیه کنید (شکل .)18-28
بهتر است به فیلدهای نامهای مناسبی دهید تا قابل تشخیص باشند .عالوه بر آن ،میتوانیم نمودار را
اختصاصی سازی کنیم تا مقدارهای پیشرفت را هم نشان دهد .متاسفانه امکان نمایش همزمان چند فیلد در یکی
از قسمت ها وجود ندارد؛ در نتیجه باید برای این کار نیز فیلد اختصاصی دیگری بسازیم .شکل 18-29فیلد
اختصاصی گفته شده را نمایش میدهد.
اکنون می توانید نمودار گانت را تنظیم کنید تا مقدارهای فیلد اختصاصی جدید را نمایش دهد (شکل .)18-31
فرمولهای مثال قبل کمبودهایی داشتند که در این مثال برطرف خواهند شد.
یکی از کمبودها این است که مقدارهای درصد پیشرفت در فیلدهای عددی محاسبه شده و در نتیجه در سمت
راست آنها عالمت درصد وجود ندارد .برای رفع مشکل می توانیم از یک فیلد اختصاصی متنی جهت تکمیل کار
استفاده کنیم .شکل 18-32فرمول مناسب را نشان میدهد.
اکنون میتوانید فیلدهای اضافه را از نما حذف کرده و به فیلدهای جدید نیز نامهای مناسبی اختصاص دهید
(شکل .)18-34
یکی از مشکالت فرمولها ،این بود که برای تمام فعالیتها از تقویم استاندارد استفاده میکردند .میتوان برای
رفع این مشکل از چنین فرمولی استفاده کرد:
در این فرمول عبارت ] [Project Calendarفرمول قبل با فرمول زیر جایگزین شده است:
مشکل دیگر فرمولها ،این بود که برای محاسبه مقدار خالصه فعالیتها ،زیرمجموعهها را میانگینگیری
می کردند .این در حالی است که باید برای این کار از میانگین وزنی زیرمجموعهها استفاده کرد .وزن هر فعالیت،
برابر است با مدت زمان آن .فیلد % Completeنیز از منطق مشابهی استفاده میکند.
برای این محاسبه به سه فیلد دیگر نیاز خواهیم داشت (شکل .)18-35
تمام این فیلدها برای اصالح مقادیر خالصه فعالیتهای ،Number2که مقدار پیشرفت برنامهریزی فعلی را نشان
میدهد در نظر گرفته شدهاند.
فیلد ،Number3مقدار وزنی درصد پیشرفت Number2را محاسبه میکند (شکل .)18-36
مقدار فیلد Number4در مورد فعالیتها ،با Durationبرابر است .مقدار آن در خالصه فعالیتها ،برابر با مجموع
زیرمجموعهها است.
فیلد Number5در مورد فعالیتها ،حاصل تقسیم Number3بر Number4را نشان میدهد (شکل )18-38که
در این مورد برابر با Number2خواهد بود.
به این ترتیب درصد پیشرفت مورد نظر در فیلد Number5دیده خواهد شد .میتوانید در شکلها تفاوت مقدار
صحیح که در Number5قرار دارد را با Number2ببینید .برای Number1نیز روند به همین ترتیب است.
بعد از اینکه برنامه زمانبندی را تکمیل کنید و خط مبنای آن را نیز ذخیره کنید ،نوبت به اجرای پروژه
می رسد .در این مرحله باید اطالعات واقعی پروژه را در هر دوره (مثال انتهای هر ماه) در برنامه ثبت کنید امکان
ارزیابی عملکرد به وجود آید.
شیوه ثبت اطالعات واقعی و به عبارت دیگر بهروزرسانی برنامه زمانبندی تنوع بسیار زیادی دارد و کامال وابسته
به رویکردهای شما در مرحله برنامه ریزی و نیازهای کنترلی است .در این فصل اصول حاکم بر این فرآیند و پنج
شیوه پیشنهادی برای این کار توضیح داده میشود.
اولین نکته ،تعیین دوره کنترل پروژه است .برای این کار قانون خاصی وجود ندارد ،ولی مهمترین عامل ،مدت
پروژه و شیوه توزیع پیشرفت برنامهریزی شده در آن است .حتا میتوانید دو دوره مختلف تعیین کنید که در
دوره کوتاهتر کنترلی خالصهتر و در دوره طوالنی تر به طور کامل انجام شود .به عنوان مثال برای اکثر پروژهها
دورههای هفتگی و ماهانه مناسب است .ممکن است در شرایط خاص مجبور شوید دورهها را کوتاهتر نیز بکنید.
به عنوان مثال ،فرض کنید پروژه در وضعیتی بحرانی قرار گرفته و باید تا دو هفته دیگر پروژه را تکمیل کنید و
در غیر این صورت با جریمههای سنگینی روبرو خواهید شد .در چنین مواقعی ،دوره کنترل پروژه نیز باید کوتاه
شود (مثال یک روز در میان) تا بتواند اشتباهات اجرایی را پیش از اینکه به پروژه صدمه زیادی برسانند مشخص
کند.
باید مراقب باشید که دوره کنترل پروژه زیاد از حد کوتاه نباشد ،زیرا در غیر این صورت هم حجم کار زیاد از حد
افزایش مییابد و هم اینکه نسبت انحرافها و تقریبهای محاسباتی به مقادیر واقعی افزایش مییابد.
انواع فیلدها
فیلدهای فراوانی برای ثبت اطالعات واقعی در Projectوجود دارند .این فیلدها در یکی از سه گروه زیر قرار
میگیرند:
فیلدهای زمان
باید همیشه توجه داشته باشید که ف یلدی که مد نظر دارید در کدامیک از این سه گروه قرار دارد .فیلدها از این
قرارند:
فیلدهای زمان
% Completeزمانمند o
هرکدام از فیلدها بر سایر فیلدهای همگروهِ خود اثر میگذارد .برخی از اثرگذاریها را میتوان با تنظیمهای
برنامه نیز مشخص کرد .هر گروه بر گروههای دیگر نیز تاثیر میگذارد و برای این تاثیرگذاری نیز تنظیمهایی
وجود دارد.
A ارتباط بین فیلدهای زمان و فیلدهای کار دو طرفه است .این ارتباط وابسته به تنظیمی است که در شکل با
نمایش داده شده است .این تنظیم گزینه Updating task status updates resource statusاست که در زبانه
Scheduleکادر محاوره Optionsقرار دارد .اگر گزینه را فعال کنید ،ارتباطی دوطرفه بین این دو گروه برقرار
میشود و اگر آن را غیر فعال کنید ،ارتباط قطع میشود و بهروزرسانیهای هیچکدام بر دیگری اثری نخواهد
داشت.
توجه داشته باشید که کار را معموال تخصیصهای منابع شکل می دهند و به همین خاطر در این گزینه به جای
کار به منبع اشاره شده است .با این حال میتوان کار را مستقل از منبع نیز تعریف کرد .از سوی دیگر ارتباط
گروه زمان و گروه کار دو طرفه است ،در حالی که متن گزینهای که در Projectوجود دارد ارتباط را یکطرفه
جلوه میدهد.
ارتباط بین گروههای کار و زمان با گروه هزینه یکطرفه است ،یعنی مقادیر واقعی کار و زمان میتوانند بر
مقادیر واقعی هز ینه اثر بگذارند ،ولی عکسِ آن برقرار نخواهد بود .این رابطه در شکل با Bنمایش داده شده
است و گزینه Actual costs are always calculated by Projectاست که در زبانه Advancedکادر محاوره
Optionsقرار دارد .اگر آن را فعال کنید فیلدهای مربوط به هزینههای واقعی قابل ویرایش نخواهند بود و بر
اساس مقادیر گروه زمان و کار محاسبه خواهند شد .اگر غیر فعال باشد حتی در صورت تکمیلِ فعالیت نیز
هزینههای واقعی صفر باقی خواهند ماند ،مگر اینکه کاربر مقداری برای آنها وارد کند.
ارتباطهایی که بین گروهها وجود دارد مطلق نیست؛ یعنی اگر ارتباط قطع شده باشد ،باز هم حد کمی از ارتباط
وجود خواهد داشت (به عنوان مثال تکمیل فعالیت بین گروه ها منتقل خواهد شد) .اگر ارتباط قطع نشده باشد
نیز تمام اطالعات بین گروهها منتقل نمیشوند و ریزهکاریهایی وجود خواهد داشت (به عنوان مثال %
Completeو % Work Completeهمیشه برابر نخواهند بود).
در حالتهای ساده ،در صورت برقراری ارتباط بین کار و هزینه % Complete ،و % Work Completeبرابر
خواهند بود .منظور از حالت ساده ،حالتی است که توزیع کار در دورههای زمانیِ فعالیت یکسان باشد .در
حالتهای زیر چنین وضعیتی برقرار نخواهد بود:
اگر کار وابسته به منبع نباشد و مقدارِ آن را بعد از شروع فعالیت تغییر داده باشید
توصیه می شود از ویرایش دستی توزیع کار منابع خودداری کنید ،زیرا پیچیدگیهای فراوانی در برنامه به وجود
میآورد .اگر کار منبعی در فعالیتی یکدست نباشد ،میتوانید فعالیت را به شیوه مناسبی خرد کنید تا توزیع
منبع در زیرمجموعههای آن یکدست باشد.
گاهی الزم است که از کارِ مستقل از منبع در برنامه کمک بگیرید؛ ولی چنین شرایطی کامال خاص است و بهتر
است در شرایط کلی به جای استفاده از کار مستقل از منبع ،منبعی به شیوه مناسب تعریف کنید و با تخصیصِ
آن به فعالیت کار را شکل دهید .اگر پس از شروع فعالیتی که کارِ مستقل از منبع دارد مدت زمان یا مقدار کار
آن تغییر کند ،کارِ باقیمانده به طور یکدست در زمانِ باقیمانده تقسیم میشود و احتماال با توزیع کاری که در
دوره های قبلی انجام شده است تفاوت خواهد داشت؛ در نتیجه توزیع کار عمال یکدست نخواهد بود و ارتباط
گروهها از حالت ساده خارج میشود.
در مورد هزینههای واقعی دو ورودی الزم است و هرکدام تاثیر مستقلی دارند:
Fixed Cost .1پیشرفت زمانی :پیشرفت زمانی میزان هزینه واقعیِ مستقل از منبع (مقدار اولیه آن در
وارد میشود) را مشخص میکند .اگر به عنوان مثال پیشرفت زمانی ٪21باشد ٪21 ،از هزینه مستقل
از منبع به هزینههای واقعی اضافه میشود.
.2پیشرفت کار :پیشرفت کار میزان هزینه وابسته به منابع را مشخص میکند.
شروع فعالیت
و بر خالف انتظار ،مقدار گرفتن Actual Costبه معنی شروع فعالیت نخواهد بود.
وقتی فعالیتی شروع شود فیلد Actual Startمقدری برابر با Startخواهد گرفت؛ مگر اینکه عامل شروع فعالیت
وارد کردن تاریخی در Actual Startباشد که در این صورت همان تاریخ باقی میماند و Startنیز با آن برابر
میشود.
Start به جز وارد کردن تاریخ در ،Actual Startحالت دیگری وجود ندارد که Actual Startمقداری به جز
بگیرد .به عنوان مثال اگر با مقدارهای زمان مند کار کنید و در روز خاصی مقداری ثبت کنید که بعد از Start
باشد ،با اینکه قبل از آن تاریخ هیچ مقداری وجود ندارد Actual Start ،برابر با Startمیشود ،نه برابر با تاریخ
ثبت اولین مقدار واقعی.
تکمیل فعالیت
اگر ارتباطها قطع شده باشد ،باز هم تمام شدن فعالیت در یکی از گروهها به معنی تمام شدن آن در تمام
گروهها خواهد بود .موارد زیر به معنی تکمیل فعالیت هستند:
با رخ دادن یکی از این موارد ،تمام موارد دیگر نیز برقرار خواهند شد و در پی آنها موارد زیر نیز اتفاق خواهد
افتاد:
Costبرابر با Actual Costخواهد شد (اگر ارتباط هزینه با گروههای دیگر قطع شده باشد)
Actual Costبرابر با Costخواهد شد (اگر ارتباط هزینه با گروههای دیگر قطع نشده باشد)
پیشرفت فعالیت
Cost = Actual Cost + Remaining Cost (اگر ارتباط هزینه با گروههای دیگر قطع نشده باشد)
هرگاه یکی از عوامل تغییر کند ،عوامل همگروه به تناسب آن اصالح میشوند .البته هر رابطه سه عنصر دارد و در
نتیجه باید بدانید که تغییر هر پارامتر را کدامیک از دو پارامترِ دیگر متعادل میکند.
پس از شروع فعالیت Work ،Duration ،و ،Costیعنی مقدارهای برنامهریزی شده مدت زمان ،کار و هزینه،
تمایل دارند که ثابت بمانند و تغییرات را یکی از دو پارامتر دیگر متعادل میکنند .به عنوان مثال شرایط زیر را
در نظر بگیرید:
Duration = 100d
اکنون اگر به % Completeمقدار 50%دهیم ،باید یکی از دو پارامتر Actual Durationیا Durationاصالح
شوند تا رابطه زیر برقرار بماند:
پیش از این گفته شد که Durationتمایل به تغییر ندارد ،در نتیجه Actual Durationاصالح میشود و مقدار
50dمیگیرد .اکنون باید تغییر دیگری رخ دهد تا رابطه زیر نیز برقرار باقی بماند:
که در این حالت نیز Durationتمایل به ثابت ماندن دارد ،در نتیجه Remaining Durationاصالح میشود و آن
هم مقدار 50dمیگیرد .بنا بر این وضعیت جدید از این قرار خواهد بود:
Duration = 100d
اگر یکی از مقدارهای Durationو Workتغییر کند ،درصدهای پیشرفت اصالح میشوند و مقدارهای واقعی
ثابت باقی خواهند ماند.
تنظیم های مختلفی وجود دارد که چگونگی عملکرد برنامه در زمان ثبت اطالعات واقعی را مشخص میکند.
برای کنترل تنظیمها File| Optionsرا اجرا کرده ،به زبانه Scheduleکه در شکل 19-2نمایش داده شده است
بروید.
مهمترین گزینه Updating task status updates resource status ،است ،که پیش از این به تفصیل توضیح داده
شد .اگر گزینه فعال باشد فیلدهای گروه کار و زمان با هم مرتبط خواهند بود ،یعنی بهروزرسانی یکی از آنها
دیگری را نیز بهروزرسانی خواهد کرد .اگر غیر فعال باشد این دو تا حد خیلی زیادی مستقل عمل خواهند کرد.
گزینه Actual costs are always calculated by Microsoft Office Projectکه به صورت پیشفرض فعال
است ،ارتباط گروههای کار و زمان را با گروه هزینه مشخص میکند .این ارتباط یک طرفه است ،یعنی کار و
زمان بر هزینه اثر میگذارند ،ولی هزینه بر آنها اثری نمیگذارد .اگر گزینه فعال باشد هزینههای واقعی به طور
خودکار محاسبه میشوند (هزینههای وابسته به منابع بر اساس کار و هزینههای وابسته به فعالیت بر اساس
زمان) ،و اگر آن را غیر فعال کنید باید هزینههای واقعی را دستی وارد کنید.
گزینههای دیگری که باید در نظر داشته باشید در زبانه Advancedکادر محاوره Optionsقرار دارند (شکل -3
.)19
برای کنترل شیوه عملکرد تنظیمها ،نمای Task Usageرا در زیر گانت باز کنید .در جدول زمانمند فیلدهای
Percent Completeو Cumulative Percent Completeرا باز کنید (شکل .)19-4
در این برنامه یک فعالیت 5روزه تعریف شده است Status Date .در انتهای سومین روز کاری قرار دارد .گزینه
Edits to total % Complete will be spread to the status dateدر حالی پیشفرض قرار دارد ،یعنی غیر فعال
است.
اکنون اگر در فیلد % Completeغیر زمانمند پیشرفتی مانند ٪11وارد کنیم نتیجهای مانند آنچه در شکل -5
19نمایش داده شده است به دست خواهیم آورد:
شکل : 19-5وضعیت برنامه بعد از وارد کردن پیشرفت غیر زمانمند 11درصدی
اگر مقدار بیشتری مانند ٪31وارد کنیم ،نتیجهای که در شکل 19-6دیده میشود به دست خواهد آمد.
پیشرفت 11درصدی در حالت اول در روز اول قرار گرفت ،ولی در حالت دوم ٪21پیشرفت در روز اول ثبت
شده است و ٪11باقیمانده در روز دوم ثبت شده است .فعالیت 5روزه است ،در نتیجه پیشرفت هر روز ٪21
خواهد بود .وقتی پیشرفتها در این حالت ثبت میشوند ،توزیع روزانه آنها به ترتیبی خواهد بود که در مثالها
دیدید؛ یعنی تمام پیشرفت به روز اول تعلق میگیرد ،تا زمانی که پیشرفت دورهای روز اول به اندازه برنامهریزی
شده (در این مثال ٪21برسد) ،و بعد از آن باقیمانده پیشرفت به روزهای بعد منتقل میشود.
اگر گزینه Edits to total % Complete will be spread to the status dateرا فعال کنید وضعیت دیگری برقرار
خواهد بود .در شکل 19-7وضعیت برنامه در زمانی که پیشرفت ٪11با فعال بودن گزینه گفته شده وارد شده
است را نشان میدهد.
در این حالت پیشرفت ٪11بین روزهایی که از شروع فعالیت تا Status Dateقرار گرفتهاند به طور مساوی
تقسیم میشود Status Date .در پایان روز سوم قرار دارد و شامل آن نمیشود ،در نتیجه دو روز ابتدای کار در
محاسبه منظور می شوند و هرکدام نیمی از پیشرفت وارد شده در فیلد % Completeغیر زمانمند را به خود
اختصاص میدهند.
اکنون اگر Status Dateرا یک روز جلو ببریم و مقدار پیشرفت بزرگتری مانند ٪51را وارد کنیم ،وضعیت
مانند شکل 19-8خواهد بود.
Status Date در این حالت مقدار پیشرفتی که افزایش یافته است از اولین روزی که پیشرفت نداشته است تا
جدید توزیع می شود .در این حالت فقط یک روز در این فاصله قرار دارد (روز سوم) و در نتیجه کا مابهالتفاو ِ
ت
پیشرفت که ٪41است در آن روز قرار میگیرد.
توجه داشته باشید که اگر مقدارهای پیشرفت را دستی در فیلد % Completeزمانمند وارد کنید ،گزینه گفته
شده هیچ تاثیری نخواهد داشت .تاثیر گزینه زمانی است که مقدارها را در فیلد % Completeغیر زمانمند وارد
کنید و برنامه مجبور باشد که خودش آن را به مقادیر زمانمند تبدیل کند (چون به هر حال محاسبات نیاز به
مقادیر زمانمند نیز دارند) .برای این تبدیل دو منطقِ مختلف در نظر گرفته شده است و انتخاب آن از طریق
گزینه در اختیار کاربر قرار گرفته است.
گزینههای دیگری که در زبانه Advancedکادر محاوره Optionsقرار دارند و در چگونگی ثبت اطالعات واقعی
موثرند از این قرارند:
:Move end of completed parts after status date back to status dateاگر این گزینه فعال
باشد ،هر دوره ای از کارکرد فعالیت که پیشرفتش تکمیل شده باشد و بعد از Status Dateقرار داشته
باشد به عقب برگردانده میشود ،طوری که آخرین واحدِ تکمیل شده پیش از Status Dateباشد .در
صورتی که گزینه غیر فعال باشد واحدهای زمانی فعالیت در جای برنامهریزی شده خود باقی میمانند.
:And move start of remaining parts back to status dateاگر گزینه قبلی فعال شده باشد
می توانید این گزینه را نیز فعال کنید .در این صورت شروع قسمت باقیمانده فعالیت بعد از هر بار ورود
مقادیر واقعی به عقب کشیده میشود ،طوری که بر Status Dateمنطبق شود.
:Move start of remaining parts before status date forwards to status dateاین گزینه
مانند گزینه اول است ،با این تفاوت که گزینه اول انحراف را با عقبکشیدن قسمت تکمیل شده
فعالیت اصالح میکند و این گزینه با جلو کشیدنِ آن.
:And move end of completed parts forward to status dateاین گزینه مانند گزینه دوم است،
با این تفاوت که گزینه دوم انحراف را با عقب کشیدن قسمت باقیمانده فعالیت اصالح میکند و این
گزینه با جلو کشیدنِ آن.
اگر چهار گزینه گفته شده فعال باشند ،تاثیر Status Dateبر ثبت اطالعات حداکثر خواهد شد .به عنوان مثال به
برنامه شکل 19-9توجه کنید.
مقدار پیشرفتی حدود ٪21برای فعالیت وارد کنید .شکل 19-11وضعیت فعالیت را در دو حالت مختلف نشان
میدهد.
شکل :19-11برنامه پس از وارد کردن پیشرفت ،aبا گزینههای اصال انحرافِ غیر فعال (باال) و فعال (پایین)
وقتی گزینههای اصالح انحراف فعال باشند و مقداری برای فعالیت aوارد کنید ،فرض بر این است که مقدارِ وارد
شده کار انجام شده روی فعالیت aتا زمان Status Dateاست .به همین خاطر ،اگر مقدار پیشرفتی که به این
ترتیب وارد میشود کمتر از مقدار برنامهریزی شده باشد ،فرض میشود که فعالیت دیرتر شروع شده است.
اگر برای فعالیت aمقدار پیشرفت 100%وارد کنیم ،پیغام خطایی دریافت میکنیم ،زیرا با وارد کردن پیشرفت
،100%فعالیت تکمیل شده فرض میشود و باید تاریخ پایان آن بر Status Dateمنطبق شود .ولی این کار باعث
کاهش مدت زمان فعالیت می شود ،در حالی که این روش مدت زمان فعالیت را تغییر نمیدهد .در این حالت دو
راه وجود دارد:
عقب کشیدن فعالیت ،تا جایی که پایان آن بر Status Dateمنطبق شود .این کار باعث میشود که
تاریخ شروع آن نیز نسبت به قبل عقب کشیده شود.
Status تغییر ندادن تاریخ شروع و تکمیل کردن فعالیت .این کار باعث میشود که تاریخ پایان بعد از
Dateقرار بگیرد.
اگر گزینه اول را انتخاب کنید ،نتیجه مانند آنچه در شکل 19-12دیده میشود خواهد بود.
Status Dateرا دو روز جلو برده ،برای فعالیت bمقدار پیشرفت ٪21را وارد کنید (شکل .)19-13
Status Dateرا دو روز کاری دیگر جلو برده ،این بار مقدار پیشرفت ٪31را وارد کنید (شکل .)19-14
با توجه به اینکه این روش مدت زمان فعالیت را تغییر نمیدهد ،چون پیشرفت فعالیت در این دوره دو روزه (دو
روز کاری) کمتر از مقدار برنامهریزی شده بوده است ،فرض شده که فعالیت در این چند روز تا حد زیادی غیر
فعال بوده و فعالیت splitشده است.
Status Dateرا یک روز دیگر جلو برده ،درصد پیشرفت را 5درصد اضافه کنید (شکل .)19-15
این بار هم درصد پیشرفت کمتر بوده ،در نتیجه باز هم فعالیت شکسته شده است .این بار Status Dateرا 4روز
تقویمی جلو برده ،برای فعالیتهای bو cمقدارهای ٪111را وارد کنید (شکل .)19-16
در این حالت فعالیت cنسبت به برنامهریزی عقب کشیده شده است تا پایان آن بر Status Dateمنطبق شود.
توجه داشته باشید که بهتر است برای ثبت اطالعات واقعی از روشهایی استفاده کنید که منجر به شکست
فعالیت نمیشوند ،زیرا شکست فعالیت برنامه را پیچیده میکند.
ثبت هزینهها
بهترین راه برای کنترل مقادیر مالی ،استفاده از نمای گانت به همراه نمای Task Usageدر زیر آن است .بعد از
ساخت نمای گفته شده ،فیلدهای Cost ،Baseline Cost ،Actual Fixed Cost ،Actual Costو Cumulative
Costرا به جدول زمانمند اضافه کنید.
جزئیات فعالیتی که در نمای باال انتخاب شده باشد در پایین نمایش داده میشود .این فعالیت دو منبع دارد که
برای هرکدام هزینههایی تعریف شده است .منبع rs1هزینه ثابت نیز دارد .عالوه بر هزینه منابع ،در قسمت
باالی نما میتوان هزینه ثابت فعالیت که 51واحد است را هم مشاهده کرد.
این جدول سه قسمت است ،که به ترتیب مجموع هزینههای فعالیت ،هزینههای ناشی از منبع اول و هزینههای
ناشی از منبع دوم را نشان میدهند .فعالیت از روز 11تا روز 16برنامهریزی شده است ،در نتیجه هزینههای آن
هم در همین بازه توزیع شدهاند؛ البته توجه داشته باشید که فیلد Cum. Costمقدار تجمعی هزینه را نشان
می دهد و به همین خاطر تا بعد از این تاریخ نیز مقدار گرفته است .فیلدهای Costو Base. Costتفاوتی با هم
ندارند ،به این معنی که برنامه ریزی فعلی فعالیت تفاوتی با خط مبنا ندارد .این دو فیلد ،به ترتیب توزیع
هزینههای برنامهریزی شده فعالیت را بر حسب برنامه فعلی و برنامه خط مبنا نشان میدهند.
در نهایت ،فیلدهای Act. Costو Act. F. Costمقدار هزینههای واقعی را نشان میدهند و هنوز مقداری
نگرفته اند ،به این معنی که فعالیت آغاز نشده است .البته توجه داشته باشید که تنها در صورتی میتوان اینگونه
نتیجهگیری کرد که گزینه محاسبه خودکار هزینهها را غیر فعال نکرده باشید؛ در غیر این صورت ،فیلدهای
هزینه واقعی همواره خالی خواهند بود و باید آنها را دستی پر کنید.
به فعالیت پیشرفتی مانند ٪31اختصاص دهید .جدول هزینهها به صورتی که در شکل 19-19نمایش داده
شده است تبدیل خواهد شد.
مقدار هزینه ثابت فعالیت ،بر اساس Actual Durationمحاسبه میشود .در این مثال Actual Duration ،برابر
1/2روز است ،در نتیجه هزینه ثابت روز اول برابر با مقدار برنامهریزی شده و مقدار روز دوم برابر 1/2آن است.
هزینه ثابت فعالیت نیز 51واحد است که تقریبا برابر با روزی 13واحد خواهد بود .به همین خاطر روز اول که
کامل شده است هزینه ثابتِ واقعی 13را نشان میدهد و روز دوم که 1/2تکمیل شده است مقدار 3را نشان
میدهد.
Actual مقدار هزینههای ناشی از منابع ،بر اساس کار محاسبه میشوند .برای کنترل بیشتر ،میتوانید فیلد
Workرا به جدول اضافه کرده ،آن را با مقدار منابع کنترل کنید .در این مثال چون مقدار کار انجام شده با
زمان نسبت مستقیم دارد ،به ازای 1/2روز مدت واقعی 1/2 ،کارها نیز انجام شدهاند .این مسئله به این معنی
است که در روز اول تمام کار برنامهریزی شده و در روز دوم 1/2آن انجام شده ،و هزینهها نیز با همین نسبت
تقسیم شدهاند.
اگر به جدول گانت مراجعه کنید ،میتوانید مقدارهای خالصهسازی شده هزینهها را کنترل کنید (شکل -21
.)19
مطابق معمول ،فیلد Remaining Costمقدار باقیمانده هزینه ،یعنی اختالف Costو Actual Costرا نشان
میدهد .اگر سعی کنید در فیلد Actual Costمقداری وارد کنید ،موفق نخواهید شد ،چون گزینه محاسبه
خودکار هزینه واقعی فعال بوده و تا زمان تکمیل شدن فعالیت قادر به ویرایش این فیلد نخواهید بود .مقدار
Remaining Costنیز به همین ترتیب غیر قابل ویرایش خواهد بود.
اکنون مقدار هزینه واقعی برابر با هزینه برنامهریزی شده میشود .اگر مایل باشید میتوانید پس از این فیلد
Actual Costرا ویرایش کنید (شکل .)19-22
با ویرایش این مقدار ،فیلد Costنیز اصالح می شود .برعکس آن نیز صادق است ،یعنی اگر پس از تکمیل فعالیت
مقدار Costرا تغییر دهید ،مقدار Actual Costنیز اصالح میشود .به طور کلی هرگاه فیلد Costرا به طور
دستی تغییر دهید یا در Actual Costمقدار جدیدی وارد کنید و باعث شود که Costاصالح شود ،فیلد Fixed
Costنیز به تناظر آن تغییر می کند ،طوری که مجموع مقدار جدید آن و هزینههای ناشی از منابع (که به این
ترتیب تغییر نمیکنند) برابر با مقدار جدید Costباشد .با توجه به آنچه گفته شد ،میتوانید انتظار داشته باشید
که توزیع هزینهها در جدول پس از تغییر Actual Costچگونه خواهد بود (شکل .)19-23
در این حالت ردیفهای مربوط به منابع تغییر نکرده و تنها ردیفهای مربوط به فعالیت ،که تحت تاثیر هزینه
ثابت فعالیت هستند اصالح شدهاند.
پس مشخص می شود که اگر ارتباط هزینه با کار و زمان برقرار باشد ،یعنی هزینههای واقعی خودکار محاسبه
شوند ،عمال تنها محدودیتی که ایجاد میشود این است که در زمان پیشرفت فعالیت نمیتوانید هزینه واقعیِ
دقیق آن را وارد کنید ،ولی وقتی فعالیت پایان یابد ق ادر به انجام این کار خواهید بود .با توجه به اینکه خیلی
اوقات هزینه واقعی کارها پس از پایان آنها مشخص میشود ،خودکار بودن هزینهها عمال دقت را چندان کاهش
نمیدهد ،و در عوض مراحل کنترلی را به مراتب سادهتر میکند.
با وجود آنچه گفته شد ،میتوانید محاسبه هزینههای واقعی را از حالت خودکار خارج کنید تا بتوانید مقدارها را
دستی وارد کنید .برای این کار به File| Options| Scheduleمراجعه کرده ،گزینه Actual costs are always
calculated by Projectرا غیر فعال کنید .در این حالت ورود اطالعات مالی واقعی مانند ورود اطالعات واقعی
زمان انجام میشود.
برای مشخص کردن مقادیر واقعی هم میتوانید از فیلدهای معمولی و هم از فیلدهای زمانمند استفاده کنید،
که انجام این کار هیچ تفاوتی با وارد کردن اطالعات زمان و کار که در قسمتهای پیش توضیح داده شد نخواهد
داشت.
متود ۱
پیش از این گفته شد که متودهای نمونهای برای ثبت اطالعات واقعی ارائه خواهد شد .اولین متود ،سادهترین راه
است که کمبودهای فراوانی دارد ،ولی در شرایطی که به خاطر کمبود نیروی فنی یا شرایط نامناسب امکان
استفاده از متودهای کاملتر وجود نداشته باشد راهگشا خواهد بود .توجه داشته باشید که این متود از نظر تمامی
استانداردهای مدیریت پروژه ناقص است .نقص آن در این است که صرفا بر محاسبه پیشرفتها متمرکز است و
خروجیهای مناسبی در خصوص زمانبندی نمیدهد.
در این روش ارتباط بین کار ،زمان و هزینه برقرار است ،توزیعهای خودکار هزینه و پیشرفت زمانی و همچنین
اصالح پیشرفت زمانی در صورت وجود انحراف غیر فعال است و در نهایت اینکه نیازی به منابع ،کار و هزینه
نداریم.
در این روش فقط مقدار % Completeتاریخی خاص وارد میشود .بعد از آن میتوان خروجیهای کنترلی را
استخراج کرد.
برای استخراج پیشرفت برنامهریزی شده تجمعی میتوانید از گزینه Updateموجود در
Project| Status| Update Projectاستفاده کنید .حتما این کار را در نسخهای موقت انجام دهید تا اطالعاتی که
در برنامه وارد کردهاید از بین نروند.
برای استخراج پیشرفت برنامهریزی شده دورهای و لیست فعالیتهای دوره بعد حتما از روش ترکیبی استفاده
کنید .این کار را هم باید در نسخهای موقت انجام داد.
برای استخراج تاخیر از گزینه Rescheduleموجود در Project| Status| Update Projectاستفاده کنید .بهتر
است این کار را در نسخه ای موقت انجام دهید و نتیجه را ذخیره نکنید ،زیرا شکستگیهای زیادی در فعالیتها
ایجاد می کند که کاربردی ندارند و کارکردهای بعدی را هم مشکل میکنند.
خط عمودی پررنگ در نمودار گانت نشاندهنده ،Status Dateیعنی تاریخی است که بناست مقادیر واقعیِ آن را
وارد کنیم .مقدار پیشرفت هر فعالیت را در فیلد % Completeوارد میکنیم .شکل 19-25برنامه را پس از ثبت
مقادیر فرضی نشان میدهد.
مقدارهای پیشرفت با میلههای افقی در داخل میلههای اصلی فعالیتها نمایش داده شدهاند .اگر کار طبق برنامه
پیش رفته بود ،میبایست انتهای تمام خطهای پیشرفت فعالیتهایی که تمام نشدهاند روی خط عمودیِ زمان
قرار داشته باشد.
در مرحله بعد میتوانید پیشرفتها را با مقادیر برنامهریز ی شده مقایسه کنید .برای این کار ابتدا فایل را ذخیره
کنید و بعد از آن نسخه جدیدی با Save Asبسازید .نسخه جدید موقتی است و بعد از استخراج مقادیر نیازی به
آن نخواهید داشت.
در نسخه موقعی فیلدی اختصاصی از نوع Textدرج کنید و نام مناسبی به آن بدهید (شکل .)19-26
روی عنوان ستون % Completeکلیک کنید تا کل ستون انتخاب شود .کلیدهای Ctrl+Cرا بفشارید تا محتوا
کپی شود .روی عنوان فیلد اختصاصی کلیک کرده ،کلیدهای Ctrl+Vرا بفشارید .به این ترتیب مقدارهای
پیشرفت در فیلد اختصاصی کپی میشوند (شکل .)19-27
اکنون میتوانید Project| Status| Update Projectرا انتخاب کنید .با این کار کادر محاوره شکل 19-28باز
میشود.
گزینه Update work as complete throughو بعد از آن گزینه Set 0%-100% completeرا انتخاب کنید .باید
تاریخی که قصد دارید پیشرفتهای برنامه ریزی شده آن در برنامه محاسبه شوند را در کادر مقابل وارد کنید.
این کادر به طور پیشفرض Status Dateرا نشان میدهد و اگر قبال Status Dateرا مشخص کرده باشید نیازی
به تنظیم آن نخواهد بود .بعد از وارد کردن تنظیمها روی OKکلیک کنید .با این کار فیلد % Completeتمام
فعالیتها مقدارهای برنامهریزی شده را نشان میدهند (شکل .)19-29
به این ترتیب میتوانید مقدارهای برنامهریزی شده و واقعی را با هم مقایسه کنید .در این نمونه ،پیشرفت زمانی
پروژه در تاریخ مشخص شده ٪61است ،در حالی که مقدار واقعی ٪44میباشد.
بهتر است برای استخراج پیشرفتها به جای پیشرفت زمانی از پیشرفت فیزیکی استفاده کنید .در این صورت نیز
روند کار تفاوتی نخواهد داشت.
میتوانید با همین روش پیشرفت برنامهریزی شده تاریخ های مختلف (مثال انتهای هر ماه) را به دست آورید و
آنها را در یک فایل Excelذخیره کنید (شکل .)19-31
اکنون میتوانید بر این اساس نمودار پیشرفت برنامهریزی شده پروژه را تهیه کنید (شکل .)19-31
پس از این میتوانید پیشرفت واقعی هر دوره را هم در نمودار اضافه کنید تا مخاطب بتواند آنها را با هم مقایسه
کند (شکل .)19-32
راهی که توضیح داده شد وقت گیر است و احتمال بروز اشتباه نیز در آن فراوان است .راه بهتر استفاده از
فیلدهای زمانمند است .برای این کار به نمای Task Usageبروید ،به Status Dateمقداری پس از تاریخ پایان
پروژه بدهید و پروژه را Updateکنید .در این حالت باید پیشرفت تمام آیتمها ٪111باشد .اکنون میتوانید فیلد
Cumulative Percent Completeرا به جدول زمانمند اضافه کنید تا پیشرفتهای برنامهریزی شده دورههای
مختلف را نشان دهد .محور زمان جدول زمانمند را هم مطابق دورههایی که در نظر دارید تنظیم کنید (شکل
.)19-33
شکل قبل نمایی ترکیبی از ( Gantt Chartباال) و ( Task Usageپایین) است .در نمای باال خالصه فعالیت پروژه
انتخاب شده است و در نتیجه جدولِ نمای پایین مقادیر آن را نشان میدهد.
اکنون میتوانید مقادیرِ جدول زمانمند را به Excelمنتقل کرده ،نمودار پیشرفت را ترسیم کنید.
اگر مایل باشید میتوانید به جای دورههای بزرگی مانند ماه ،دورههای کوچکتری تنظیم کنید تا تعداد اعداد
بیشتر باشند و نمودار نرمتر و دقیقتری به دست آید .شکل 19-34نمودار پیشرفت پروژه قبلی را با دورههای
هفتگی نشان میدهد.
در این قسمت پیشنهاد شد که برای کپیبرداری از مقادیر پیشرفت از فیلدی از نوع Textاستفاده کنید .اگر
چنین کاری کنید امکان مقایسه خودکار آن با % Completeوجود نخواهد داشت .اگر مقادیر به جای Textدر
فیلدی از نوع Numberقرار داشته باشند از این نظر بهتر است .متاسفانه از نسخه 2111به بعد ،امکان کپی
کردن محتوای % Completeدر فیلدهای Numberوجود ندارد ،در حالی که در نسخههای قبلیِ نرمافزار چنین
محدودیتی وجود نداشت .برای رفع این مشکل میتوانید ستون % Completeرا در Excelکپی کنید ،نوع آن را
به عدد تبدیل کرده ،در یک فیلد اختصاصی نوع Numberدر Projectکپی کنید.
تا این مرحله پیشرفت واقعی و برنامه ریزی شده تجمعی پروژه به دست آمد .برای محاسبه تاخیر فایل اصلی را
باز کرده ،نسخه موقت دیگری از آن بسازید .در فایل موقت Project| Status| Update Projectرا اجرا کنید .در
کادر محاورهای که باز میشود گزینه Rescheduleرا انتخاب کرده ،تاریخ را در مقابل آن وارد کنید .بعد از
اینکه روی OKکلیک کنید ،برنامه مجددا زمانبندی میشود (شکل .)19-35
با این کار وضعیت اطالعات واقعی در برنامه منعکس میشود .همانطور که میبینید این کار با شکسته شدن و
جابجا شدن برخی فعالیتها انجام شده است.
میتوانید برای دریافت اطالعات بیشتر به نمای Tracking Ganttمراجعه کنید (شکل .)19-36
این نما برنامهریزی فعلی پروژه را در کنار برنامهریزی اولیه ،یعنی خط مبنا ،نشان میدهد .هر فعالیت دو میله
دارد ،میله رنگی که باالتر قرار دارد برنامهریزی فعلی و میله کمرنگ که پایینتر قرار دارد خطمبنا را نشان
می دهد .اگر دو گروه میله دیده نشود ،به این معنی است که خط مبنا را ذخیره نکرده بودید.
برای تعیین میزان تاخیر پروژه فیلد Finish Varianceرا به جدول اضافه کنید (شکل .)19-37
اکنون میتوانید میزان تاخیر هریک از آیتمها را در این فیلد بخوانید .در این مثال کل پروژه 21روز کاری به
تاخیر افتاده است.
معنای تاخیر بستگی به متود ثبت اطالعات واقعی دارد .در این متود تعبیر آن اینگونه است :اگر ادامه پروژه با
توانی معادل توان برنامهریزی شده پیش برود 21 ،روز دیرتر از پایان برنامهریزی شده پایان خواهد یافت.
در ادامه باید پیشرفت برنامهریزی شده و واقعی دورهای را هم استخراج کنید .پیشرفت واقعی دورهای تفاضل
پیشرفت ابتدا و انتهای دوره است .برای استخراج پیشرفت برنامهریزی شده دورهای باید از روش ترکیبی استفاده
کنید که در فصل 21توضیح داده شده است.
برای استخراج فعالیتهای برنامهریزی شده برای دوره بعد نیز باید از شیوهای مشابه شیوه ترکیبی استفاده کرد.
تاریخ پایان تخمینی پروژه را میتوانید با روش زمان کسب شده که در فصل 22توضیح داده شده است محاسبه
کنید.
متود ۲
این متود نیز مانند متود 1بسیار ساده است .تمام ویژگیها و روشها نیز مانند قبل است ،با این تفاوت که عالوه
بر پیشرفت زمانی باید تاریخ شروع و پایان واقعی را هم درج کرد.
امتیازی که این روش به روش ق بل دارد در این است که سابقه کاملتری از واقعیتهای پروژه ثبت میشود .به
این ترتیب هم منبع مناسبتری برای برنامهریزی پروژههای بعدی به جای خواهد ماند و هم میتوان آینده پروژه
را بهتر پیشبینی کرد .این متود سادهترین حالت ثبت اطالعات واقعی است که با استانداردهای مدیریت پروژه
سازگاری دارد.
شکل 19-38برنامهای را نشان میدهد که در متود 1نیز مثال زده شده بود .فیلدهای شروع و پایان برنامهریزی
شده و واقعی نیز در جدول نمایش داده شدهاند.
اکنون باید به ترتیب اطالعات فعالیت ها را وارد کرد .ابتدا شروع واقعی فعالیت و بعد از آن پایان واقعی یا درصد
پیشرفت زمانی را وارد کنید .شکل 19-39محصول نهایی را نشان میدهد.
اگر این برنامه را با محصولِ بهروزرسانی با متود 1مقایسه کنید ،متوجه تفاوتهایی خواهید شد .هر بار که
تاریخهای واقعی را وارد کنید ،زمانبندی برنامه اصالح میشود و واقعیتها را به ادامه کار منعکس میکند .ولی
در متود 1چنین اتفاقی نمیافتاد .به همین خاطر پیشبینیهای این متود بهتر از متود 1است.
در استفاده از این متود به یاد داشته باشید که زمانبندی ها دایما در حال تغییر هستند و به همین خاطر
نمیتوانید پیشرفتهای برنامهریزی شده را از نسخه ای که اطالعات واقعی دارد استخراج کنید .به همین خاطر
باید همیشه یک نسخه دست نخورده از برنامه داشته باشید و بهتر است که پیشرفتهای برنامهریزی شده را هم
پیش از شروع پروژه برای تمام دورههای محاسبه کنید.
متود ۳
در این متودِ پیشنهادی ،عملکرد پروژه بر اساس کار سنجیده می شود .فرض هم بر این است که کار بر اساس
تخصیصها شکل میگیرد .ارتباط بین گروهها (کار ،زمان و هزینه) نیز برقرار باقی میماند .نوع فعالیتها نیز
Fixed Unitsاست.
شکل 19-41برنامه نمونهای که برای این متود به کار خواهد رفت را نشان میدهد.
به هر فعالیت یک یا دو منبع تخصیص داده شده است و تمام تخصیصها هم ٪111هستند .برنامه از تقویم
استاندارد استفاده میکند ،در نتیجه هر تخصیص در هر روز 8ساعت کار ایجاد میکند .در نتیجه به عنوان مثال
فعالیت "پی" که دو منبع ٪111دارد ،روزی 16ساعت کار ایجاد میکند و در نتیجه کل کار که 21روز است
مجموعا 321ساعت کار خواهد داشت .این مقدار در فیلد Workنمایش داده میشود.
تجهیز کارگاه 211 ،ساعت کار واقعی ،صفر ساعت کار باقیمانده
عملیات خاکی 511 ،ساعت کار واقعی ،صفر ساعت کار باقیمانده
پی 311 ،ساعت کار واقعی ،صفر ساعت کار باقیمانده
اسکلت 711 ،ساعت کار واقعی 351 ،ساعت کار باقیمانده تخمینی
سفتکاری و نازک کاری 61 ،ساعت کار واقعی 611 ،ساعت کار باقیمانده تخمینی
تاسیسات مکانیکی 251 ،ساعت کار واقعی 251 ،ساعت کار باقیمانده تخمینی
اکنون میتوان فعالیتها را به ترتیب به روزرسانی کرد؛ ابتدا مقدار واقعی و بعد از آن مقدار باقیمانده وارد
میشود .نتیجه در شکل 19-41نمایش داده شده است.
وقتی مقدار واقعی را وارد میکنید ،مقدار باقیمانده بر اساس برآورد اولیه شکل میگیرد .وقتی مقدار باقیمانده را
هم وارد میکنید ،مقدار کار اصالح میشود .چون فعالیتها از نوع Fixed Unitsاست ،اصالح کار باعث اصالح
مدت زمان میشود .در این وضعیت % Completeو % Work Completeفعالیتها برابر خواهند بود؛ ولی در
مورد خالصه فعالیتها برابر نخواهند بود (شکل .)19-42
این دو نوع پیشرفت در خالصه فعالیتها بر اساس آیتمهای زیرمجموعه خالصهسازی میشود .مقدار
% Completeپیشرفت هر فعالیت را بر اساس مدت زمانش میانگینگیری میکند ،در حالی که % Work
Completeاز مقدار کار به عنوان ضریب وزنی استفاده میکند.
تعبیر کار معموال به حجم فیزیکی نزدیک است و در نتیجه میتوان از پیشرفت کاری که به این ترتیب محاسبه
میشود به عنوان پیشرفت فیزیکی استفاده کرد و پیشرفت زمانی را به کار نبرد.
چون در این روشِ ثبت مقادیر واقعی زمانبندی تغییر میکند ،نمیتوان از برنامههایی که مقدار واقعی دارند
برای محاسبه پیشرفتهای برنامه ریزی شده استفاده کرد .برای محاسبه مقادیر برنامهریزی شده باید نسخه
دستنخوردهای از برنامه را باز کنید و مقدار پیشرفت آن را پس از Updateکردن (به روشی که در متود 1
توضیح داده شد) از فیلد % Work Completeبخوانید.
اگر قصد دارید نمودار پیشرفت برنامهریزی شده را استخراج کنید نیز میتوانید از یکی از دو روشی که در متود
1توضیح داده شد استفاده کنید .فیلد زمانمندی که در روش دوم استفاده میشود Cumulative Workاست.
متاسفانه فیلد زمان مندی برای دریافت پیشرفت کاری وجود ندارد و باید مقدار این فیلد را پس از انتقال به
،Excelبر مقدار کل کار همان آیتم تقسیم کنید تا به درصد پیشرفت کار تبدیل شود.
در انتهای مقادیر حرف hبه معنی ساعت وجود دارد؛ به همین دلیل مقادیر در اکسل عددی به شمار نمیروند.
میتوانید با فرمولی مشابه آنچه در نوار آدرس شکل قبل دیده میشود مقادیر جدیدی بسازید که در انتهای
آنها hوجود نداشته باشد .بعد از آن می توان درصد پیشرفت را بر اساس این اعداد محاسبه کرد و در نهایت
نمودار را ترسیم کرد.
متود ۴
این متود دقیقا مانند متود قبل است ،با این تفاوت که مقادیر کار به تفکیک منابع و به طور زمانمند وارد
میشوند .به این ترتیب میتوان جزئیات بیشتر و سابقه بهتری ثبت کرد.
میتوان محور زمان جدول زمانمند را تنظیم کنید تا طولی برابر با طول دورههای کنترلی داشته باشد.
جدول سمت چپ نیز فعالیتهای پروژه را همراه با منابعشان نشان میدهد .هر منبع و در واقع هر تخصیص
ردیف جداگانهای دارد و باید کارکردهای منابع را در Actual Workهمان ردیف وارد کنید.
شکل 19-46برنامه را در وضعیتی نشان می دهد که کارکرد هر دو منبع فعالیت عملیات خاکی در پنج دوره اول
وارد شدهاند.
وقتی مقدار واقعی را وارد میکنید ،مقدار برنامه ریزی شده آن دوره نیز برابر با همان مقدار خواهد شد .مجموع
کار ثابت باقی میماند و در نتیجه تعداد دورههای بعدی به تناسب افزایش یا کاهش مییابد .این مسئله را
میتوان با مقایسه Baseline Workو Workکنترل کرد.
ردیف عملیات خاکی ،ردیفهای تخصیصهای زیرمجموعه خود را خالصهسازی میکند .میتوانید فیلدهای
درصد پیشرفت را هم به جدول اضافه کنید و مقادیر پیشرفت واقعی را استخراج کنید.
تفاوت این متود و متود 3فقط در شیوه ثبت اطالعات است؛ مراحل استخراج نتایج مانند متود 3است .البته در
نظر داشته باشید که نتایج این متود دقیقتر از متود 3هستند.
متود ۵
این متود نیز مانند متود 3است ،با این تفاوت که عالوه بر کار ،مقادیر زمان نیز ثبت میشوند .فعالیتها باید از
نوع Fixed Workباشند و ارتباط بین گروههای کار و زمان قطع برقرار نباشد.
فرض کنید برای اسکلت 711ساعت کار واقعی انجام شده باشد و 311ساعت باقیمانده باشد .وقتی 711ساعت
کار واقعی را وارد کنید % Work Complete ،و % Completeمقدار برابری میگیرند (شکل .)19-48
در مرحله بعد با وارد کردن کار باقیمانده ،درصدهای پیشرفت ،کار و مدت زمان اصالح میشوند (شکل .)19-49
تا این مرحله از کار تفاوتی با متود 3ندارد .محدودیتی که در متود 3وجود داشت این بود که توزیع کار در
زمان کامال یکنواخت بود؛ یعنی اگر نیمی از کار در 11روز انجام شده باشد ،فرض بر این است که نیم دیگرِ کار
نیز 11روز زمان الزم خواهد داشت .امتیاز این روش در این است که چنین محدودیتی را از بین میبرد .در
مثال فعلی ٪31باقیمانده کار نیز به حدودا 19روز زمان دارد .اگر برآورد مقدار دیگری باشد ،میتوان آن را
مشخص کرد .به عنوان مثال اگر میدانیم که باقیمانده کار به جای 19روز در 35روز تمام خواهد شد،
میتوانیم آن را در Remaining Durationوارد کنیم (شکل .)19-51
Remaining Duration از این لحظه به بعد مقدار % Completeو % Work Completeبرابر نخواهد بود .وقتی
اصالح میشود Duration ،اصالح خواهد شد ،ولی چون فعالیت Fixed Workاست ،تغییر Durationبا اصالح
میزان تخصیصها اصالح میشود ،نه با تغییر .Workبه همین خاطر است که پیشرفت زمانی و پیشرفت کار پس
از این برابر نخواهند بود .در واقع توزیع کار در زمان از زمان این تغییر به بعد در این فعالیت با مقادیر قبلی
متفاوت خواهد بود.
این روش تغییری در مقادیر پیشرفت ایجاد نمیکند و تنها امتیاز آن این است که زمانبندیهای برنامهریزی
شده کمی دقیقتر خواهند بود.
معموال هروقت صحبت از پیشرفت پروژه و ارزیابی عملکرد آن میشود ،منظور همان تحلیل ارزش کسب شده
است .به همین خاطر هم در Projectو بسیاری دیگر از نرمافزارهای برنامهریزی ،مانند ،Primaveraامکانی برای
محاسبه پیشرفت فیزیکی به شیوه ای که در ایران و برخی دیگر از کشورهای منطقه مرسوم است وجود ندارد.
به این خاطر که Projectنوع پیشرفتی که انتظار دارید را مستقیما پشتیبانی نمیکند ،پیادهسازی آن کمی
پیچیدگی دارد .در این فصل روشهای مختلفی که میتوانید برای این منظور به کار ببندید را بررسی میکنیم.
پیشرفت فعالیتها
.1پیشرفت فعالیتها
پیشرفت فعالیت ها را باید بر اساس قواعدی مدون و بر اساس واقعیتها استخراج و در برنامه ثبت کرد .پیشرفت
خالصه فعالیت ها محاسباتی است و باید با در نظر گرفتن نوعی ضریب وزنی و روند مناسبی برای محاسبه ،آنها
را فراهم کرد.
محاسبه پیشرفت فعالیتها به شیوههای مختلفی انجام میشود .رایجترین روش این است که مقادیر پیوستهای
برای پیشرفت وارد شود .به ع نوان مثال این روش برای محاسبه پیشرفت فعالیت خاکبرداری مناسب است؛
می توان نسبت کار انجام شده را به کل کار محاسبه کرد و درصدی برای پیشرفت فعالیت به دست آورد .برای
برخی دیگر از فعالیتها از روشهای پلهای استفاده میشود .روش پلهای معموال در طراحی به کار میرود .به
عنوان مثال ممکن است برای طراحی سه مرحله ارائه ،تایید و تصویب با مقادیر ٪91 ،٪71و ٪111در نظر
گرفته شود .در این حالت پیشرفت فعالیت صفر باقی میماند تا زمانی که تکمیل شود و اسناد مربوط به آن
تحویل گردند .در این زمان پیشرفت فعالیت ٪71میشود .بعد از اینکه اسناد بررسی شوند ،اصالحات احتمالی
انجام شوند و به تایید برسند ،پیشرفت ٪91میشود و بعد از تصویب نهایی به ٪111میرسد .به عبارت دیگر به
جز سه مقدار گفته شده ،مقدار پیشرفت دیگری برای فعالیت وارد نمیشود .ممکن است از حالتهای ترکیبی
نیز استفاده شود ،به عنوان مثال در مراحل پیشرفت طراحی مقدار پیشرفت به تدریج از صفر تا ٪71رشد کند،
بعد از تایید جهش کند و به ٪91برسد و بعد از تصویب ناگهان ٪111شود.
بهتر است که بعد از تهیه برنامه و پیش از شروع کار شیوه تعیین پیشرفت هرکدام از فعالیتها تعیین و در
سندی ثبت شود.
پیشرفت خالصه فعالیتها نوعی میانگینگیری وزنی از فعالیتهای زیرمجموعهشان است .این میانگینگیری
وزنی با کمک مجموعهای از ضرایب وزنی انجام می شود .انواع محاسباتی که بر این اساس در پراجکت انجام
میشود از این قرارند:
اگر بنا باشد که از ضرایب وزنی دیگری استفاده کنید میتوانید آنها را به عنوان کار هزینه تعریف کنید و از
فیلدهای مربوطه کمک بگیر ید .اگر کار و هزینه هردو قبال استفاده شده باشند ،باید ضرایب را در یک فیلد
اختصاصی وارد کنید و پیشرفتهای مربوط به آن را در فیلدهای اختصاصی دیگر محاسبه کنید.
دامنهدارترین بحثی که در حوزه برنامهریزی و کنترل پروژه در ایران مطرح میشود ،بحث ضرایب وزنی فیزیکی
است.
پیش از این نیز توضیح داده شد که مسئله پیشرفت در دو حوزه مطرح میشود:
.1پیشرفت فعالیتها
.2پیشرفت خالصهفعالیتها
اولین مسئله تعیین شیوه تعیین پیشرفت فعالیتهاست .مسئله دوم محاسبه پیشرفت خالصه فعالیتها بر اساس
فعالیتهای زیرمجموعه آنهاست .این کار با میانگینگیری وزنی انجام میشود و وزنهای این میانگینگیری ،که
نسبت اهمیت فعالیتها را مشخص میکند ،همان ضرایب وزنی هستند.
مشکلِ ضرایب وزنی فیزیکی در این است که مهمترین عامل برای نمایش پیشرفت فیزیکی پروژه هستند ،در
حالی که پیشرفت فیزیکی ت عبیری غیر عینی و شهودی است .منظور از پیشرفت فیزیکی چیست؟ هیچکس
پاسخ مناسبی برای این سوال ندارد .وقتی تعبیری عینی از پیشرفت فیزیکی وجود نداشته باشد ،قطعا نمیتوان
ضرایب وزنی عینی و متعینی نیز تولید کرد.
هیچوقت نمیتوان گفت که ضرایب وزنی خاصی اشتباهند .وقتی میتوان عنصری را اشتباه خواند که عینی باشد
و رابطه مشخصی برای محاسبه آن وجود داشته باشد .چون چنین مسئلهای در مورد ضرایب وزنی فیزیکی وجود
ندارد ،هیچگاه درست یا غلط نخواهند بود .با این حال میتوان درباره مناسب یا نامناسب بودن آنها صحبت
کرد .هرچه ضرایب به شهودی که از پیشرفت فیزیکی وجود دارد نزدیکتر باشند ،مناسبتر خواهند بود.
اگر به عینی و متعین نبودن ضرایب وزنی توجه کافی داشته باشیم ،ناخودآگاه باید قاعده بسیار مهمی را هم مد
نظر قرار دهیم:
شاخصهای کنترلی باید به شیوهای تنظیم شوند که تاثیر ضرایب وزنی فیزیکی در نتایج
حداقل شود.
به عنوان مثال فرض کنید قرار است عملکرد دورهای پیمانکاری در ماههای مختلف با یکدیگر سنجیده شوند تا
به عنوان مثال مشخص شود که تغییر برخی سیاست ها تاثیر مثبتی در کار داشته است یا خیر .اگر برای این کار
پیشرفت واقعی دورهای پیمانکار در دوره های مختلف با هم مقایسه شوند چندان جالب نیست ،چون این شاخص
کنترلی کامال وابسته به ضرایب وزنی فیزیکی است و به عنوان مثال ممکن است در ماه اخیر کاری انجام شده
باشد که وزن آن زیاد از حد باال باشد و به همین خاطر پیشرفت واقعی دوره نیز زیاد از حد باال رفته باشد ،در
حالی که عمال عملکرد دوره کمتر بوده است.
در چنین حالتی میتوان به جای پیشرفت واقعی دورهای از میزان تحقق دورهای ،یعنی حاصل تقسیم پیشرفت
واقعی دوره بر پیشرفت برنامه ریزی شده ترکیبی دوره استفاده کرد .ضرایب وزنی هم در صورت و هم در مخرج
کسر وجود دارند و چون دوره های این دو یکسان است ،ضرایب مشابهی در صورت و مخرج قرار میگیرند ،در
نتیجه تا حد زیادی یکدیگر را خنثی میکنند.
میتوان سه راه کلی برای تعیین ضرایب وزنی فیزیکی در نظر گرفت:
راه حل جهانی این است که برای ضرایب وزنی از مقادیر هزینه استفاده میشود؛ یعنی وزن هر فعالیت ارزش
مالی آن است .این همان مبنایی است که در تحلیل ارزش کسب شده به کار میرود.
در شرایط خاص میتوان از مبانی دیگری نیز استفاده کرد .مثال در پروژههای طراحی ممکن است برآوردی از
کار (نفر ساعت) هر فعالیت وجود داشته باشد ،که میتوان آن را هم مبنا قرار داد.
شیوهای در این کار در ایران عرف شده است و برای محاسبه ضرایب وزنی فیزیکی معیارهای مختلفی مانند مدت
زمان ،هزینه و سختی کار استفاده میکنند و این تصورِ کامال غلط به وجود آمده است که چنین روشی راه
صحیح محاسبه ضرایب وزنی است .این روش مشکالت متعددی دارد ،که برخی از آنها از این قرارند:
هزینه ،زمان و سختی فاکتورهای مستقلی نیستند .به عنوان مثال ،سختی کار باعث افزایش زمان و
هزینه میشود .کاهش زمان نیز باعث افزایش هزینه و سختی میشود .مشکل جایی خودنمایی میکند
که در تهیه مقدارهای اولیه ،به سختی مقدار زیادی داده میشود ،در حالی که زمان را هم به خاطر
سخت بودن افزایش دادهاند و هزینه آن را هم باالتر برآورد کردهاند .به این ترتیب ،سختی به جای یک
بار ،سه بار در محاسبه وارد میشود.
سختی کارها ،فاکتوری کمی و عینی نیست .تعیین سختی کارها به صورت شهودی و با اتکا به داوری
کارشناسان انجام میشود .این مسئله قطعیت نتیجه نهایی را تحت تاثیر میگذارد.
ضرایبی که برای ترکیب هزینه ،زمان و سختی به کار میرود نیز عینی نیستند و قطعیتی ندارند .در
واقع ،معیار خاصی برای تعیین این ضرایب وجود ندارد و مسئله عمال سلیقهای است .در نتیجه ،نتایج
نهایی نیز سلیقهای خواهند بود.
به عبارت دیگر این روش عمال به اندازه تعیینِ شهودی اعداد اعتبار عینی دارد ،ولی این تفاوت عمده را دارد که
به خاطر استفاده از انبوهی عدد و ضرب و تقسیم توهمی از تعیّن و قابلیت اعتماد به وجود میآورد.
خیلی اوقات اعدادی که با محاسبه به دست میآیند با شهود فاصله زیادی دارند .در این حالت میتوان جلساتی
با حضور افراد تصمیم گیرنده و کارشناس تشکیل داد و در مورد ضرایب توافق کرد .نکته مهم در این است که در
چنین مواقعی تایید تمام افراد کلیدی گرفته شود تا بعدا اعتراضی به مقادیر نشود.
یک راه رایج برای محاسبه ضرایب وزنی برای پروژههای EPCاینگونه است:
.1ضرایب وزنی را بر اساس هزینه محاسبه میکنیم .به این ترتیب وزن تمام فعالیتها و خالصه
فعالیتها مشخص میشود.
.2وزن اولین سطح برنامه که احتماال P ،Eو Cهستند را طی جلسهای بازبینی میکنیم و اعدادی که به
لحاظ شهودی مناسبتر هستند را انتخاب میکنیم .معموال در این فرآیند وزن Pکاهش و دو بخش
دیگر افزایش داده میشود.
.3وزن زیرمجموعه های هریک از سه سرفصل اصلی پروژه را با ضرب کردن در ضریبی ساده تعدیل
میکنیم ،طوری که خالصهسازی شده آنها در سطح اول به مقادیری که برای P ،Eو Cمشخص
شده است برسد.
از این روش برای هر نوع پروژهای میتوان استفاده کرد ،به شرط آنکه زیرمجموعههای آیتمهای سطح اول
پروژه همجنس باشند .در مورد پروژههای EPCزیرمجموعههای Eهمگی از جنس طراحی ،زیرمجموعههای P
همگی از جنس تدارکات و زیرمجموعههای Cهمگی از جنس اجرا هستند ،در نتیجه نیازی نیست که تعدیلی
در داخل آنها انجام شود و نسبت ضریب وزنی فیزیکی آنها برابر با نسبت هزینههایشان خواهد بود.
محاسبه پیشرفت
در فصل 19توضیح داده شد که تعدادی فیلد برای ثبت و ارزیابی اطالعات واقعی وجود دارد و این فیلدها به سه
گروه کار ،زمان و هزینه تقسیم میشوند .ارتباط بین گروهها نیز قابل تنظیم است.
برای دریافت پیشرفت راههای متفاوتی وجود دارد که عمدتا یکی از این موارد هستند:
روش اول توصیه نمیشود ،زیرا نمیتوانید ضرایب وزنی فیزیکی را در محاسبه وارد کنید و نتیجهای که دریافت
میکنید با وزنهای زمانی خواهند بود .سه روش باقیمانده در ادامه توضیح داده میشوند.
یک راه ساده برای تولید پیشرفت فیزیکی ،استفاده از فیلد % Work Completeاست .این فیلد پیشرفت را با
نسبتهایی که در فیلد Workقرار دارند محاسبه میکند ،در نتیجه اگر فیلد Workحاوی ضرایب وزنی فیزیکی
باشد ،پیشرفت فیزیکی تولید خواهد شد.
این روش زمانی قابل استفاده است که برنامه منبع نداشته باشد ،زیرا منابع روی مقدار Workتاثیر میگذارند.
بهتر است نوع فعالیتها را هم Fixed Workتعیین کنید .اگر برنامه منبع نداشته باشد میتوانید ضرایب وزنی
فیزیکی را در فیلد Workفعالیتها وارد کنید .مقدار Workخالصه فعالیتها بر اساس زیرمجموعههایشان مقدار
میگیرد .همیشه بعد از وارد کردن مقادیرِ فعالیتها مقدار Workخالصه فعالیت پروژه را هم کنترل کنید تا
دقیق باشد (مقداری مانند صد ،صدهزار یا مانند آنها داشته باشد).
شکل 21-1برنامه نمونهای را نشان میدهد که وزن فعالیتهای آن در فیلد Workوارد شدهاند.
اکنون فرض کنید فعالیت اول ٪51پیشرفت کرده باشد (شکل .)21-2این پیشرفت بر اساس متود ثبت
اطالعات واقعی شکل گرفته است و تفاوتی ندارد که از چه روشی برای ثبت استفاده کردهاید.
همانطور که میبینید ٪51پیشرفت فعالیت اول منجر به ٪38پیشرفت پروژه شده است ،زیرا وزن این فعالیت
٪75بوده است .فیلد % Completeپیشرفت را با وزنِ زمان محاسبه میکند ،در نتیجه مقادیر متفاوتی را
نمایش خواهد داد (شکل .)21-3
توجه داشته باشید که گزارش کردن مقادیر % Completeدر چنین شرایطی هیچ کاربردی ندارد.
اگر برنامه منبع داشته باشد و مقدار کار منابع به نوعی با ضرایب وزنی فیزیکی همخوان باشند نیز میتوان از این
روش استفاده کرد .در این حالت توجه داشته باشید که کارکرد منابع هم ارزش در نظر گرفته میشود .نکته
دیگر این است که در این حالت معموال بهتر است فعالیتها از نوع Fixed Workباشند تا در نتیجه تغییر عناصر
زمانبندی مقدار کار و در نتیجه مقادیر پیشرفت آنها تغییر نکند.
اگر منابع مختلفی به فعالیتها اختصاص داده باشید ،میتوانید در کنار آنها منبعی هم برای درج ضرایب وزنی
اضافه کنید و بعدا به جای % Work Completeخالصه فعالیت ،مقدار % Work Completeهمان منبع را
استخراج کنید .اگر الزم باشد میتوانید برای این کار به جای Resource Sheetبه نمای Task Usageمراجعه
کنید تا به سطوح مختلف برنامه که زیر آن منبع لیست شدهاند نیز دسترسی داشته باشید.
Baseline Cost اگر برای ارزیابی پروژه از تحلیل ارزش کسب شده استفاده کنید ،حاصل تقسیم BCWPبر
مقدار پیشرفت فیزیکی واقعی را گزارش خواهد کرد.
در این روش باید Baseline Costهر فعالیت برابر با ضریب وزنی فیزیکی آن فعالیت باشد .اگر هزینهها را طوری
تنظیم کنید که Costاولیه خالصه فعالیت پروژه 111باشد (مقداری که بعدا در Baseline Costذخیره
میشود) ،نیازی نخواهد بود که BCWPرا بر Baseline Costتقسیم کنید.
اگر ارتباط هزینه با سایر گروهها قطع نشده باشد Cost ،و Baseline Costبرابر خواهند بود و میتوانید مقدار
BCWPرا به جای Baseline Costبر Costنیز تقسیم کنید.
از آنچه گفته شد مشخص میشود که این روش عمدتا زمانی کاربرد دارد که هزینهها را در برنامه وارد نکرده
باشید .در این حالت میتوانید ضریب وزنی هر فعالیت را در فیلد Fixed Costهمان فعالیت وارد کنید .بعد از
این کار Costخالصه فعالیت پروژه را کنترل کنید که دقیق باشد (مقداری مانند صد یا صدهزار داشته باشد).
اگر هزینه ها را در برنامه وارد کرده باشید و در عین حال بنا باشد که پیشرفت فیزیکی را با ضرایب هزینه
محاسبه کنید نیز این روش مناسب خواهد بود.
توجه داشته باشید که منابع هزینه در تحلیل ارزش کسب شده در نظر گرفته نمیشوند.
به شکل 21-4توجه کنید .ضریب وزنی فعالیتها در فیلد Fixed Costوارد شده است و میتوانید خالصهسازی
شده آن را در فیلد Costبخوانید .توجه داشته باشید که برای خالصه فعالیتها نباید ضریب وارد کنید و اجازه
بدهید که خودکار محاسبه شود.
اکنون اگر فعالیت اول پیشرفتی معادل ٪51داشته باشد ،وضعیتی مشابه آنچه در شکل 21-5دیده میشود رخ
خواهد داد.
پیش از دریافت مقدار به Status Dateتاریخی پس از پایان پروژه دهید .در غیر این صورت پیشرفتهای واقعی
پس از Status Dateدر محاسبه منظور نخواهند شد.
Baseline Costدر این مثال BCWPفعالیت اول 37/5است ،که حاصل تقسیم آن بر ( Costکه در این برنامه با
برابر است) ٪51میشود BCWP .پروژه نیز 37/5است که حاصل تقسیم آن بر Baseline Costپروژه ٪37/5
خواهد بود.
بهتر است برای محاسبه پیشرفت فیلدی اختصاصی بسازید که تقسیمِ گفته شده را انجام دهد .برای این منظور
فیلدی مانند Number1را به جدول اضافه کنید .بعد از آن روی فیلد جدید کلیک راست کرده ،از منویی که باز
میشود Custom Fieldsرا انتخاب کنید .روی دکمه Formulaکلیک کنید .از فرمولی که در شکل 21-6
نمایش داده شده است استفاده کنید.
روی OKکلیک کنید تا فرمول ذخیره شود .پس از تنظیم فرمول گزینه Use Formulaرا هم در کادر محاوره
اختصاصیسازی فیلد فعال کنید تا مقدار خالصهفعالیتها نیز محاسبه شود .شکل 21-7نتیجه را نشان میدهد.
اگر مایل باشید میتوانید پیشرفت برنامه ریزی شده را هم با روش مشابی استخراج کنید ،با این تفاوت که به
جای BCWPاز BCWSاستفاده کنید و Status Dateرا هم به جای تاریخی بعد از پایان پروژه ،در تاریخی که
مد نظر دارید قرار دهید .اگر متود ثبت اطالعات واقعی طوری باشد که زمانبندی را تغییر دهد برای این شیوه
محاسبه پیشرفت برنامهریزی شده مشکلی ایجاد نخواهد شد ،زیرا این مقدار بر اساس خطمبنا محاسبه میشود.
اگر برنامه هزینه داشته باشد نیز میتوانید با روندی پیچیدهتر پیشرفت را از فیلدهای تحلیل ارزش کسب شده
بخوانید .برای این کار منبعی تعریف کنید که هزینههایش ضرایب وزنی فیزیکی را انعکاس دهد .بعد از آن
ساختار شکستی برای منابع بسازید تا آنها را به دو گروه (منابع واقعی و منبعی که برای محاسبه پیشرفت
فیزیکی ساخته شده است) تقسیم کند .هزینهها را از سرفصل منابع واقعی بخوانید و پیشرفت فیزیکی را از
سرفصل منبعی که برای این منظور تهیه کردهاید .برای دریافت مقادیر کل پروژه نمای Resource Sheetکفایت
میکند ،ولی برای دریافت مقادیر سطوح مختلف باید به نمای Resource Usageمراجعه کنید.
پیادهسازی هرکدام از دو روش قبل محدودیتهایی دارد .زمانی میتوان پیشرفت فیزیکی را با
% Work Completeپیاده سازی کرد که محدودیتی از جانب منابع وجود نداشته باشد و زمانی میتوان از
BCWPاستفاده کرد که نیازی به پیادهسازی هزینهها وجود نداشته باشد؛ در غیر این صورت باید از روشهای
پیچیدهتری که در قسمتهای قبل به آنها اشاره شد کمک بگیرید.
یک راه برای پیادهسازی پیشرفت فیزیکی ،طراحی فیلدهای اختصاصی و فرمولنویسی است ،که در این قسمت
بررسی میشود.
ضرایب وزنی فیزیکی در فیلد Number1وارد شده است .در روشهای قبل ضرایب در فیلدهای Fixed Costو
Workوارد می شدند و در هر دو مورد تاکید شد که فقط باید ضرایب فعالیتها را وارد کرد و خالصه فعالیتها
خودکار محاسبه میشوند .در این حالت نیز بهتر است فیلد Number1را طوری طراحی کرد که مقادیر
فعالیتها را دستی دریافت کند و مقدار خالصه فعالیتها را خودکار محاسبه کند (جمع زیرمجموعهها) .برای
این منظور روی عنوان Number1کلیک کرده ،از منویی که باز میشود Custom Fieldsرا انتخاب کنید .با این
کار کادر محاوره شکل 21-9باز خواهد شد.
Weight ابتدا روی دکمه Renameکلیک کنید و نام مناسبی به فیلد بدهید .در این مثال نام ( WFمخفف
)Factorاستفاده خواهد شد .بعد از آن گزینه Rollupو مقدار Sumرا انتخاب کنید .به این ترتیب خالصه
فعالیت پرو ژه مجموع تمام ضرایب وزنی را نشان خواهد داد .مقدار خالصه فعالیت را کنترل کنید تا دقیق باشد.
میتوانید ضرایب را طوری وارد کنید که مجموع آنها 111باشد .گاهی این کار محدودیتهایی در تعداد ارقام
اعشار به وجود میآورد ،زیرا به عنوان مثال فعالیتهایی وجود خواهند داشت که ضریب وزنی کمتر از 1دارند و
در این حالت نمیتوانید به آن ها مقداردهی کنید .در این صورت ضرایب را طوری طراحی کنید که مجموع آنها
به جای 111عدد بزرگتری مانند 11111باشد .در این صورت باید در فرمولهایی که پس از این ارائه میشود
نیز تغییراتِ مناسب را اعمال کنید.
برای محاسبه پیشرفت به دو فیلد نیاز خواهیم داشت .یکی از این فیلدها مقداری میانی را محاسبه میکند و
برای محاسبه فیلد اصلی الزم است .فیلد میانی را Number2و فیلد اصلی را Number3انتخاب خواهیم کرد.
این دو فیلد در شکل 21-11اضافه شدهاند.
فرض بر این است که مقادیر پیشرفت فعالیتها در % Completeوارد میشوند .فیلد میانی باید مقدار پیشرفت
فعالیتها را نسبت به کل محاسبه کند (حاصل ضرب % Completeدر )Number1و خالصهفعالیتهایش هم
مجموع فعالیتها باشند (شکل .)21-11
نام مناسبی هم به فیلد بدهید .در این مثال از نام tmpاستفاده خواهد شد.
فیلد نهایی باید مقادیر number2را بر number1تقسیم کند تا پیشرفتهای نسبی تبدیل به پیشرفتهای
مطلق شوند .شکل 21-12تنظیمهای فیلد را نشان میدهد.
در نهایت نام مناسبی هم به فیلد بدهید .در این مثال از نام Prgاستفاده خواهد شد .شکل 21-13وضعیت
نهایی را نشان میدهد.
مقادیری که فیلد Prgبرای فعالیتها گزارش میدهد با % Completeبرابر است ،ولی مقدارهایی که برای
خالصه فعالیتها محاسبه میکند مبتنی بر ضرایب وزنی فیزیکی است ،در حالی که % Completeاینچنین
نیست.
در این محاسبه مقدارها بر ضرایب وزنی تقسیم می شوند ،در نتیجه اگر ضریب وزنی آیتمی صفر باشد ،خطا
تولید خواهد کرد .برای رفع مشکل میتوانیم فرمول فیلد نهایی را به حالت زیر تبدیل کنیم:
)]IIf([Number1]=0,[% Complete],[Number2]/[Number1
در این پیشرفت آیتمهایی که ضریب صفر دارند به جای اینکه بر اساس ضریب محاسبه شود برابر با
% Completeخواهد بود .این فرمول مشکلی در مقادیر خالصهسازی شده نیز به وجود نمیآورد.
خط عمودی ضخیم نشاندهنده Status Dateاست .همانطور که میبینید پیشرفتهای واقعی (میلههای باریک
سفیدرنگ داخل میلههای فعالیتها) کمتر از مقادیر برنامهریزی شده هستند ،زیرا به خط عمودی Status Date
نرسیدهاند.
اکنون فرض کنید قرار است فعالیتهای برنامه ریزی شده ماه آینده را گزارش دهیم .انتهای ماه با خط عمود ِ
ی
کمرنگ مشخص شده است .همانطور که میبینید برنامهریزی اولیه این بوده است که در این ماه فعالیتهای
تکمیلی طبقه اول و قسمتی از اسکلت طبقه دوم انجام شود .ولی با وضعیت کنونی پروژه چنین فعالیتهایی
قابل انجام نیستند ،زیرا پیشنیازهای آنها انجام نشدهاند.
اگر برنامه را Rescheduleکنیم ،نتیجهای که در شکل 21-15دیده میشود را به دست خواهیم آورد.
فعالیتهایی که پس از این برای ماه آینده گزارش می شوند با واقعیت اجرایی همخوانی دارند .در این حالت
تکمیل اسکلت طبقه اول ،قسمتی از عملیات تکمیلی آن طبقه و قسمت کوچکی از اسکلت طبقه دوم در برنامه
قرار دارد.
نکته مهمی که باید توجه داشت این است که پس از Rescheduleبرنامهای که اجرای آن از برنامهریزی عقبتر
باشد ،پایان جدیدی به دست می آید که از پایان قبلی دیرتر است .اگر ماه آینده فعالیتهایی که به این ترتیب
گزارش می شود انجام شوند ،پروژه طبقه برنامه پیش رفته است و تاخیر و انحرافی به تاخیرها و انحرافهای قبلی
افزوده نمیشود ،ولی به معنی جبران انحرافهای قبلی نخواهد بود.
اگر مایل باشید می توانید عالوه بر محاسبه به شیوه گفته شده ،لیست دیگری از فعالیتها هم تهیه کنید که با
انجامِ آنها سهمی از انحرافهای قبلی نیز جبران میشود .برای این محاسبه میتوانید تناسبی بین زمانهای
باقیمانده تا پایان فعلی و پایان برنامه ریزی اولیه بگیرید و مدت دوره را به طور فرضی به همان اندازه افزایش
دهید (مثال برای دوره یک ماهه مدت 35روز را در محاسبات وارد کنید).
یکی از مسایل مهمِ ارزیابی ،مقایسه پیشرفت واقعی و برنامهریزی شده دورهای است .رایج است که پیشرفت
برنامهریزی شده دورهای را با تفاضل پیشرفتهای برنامهریزی شده تجمعی ابتدا و انتهای دوره به دست آورند،
در حالی که این روش کامال غلط است.
همان اصول و حساسیتهایی که در مورد تهیه لیست فعالیتهای دوره وجود دارد ،برای محاسبه پیشرفت
برنامهریزی شده دورهای نیز وجود دارد .منظور از پیشرفت برنامهریزی شده ترکیبی دوره ،مقداری است که بر
اساس فعالیتهای برنامهریزی شده دوره که بعد از بهروزرسانی محاسبه میشوند به دست میآید.
.1اطالعات پیشرفت واقعی را با ابتدای دورهای که در نظر داریم وارد کرده ،برنامه را برای همان تاریخ
Rescheduleمیکنیم.
.3تفاضل پیشرفتی که به این ترتیب تا پایان دوره به دست میآید و پیشرفتی که قبال برای ابتدای دوره
به دست آمده بود پیشرفت برنامهریزی شده ترکیبی دوره خواهد بود.
این محاسبه را نمی توان یک بار برای کل پروژه به دست آورد و باید در هر دوره کنترلی برای دوره قبل محاسبه
شود ،زیرا این محاسبه نیاز به اطالعات واقعی نیز دارد.
برنامه ریزهایی که در ایران مشغول به کار هستند معموال مجبورند که پیشرفت را به شکلی که اصطالحا
«پیشرفت فیزیکی» نامیده می شود و در کشورهای پیشرفته مرسول نیست محاسبه کنند .با این حال روش
مرسول در اکثر پروژهها ،به خصوص آنهایی که در کشورها و شرکتهای پیشرفته اجرا میشوند ،تحلیل ارزش
کسب شده است .به همین خاطر الزم است که با وجود آشنایی با مطالب فصل گذشته که در مورد محاسبه
پیشرفت فیزیکی بود ،با مفهوم تحلیل ارزش کسب شده نیز به خوبی آشنا باشید .البته یک راه پیادهسازی
پیشرفت فیزیکی نیز استفاده از فیلدهای تحلیل ارزش کسب شده است و در نتیجه هرچه بیشتر با عملکرد این
مجموعه آشنا باشید در محاسبه پیشرفت فیزیکی نیز موثرتر عمل خواهید کرد.
مجموعه فعالیتی مانند نازک کاری یک ساختمان را در نظر بگیرید .این مجموعه شامل تعداد زیادی کار میشود
که هرکدام نیاز به تخصصهایی دارند ،نیاز به مدیریت دارند و زمان فراوانی هم صرفِ آنها میشود .فعالیت
دیگری مانند تهیه و نصب تجهیزات موتورخانه را در نظر بگیرید .ممکن است تهیه آن یک هفته زمان ببرد و در
دو روز هم نصب شود؛ ولی هزینه آن در مقابل نازککاری قابل توجه باشد.
اگر هزینه مبنا قرار گیرد ،ارزش تهیه و نصب موتورخانه به اندازه نسبت هزینه آن به هزینه کلِ نازککاری
خواهد بود ،و این مسئله از نظر هیچکس قابل قبول نیست ،زیرا کاری که صرفِ آن میشود به مراتب کمتر از آن
نسبت نازککاری است.
نکتهای که باید در نظر گرفته شود این است که اقالمی اینچنینی بی دلیل گرانقیمت نیستند .تجهیزات
موتورخانه سریع تهیه و نصب می شوند ،ولی زمان ،نیروی کاری ،تخصص و منابع فراوانی در کارخانه سازنده
صرفِ آن میشود .این زمان ،نیرو ،تخصص و منابع عمال برای پروژه مصرف شدهاند و در نتیجه هزینه باالی
تجهیزات را توجیه میکنند .نکته مهم در این است که اگر هزینهها اینگونه در محاسبه پیشرفت درج شوند،
پیشرفت پروژه به دقت و به شیوه مناسبی تعیین میشود ،ولی معموال چنین چیزی هدف نیست!
معموال هدف از ارزیابی در پروژه ها ،سنجش عملکرد پیمانکار است و نه پروژه؛ کاری که کارخانه سازنده انجام
داده است در راستای پیشبرد پروژه بوده است ،ولی ارتباط چندانی با کاری که پیمانکار انجام داده است ندارد.
پیش از ابداع و رواج تحلیل ارزش کسب شده معموال وضعیت پروژهها را با مقایسه هزینه واقعی و هزینه
برنامهریزی شده می سنجیدند .اگر هزینه واقعی کمتر از هزینه برنامهریزی شده بود ،برایشان به معنی جلو بودنِ
از برنامه بود و اگر کمتر بود ،به معنی عقب بودن .ولی این روش مناسب نیست ،زیرا برآوردهای مالی همیشه
تقریبی هستند و این تقریب بر فاصله بین هزینه واقعی و برنامهریزی شده اثر میگذارد .به عنوان مثال ممکن
است کار تا مرحلهای خاص از برنامه عقب باشد ،ولی به خاطر پایین بودن برآوردهای اولیه ،هزینه واقعیِ آن از
هزینه برنامهریزی شده باالتر باشد.
برای رفع این مشکل تعبیری به نام ارزش کسب شده ) (Earned Valueابداع شد .ارزش کسب شده هزینه
برنامه ریزی شده کارهای انجام شده است .یعنی اگر برآورد اولیه کاری 111واحد مالی باشد و نیمی از آن انجام
شده باشد ،ارزش کسب شده آن 51واحد مالی خواهد بود؛ حال اینکه ممکن است برای انجام آن مقدار از کار
121واحد مالی صرف شده باشد .ارزش کسب شده همان پیشرفت فیزیکی است؛ در این مثال پیشرفت فیزیکی
فعالیت ٪51است ،در حالی که پیشرفت مالی آن ٪121است.
سه مقدار زیر در تحلیل ارزش کسب شده نقش مهمی دارند:
Status Date :1BCWSهزینه برنامهریزی شده کارهای برنامهریزی شده تا
Status Date :2ACWPهزینه واقعی کارهای انجام شده (واقعی) تا
منظور از ارزش کسب شده ) (Earned Valueیا به طور خالصه ،EVهمان BCWPاست .اهمیت این مقدار در
این است که هزینههای واقعی نماینده پیشرفت کار نیستند ،زیرا ممکن است برآوردهای اولیه با اجرا مطابقت
کافی نداشته باشند .ارزش کسب شده مبلغ کارهای انجام شده را به تناظر هزینه اولیه مشخص میکند.
توجه داشته باشید که اگر فعالیتی بیش از مقدار برنامهریزی شده در Status Dateپیشرفت کرده باشد،
پیشرفتی که اضافه بر آن تاریخ کرده باشد در محاسبه ارزش کسب شده لحاظ نمیشود.
1
Budgeted Cost for Work Scheduled
2
Actual Cost for Work Performed
3
Budgeted Cost for Work Performed
هر سه فیلد مقداری مالی دارند ،ولی میتوانید آن ها را بر برآورد هزینه کل پروژه تقسیم کنید تا تبدیل به درصد
پیشرفت شوند .در این صورت:
این دو فیلد وجود ندارند و در صورتی که به آنها نیاز دارید میتوانید از فیلدهای اختصاصی کمک بگیرید.
محاسبات دیگری نیز بر اساس این سه فیلد انجام میشود که برخی از آنها از این قرارند:
:1SPIحاصل تقسیم BCWPبر BCWSاست .اگر مقدار 1داشته باشد ،به معنی انطباق اجرا بر برنامه
و در غیر این صورت نشاندهنده انحراف است.
:2CPIحاصل تقسیم BCWPبر ACWPاست و انحراف هزینه واقعی و هزینهای که میبایست برای
همان کارها صرف شده باشد را نشان میدهد .عدد 1نشاندهنده نبودِ انحراف است.
:3SVبا رابطه BCWP-BCWSبه دست میآید و تعبیری غیر نسبی از انحراف زمانبندی است.
معموال به جای این فیلد از SPIیا SV%استفاده میشود.
1
Schedule Performance Index
2
Cost Performance Index
3
Schedule Variance
:SV%با رابطه (BCWP-BCWS)/BCWSبه دست میآید و تعبیری نسبی از انحراف زمانبندی
است.
:1CVبا رابطه BCWP-ACWPبه دست میآید و تعبیری غیر نسبی از انحراف هزینه است .معموال به
جای آن از فیلد CPIیا CV%استفاده میشود.
:CV%با رابطه (BCWP-ACWP)/BCWPبه دست میآید و تعبیری نسبی از انحراف هزینه است.
BAC2 :BaselineX Costمقدار مهمی که برای محاسبات تحلیل ارزش کسب شده به کار میرود
است که هزینه برنامهریزی شده کار کار را نشان میدهد .در Projectفیلد جداگانهای برای BAC
وجود ندارد ،زیرا مقدار آن با BaselineX Costبرابر است.
:3TCPIفیلد CPIشاخص عملکرد هزینه را تا Status Dateنشان میدهد .فیلد TCPIنشان میدهد
که برای تکمیل پروژه باید ادامه کار با چه مقدار CPIانجام شود TCPI .از رابطه (BAC-
) BCWP)/(BAC-ACWPبه دست میآید.
1
Cost Variance
2
Budget At Completion
3
To Complete Performance Index
4
Estimate At Completion
:1VACبا رابطه BAC-EACمحاسبه میشود و انحراف هزینه تخمینی زمان تکمیل را با هزینه
برنامهریزی شده نشان میدهد.
آخرین فیلدهای تحلیل ارزش کسب شده که جنبه تنظیمی دارند از این قرارند:
:Earned Value Methodشیوه محاسبه ارزش کسب شده را برای تک تک فعالیتها تعیین میکند.
یک انتخاب این است که پیشرفتها بر اساس فیلد % Completeمحاسبه شوند ،یعنی جنبه زمانی
داشته باشند و انتخاب دیگر فیلد Physical % Completeاست که مقدارهای آن دستی وارد میشوند.
: Physical % Completeاین فیلد به جز تحلیل ارزش کسب شده کاربرد دیگری ندارد ،محاسباتی
نیست (مقدارهای خالصهفعالیتها بر اساس فعالیتها محاسبه نمیشوند) و زمانی به کار میروند که
Earned Value Methodفعالیتی از نوع Physical % Completeباشد .زمانی از این ترکیب استفاده
میکنند که مقادیر محاسباتی % Completeبرای محاسبه تحلیل ارزش کسب شده مناسب نباشد.
تمام مقدارهای Physical % Completeرا باید دستی وارد کرد.
بسیاری از فیلدهای تحلیل ارزش کسب شده زمانمند هستند و این ویژگی قابلیت بسیار مهمی به شمار میرود.
بسیاری از این فیلدها عالوه بر فعالیتها و خالصهفعالیتها در منابع نیز کاربرد دارند .به عنوان مثال میتوانید
پیشرفت هر منبع یا گروهی از منابع را هم از فیلدهای BCWPو BCWSبخوانید.
1
Variance At Completion
همیشه باید در پایان برنامه ریزی و بعد از تصویبِ آن ،خط مبنایی ذخیره کنید تا وضعیت اولیه برنامه حفظ
شود .تحلیل ارزش کسب شده بدون خط مبنا پیادهسازی نمیشود .بنا بر این باید توجه بیشتری به خط مبنا
داشته باشید.
از سوی دیگر اگر بیش از یک خط مبنا دارید ،باید مراقب باشید که خط مبنای مناسبی برای تحلیل ارزش
کسب شده به کار رود .استفاده از هر خط مبنا تعبیر خاص خود را دارد ،ولی نکته مهم این است که خط مبنایی
که به کار میرود با تعبیری که وجود دارد هماهنگ باشد.
File| Options| Advanced برای تعیین خط مبنایی که در محاسبات تحلیل ارزش کسب شده به کار میرود ،به
بروید (شکل .)21-1
خط مبنایی که قصد دارید برای محاسبه تحلیل ارزش کسب شده به کار رود را در
Baseline for Earned Value calculationانتخاب کنید .در این قسمت کادر بازشویی وجود دارد که خطهای
مبنا را نشان میدهد.
نکته دیگری که اهمیت دارد ،مقدار Status Dateاست .تقریبا تمام فیلدهای تحلیل ارزش کسب شده به نوعی
وابسته به این مقدار هستند .معموال بهتر است که Status Dateرا برابر با تاریخِ ورود آخرین مقادیر واقعی تنظیم
کرد .خود را عادت دهید که هر بار پیش از استخراج مقادیر تحلیل ارزش کسب شده Status Date ،را کنترل
کنید.
برای تنظیمِ تاریخ روی آن کلیک کنید تا کادر محاوره شکل 21-3باز شود.
تاریخ مورد نظر خود را وارد کرده ،روی OKکلیک کنید .مطابق معمول میتوانید تاریخ را دستی وارد کنید یا
روی فلشِ کوچکِ سمت راست کلیک کنید تا تقویمی باز شود و تاریخ را از شما دریافت کند.
یک راه دیگر برای تغییر این تاریخ ،مراجعه به کادر محاوره Project Informationاست .برای این منظور
Project| Properties| Project Informationرا اجرا کنید یا کلید Altصفحه کلید را نگه داشته ،دو بار کلید Pرا
بفشارید (شکل .)21-4
در این کادر محاوره قسمتی به نام Status Dateوجود دارد که تاریخ را نشان میدهد و میتوانید آن را تنظیم
نیز بکنید.
آخرین نکته ای که باید در استفاده از تحلیل ارزش کسب شده در نظر داشته باشید این است که هزینههای
ناشی از منابع هزینه ) (cost resourceدر این محاسبات به کار نمیرود .فقط Fixed Costها و هزینههای منابع
کاری و مصرفی در تحلیل ارزش کسب شده به کار میروند.
تمام فعالیتها دارای یک یا دو منبع هستند ،که نام آنها در نمودار گانت نمایش داده شده است .هزینه منابع
نیز به صورتی است که در شکل 21-6دیده میشود.
برای برخی از فعالیت ها هزینه ثابت نیز تعریف شده است .خط مبنای برنامه نیز ذخیره شده و در نمودار گانت
با میلههای پر رنگ نمایش داده شده است.
فیلدهای ACWPو BCWPوابسته به پیشرفت هستند و چون پیشرفت برنامه در حال حاضر صفر است ،همگی
مقدار صفر نشان میدهند .فیلد BCWSبر اساس پیشرفت واقعی نیست و بر اساس Status Dateمقدار گرفته
است Status Date .در ابتدای روز ششم قرار دارد (در نمودار گانت با خطچین مشخص شده است) ،پس
میتوانیم نتیجه بگیریم که تا این تاریخ باید 3611واحد از کل مقدار که 6811است ،هزینه شده باشد ،یعنی
٪53پیشرفت کرده باشیم .البته توجه داشته باشید که مقدار 6811در فیلد Costقرار دارد که میتواند با
پیشرفت پروژه تغییر کند و باید مقدار برنامهریزی شده را از Baseline Costخواند .ولی در حال حاضر چون
برنامه مطابق خط مبنا است ،این دو مقدار برابرند.
میتوانید Status Dateرا عوض کنید تا مقدار پیشرفت برنامهریزی شده تاریخهای دیگر نیز به دست آید .اگر
نیاز به کنترل یا استخراج مقدار در تاریخهای متعددی دارید ،بهتر است که از BCWSزمانمند استفاده کنید.
برای این کار به نمای Task Usageمراجعه کرده ،فیلد BCWSرا در جدول زمانمند باز کنید .شکل 21-8
نمای ترکیبی گانت و Task Usageرا همراه با تمام فیلدهای ارزش کسب شده زمانمند ،نشان میدهد.
در قسمت باالی نما ،خالصه فعالیت پروژه انتخاب شده و در نتیجه در جدول پایین اطالعات همان آیتم ،یعنی
خالصه فعالیت پروژه نشان داده شده است .همانطور که دیده میشود BCWS ،فقط تا Status Dateمقدار
گرفته است .پس برای به دست آوردن کل مقدارها Status Date ،را به انتهای پروژه منتقل میکنیم (شکل -9
.)21
اکنون میتوانید مقدارهای پیشرفت برنامهریزی شده پروژه را از ردیف BCWSبه دست آورید .اگر قصد دارید
نمودار پیشرفت برنامه ریزی شده را ترسیم کنید ،این ردیف را انتخاب کرده ،اطالعات آن را به یک صفحه Excel
کپی کنید (شکل .)21-11
مقدار ،BACکه با Baseline Costبرابر است را از نمودار گانت بخوانید .این مقدار در برنامه نمونه برابر است با
. 6811مقدار را در اکسل وارد کنید و ردیف جدیدی بسازید که حاصل تقسیم BCWSها را بر BACنشان دهد
(شکل .)21-11
به این ترتیب مقدار پیشرفت برنامهریزی شده پروژه در روزهای مختلف به دست میآید .میتوانید بر این اساس
نمودار را رسم کنید (شکل .)21-12
شکستگی موجود در میانه نمودار ،که به معنی توقف پیشرفت است ،به خاطر وجود دو روز تعطیلی تقویمی
برنامه است.
(S-Curve) S نمودارهای پیشرفت ،در حالت معمولی ،شکلی شبیه Sدارند ،و به همین خاطر به آنها منحی
گفته می شود .معموال پیشرفت کار در ابتدا کند است ،بعد از مدتی سرعت میگیرد و در نهایت با نزدیک شدن
به انتهای پروژه ،دوباره کند میشود .به همین خاطر نمودار شکل Sپیدا میکند .علت آنچه گفته شد ،این است
که در ابتدای پروژه جبهه های کاری بسیار محدود است ،در حالی که با پیشرفت کار ،جبهههای کاری بیشتری
باز میشوند و کارهای بیشتری میتوانند به موازات هم انجام شوند؛ به همین خاطر پیشرفت سریعتر میشود .با
نزدیک شدن به انتهای پروژه ،جبهههای کاری به تدریج بسته می شوند و به همین خاطر پیشرفت نیز به طور
تدریجی کند میشود.
همیشه بعد از تهیه برنامه زمان بندی ،نمودار پیشرفت آن را تهیه کنید .اگر شکل آن به صورت Sنباشد و در
٪51زمان حدود ٪51پیشرفت را نداشته باشد ،به این معنی است که توزیع کار در مدت پروژه چندان متعادل
نیست .البته توجه داشته باشید که طبیعت برخی پروژهها چنین ایجاب میکند و آنچه گفته شد کلی است.
فرض کنید قصد داریم در روز چهارم ،اطالعات واقعی فعالیتها را وارد کنیم .در این مثال برای وارد کردن
مقادیر واقعی ،از سادهترین روش ،یعنی وارد کردن آنها در فیلد پیشرفت زمانی استفاده میشود .برای ثبت بهتر
اطالعات ،سه گزینه اول Moveمربوط به ثبت را فعال میکنیم (گزینهها در Tools| Options| Calculations
قرار دارند) .فعالیتهای b ،aو dبه ترتیب ٪5 ،٪111و ٪81پیشرفت کردهاند.
اولین قدم تنظیم Status Dateاست .بعد از آن مقدارهای پیشرفت را در جدول وارد کنید .شکل 21-13نتیجه
را نشان میدهد.
همانطور که در شکل دیده میشود ،برنامه دچار تاخیر شده است .برای استخراج نتایج ،به جدول گانت مراجعه
کنید (شکل .)21-14
مقدارهای مربوط به کل پروژه ،که از طریق خالصه فعالیت پروژه قابل دسترسی هستند ،از این قرارند:
اولی ن نکته این است که چون مقدارهای واقعی هزینه را ویرایش نکردهایم ،مقدارهای ACWPو BCWPیکسان
است .در مرحله بعد ،میتوانیم از مقایسه BCWPو BCWSمتوجه شویم که کار انجام شده کمتر از مقدار
برنامهریزی شده است 711 :واحد به جای 1161واحد .اگر ستون SPIرا به جدول اضافه کنیم شاخص پیشرفت
زمانی را به دست خواهیم آورد .در حال حاضر این مقدار ٪66است ،یعنی تنها ٪66آنچه برای اجرا برنامهریزی
شده بود را انجام دادهایم.
فرض کنید به روز دهم رسیدهایم و پیشرفت f ،e ،d ،c ،bو gبه ترتیب 111 ،111 ،111 ،91 ،111و 91
درصد است .در عین حال ،هزینه فعالیت fکه قبال 1611پیشبینی شده بود ،در عمل 2211شده است.
ابتدا Status Dateرا تنظیم و بعد از آن مقدارهای پیشرفت را وارد کنید .در نهایت مقدارهای واقعی هزینه
فعالیت گفته شده را در فیلد Actual Costوارد کنید .شکل 21-15وضعیت برنامه را نشان میدهد.
همانطور که از نمودارهای فعلی و خط مبنای خالصه فعالیت پروژه مشخص است ،در حال حاضر از برنامه جلو
هستیم .مقدارهای ارزش کسب شده در شکل 21-16نمایش داده شدهاند.
SPIمقدار 1/12دارد ،به این معنی که از نظر زمانبندی از برنامه جلو هستیم.
هزینه واقعی ،یعنی فیلد ،ACWPمقدار 7176را نشان میدهد ،در حالی که هزینه برنامهریزی شده که در فیلد
BCWPقرار دارد 6446 ،است .به عبارت دیگر ،با اینکه از نظر زمانی از برنامه جلو هستیم ،از نظر هزینه
وضعیت چندان مناسب نیست .شاخص هزینه که در فیلد CPIقرار دارد ،مقدار ٪91را نشان میدهد ،به این
معنی که تنها ٪91هزینه انجام شده در بودجهبندی اولیه وجود داشته است.
نکته بسیار مهم این است که تنها فاکتور تعیین کننده موفقیت پروژه ،شاخص زمان ) (SPIنیست .پروژهای
موفق است که با زمان ،هزینه و کیفیت مناسب تکمیل شود.
فرض کنید پروژه در ابتدای روز یازدهم تمام شده باشد Status Date .را تنظیم کرده ،درصد پیشرفت زمانی
تمام فعالیتها را ٪111کنید .وضعیت پروژه در شکل 21-17نمایش داده شده است.
اکنون می توانیم گزارش کاملی از کارکرد پروژه ارائه کنیم ،چون اطالعات واقعی به صورت زمانمند در آن ثبت
شدهاند.
اولین مسئله ،شاخص زمان است .شاخص زمان کل پروژه بعد از تکمیل 1/14 ،است ،پس پروژه زودتر از برنامه
تمام شده است .اگر خالصه فعالیتها را کنترل کنید ،متوجه میشوید که به ترتیب 1 ،1و 1/13هستند .به این
معنی که دو خالصه فعالیت اول طبق برنامه و سومی سریعتر از برنامه اجرا شده است.
شاخص هزینه 1/92است ،به این معنی که بودجه بندی اولیه حدود ٪8کمتر از هزینه واقعی بوده است .پس از
این نظر مجری دچار خسارت شده است .اگر به جدول دقت کنید ،مشخص است که تمام فعالیتهای شاخص
هزینه 1دارند ،به جز ،fکه شاخص 1/73دارد .پس مسئله افزایش هزینه fباید بررسی شود.
اکنون میتوانید ردیف BCWPو ACWPرا هم به Excelمنتقل کرده ،نمودارهایشان را تهیه کنید (شکل -19
.)21
در مرحله بعد میتوانید به Resource Sheetرفته ،فیلدهای ارزش کسب شده مورد نظر را به جدول منابع اضافه
کرده و کارکرد منابع را هم کنترل کنید.
در این برنامه چهار فعالیت تعریف شده ،که از منابع rs1و rs2استفاده میکنند .برای ثبت اطالعات واقعی ،به
جای روش قبل ،از وارد کردن Actual Durationو Remaining Durationاستفاده خواهیم کرد .توجه داشته
باشید که در روش قبل مدت زمان فعالیتها تغییر نمی کرد ،به همین خاطر هزینه متناظر با منابع نیز تغییری
نسبت به خط مبنا نداشت .ولی با این روش ،مدت زمان فعالیتها میتواند تغییر کند.
فعالیت aطبق برنامه آغاز شده و با یک روز تاخیر تکمیل شده است.
فعالیت bبا یک روز تاخیر نسبت به خط مبنا آغاز شده و پیشبینی میکنیم که در پایان روز هفتم
تمام شود.
فعالیت cطبق خط مبنا شروع شده ،تا کنون حدود ٪51پیشرفت کرده و پیشبینی زمان تکمیل آن
گزارش نشده است.
ابتدا Status Dateرا مشخص کنید .بعد از آن تاریخ شروع و پایان واقعی aرا وارد کنید .تاریخ شروع واقعی و
مدت زمان باقیمانده bرا وارد کنید .تاریخ شروع واقعی cرا وارد کنید .برای اینکه این فعالیت بعد از گذشت
دو روز کار ٪51 ،پیشرفت زمانی داشته باشد ،باید مدت زمان باقیمانده آن نیز 2باشد؛ این مقدار را در
Remaining Durationوارد کنید.
شکل : 21-22وضعیت برنامه بعد از وارد کردن اولین سری اطالعا واقعی
فرض کنید اطالعات واقعی در ابتدای روز دهم از این قرار است:
بعد از تنظیم ،Status Dateمقدارهای واقعی را وارد کنید .وضعیت برنامه در شکل 21-23نمایش داده شده
است.
شکل :21-23وضعیت برنامه بعد از وارد شدن دومین سری مقدارهای واقعی
پروژه در ابتدای روز هفدهم تکمیل شده است .تاریخ گفته شده را در Status Dateوارد کرده ،تاریخ پایان واقعی
تنها فعالیت باقیمانده ،یعنی dرا هم برابر آن وارد کنید (شکل .)21-24
همانطور که دیده میشود ،مقدار ACWPبیشتر از هزینه برآورد شده اولیه ،که در BCWS ،Baseline Costو
BCWPنمایش داده شده است میباشد .به تناظر آن ،شاخص هزینه ) (CPIنیز مقدار 1/63را نشان میدهد ،به
این معنی که برآورد اولیه برابر ٪63هزینههای واقعی بوده است.
به نمای Resource Sheetرفته ،فیلدهای ارزش کسب شده را به جدول اضافه کنید (شکل .)21-25
همانطور که در ابتدای فصل توضیح داده شد ،فیلد CPIبرای منابع تعریف نشده است .با این حال میتوانید
مقدار آن را به طور دستی محاسبه کنید .در این برنامه ،به منبع rs1مقدار 2125واحد بودجه اختصاص داده
شده بود ،که به جای آن مقدار 2745واحد هزینه شده است .پس CPIحدود 1/74خواهد بود .شاخص مالی
برای rs2حدود 1/59است .با این حساب ،منبع rs1بیشتر مطابق برنامه عمل کرده است.
به Status Dateتاریخ روز نهم را اختصاص دهید .با این کار جدول منابع مقدارهای شکل 21-26را نشان
خواهند داد.
در این تاریخ ،مقدار BCWPمنبع rs2برابر 2211و BCWSآن 3961است ،به این معنی rs2حدود ٪56
کارهایش را انجام داده است .با این حال ACWPبرابر 4411است ،به این معنی که منبع بیشتر از آنچه
برنامهریزی شده بود ) (BCWSهزینه کرده است.
ارزیابی عملکرد پروژه عمدتا با تحلیل ارزش کسب شده انجام میشود .با این حال این روش در برخی
تحلیلهای زمانی چندان قوی نیست و به همین خاطر شیوههای متعددی برای تقویت آن جنبه پیشنهاد
شدهاند ،که موفقترین آنها تحلیل زمان کسب شده ) (Earned Schedule Analysisاست .این روش مهارت
بسیار مفیدی برای تخمین تاریخ پایان پروژه و تحلیل عملکرد زمانی در اختیارتان میگذارد و مسلط بودن به آن
بسیار ارزشمند است.
در این فصل با مفهوم تحلیل زمان کسب شده و محاسبه آن در Projectبه طور اجمالی آشنا خواهیم شد .در
صورتی که عالقهمند به مطالعه بیشتر در این خصوص باشید میتوانید به کتاب ارزیابی عملکرد زمانی پروژهها با
مدیریت ارزش کسب شده ،ترجمه این نگارنده و منتشر شده از سوی انتشارات دیباگران تهران مراجعه کنید.
یکی از شاخصهای مهمِ تحلیل ارزش کسب شده ،شاخص SPIاست SPI .شاخص عملکرد زمانی است و هرچه
به 1نزدیکتر باشد ،به معنی نزدیکتر بودن اجرا و برنامهریزی است .مقادیر کمتر از 1نشاندهنده کندی نسبی
اجرا است.
شاخص SPIبا رابطه BCWP/BCWSمحاسبه میشود و مشکل اصلی آن این است که هرچه به پایان عنصر
نزدیکتر شویم BCWS ،رشد کمتری میکند و در نهایت پس از رسیدن به پایان برنامهریزی شده آن ثابت
میماند ،در حالی که BCWPهمچنان رشد می کند تا زمانی که کار واقعا تمام شود .در نتیجه تمام عناصر با
SPIبرابر با یک تمام میشوند .مشکل مشابهی در شاخصهای SVو SV%نیز وجود دارد.
این عملکرد به انتظاری که از چنین شاخصی میرود نزدیک نیست .به همین خاطر متودی با نام تحلیل زمان
کسب شده ) (Earned Schedule Analysisبرای تکمیل تحلیل ارزش کسب شده ابداع شده است که این مشکل
را حل میکند .در این متود شاخصهای جدیدی با نامهای SPItو SVtوجود دارند که عملکرد مناسبتری
دارند.
این نمودار مقادیر تجمعی BCWPو BCWSپروژهای فرضی را نشان میدهد .این نمودار عمال مقادیر پیشرفت
فیزیکی برنامهریزی و واقعی پروژه هستند.
شاخص SPIبه صورتی که در شکل 22-2نمایش داده شده است محاسبه میشود.
Status Date شاخص SPIحاصل تقسیم Aبر Bاست A .و Bبه ترتیب مقادیر BCWPو BCWSتجمعی در
(خطچین عمودی) هستند.
نقطه Pتصویر افقی BCWPبر BCWSاست .این نقطه زمانی را نشان میدهد که پیشرفت برنامهریزی شدهای
برابر با پیشرفت واقعی Status Dateدارد .مدتی که در برنامه اولیه برای رسیدن به پیشرفت واقعی Status Date
پیشبینی شده است A ،و مقداری که واقعا صرف شده است Bمیباشد SPIt .حاصل تقسیم Aبر Bاست.
SPItنشان می دهد که مدت زمان پروژه به چه ترتیبی محقق شده است .اگر به عنوان مثال مقدار آن ٪51
باشد ،به این معنی است که کاری انجام شده به اندازه کاری است که در ٪51آن مدت میبایست انجام شده
باشد.
بهترین راه برای تخمین زمان پایان پروژه ،استفاده از شاخص SPItاست .وقتی مدت زمان Aدر مدت Bمحقق
شده باشد ،می توانیم انتظار داشته باشیم که مدت کل پروژه نیز با همان نسبت کمتر یا بیشتر شود .به این
ترتیب:
در مرحله بعد میتوان مدت زمان تخمینی را به تاریخ تخمینی پایان تبدیل کرد.
متاسفانه در Projectو سایر نرمافزارهای برنامهریزی و کنترل پروژه امروزی ،هنوز شاخص SPItاضافه نشده
است .در نتیجه باید مقدار آن را دستی محاسبه کنید .برای این منظور به نمای Task Usageبروید ،محور زمان
را روی مقدار کوچکی مانند روز تنظیم کنید و بعد از آن تاریخی را بیابید که پیشرفت برنامهریزی شده آن برابر
با پیشرفت واقعی باشد.
فعالیتهای این برنامه پیشرفتهایی دارند که منجر به 2188واحد BCWPدر کل پروژه شده است (اگر این
مقدار را بر Costخالصه فعالیت پروژه تقسیم کنیم پیشرفت فیزیکی پروژه به دست خواهد آمد) .اکنون باید
BCWSنزدیک به آن را بیابیم .برای این منظور به نمای Task Usageمیرویم و محور زمانی را هم بر روز
تنظیم میکنیم (شکل .)22-5
ردیف اول مقادیر BCWSخالصه فعالیت پروژه را نشان میدهد .نزدیکترین مقدار به 2188در روز 177قرار
دارد Status Date .در روز 215قرار دارد ،در نتیجه SPItبرابر با ٪86خواهد بود.
مدت زمان پروژه 278روز است ،در نتیجه میتوان تخمین زد که پروژه در 322روز پایان خواهد یافت.
اگر عادت دارید که مرتب و سازماندهی شده کار کنید حتما قابلیتهایی که برای سازماندهی و مدیریت عناصر
در Projectوجود دارد را خواهید پسندید .با این قابلیت میتوانید انواع اختصاصیسازیهای یک برنامه را در
برنامههای دیگر به کار ببرید و با صرف کمی انرژی اولیه ،زمان های زیادی را در کارهای آینده صرفه جویی
کنید.
موضوع اصلیِ این بخش ،انتقال عناصر و به عبارت دیگر تعیین محل ذخیرهسازی آنهاست .به این خاطر باید
بدانید که عناصر در چه محلهایی میتوانند ذخیره شوند.
تقریبا تمام عناصر به طور پیشفرض در فایلِ برنامهها ذخیره می شوند .یعنی هر برنامه ،عناصر خود را ذخیره و
از آنها استفاده میکند .پس به ازای هر برنامه ،محلی برای ذخیرهسازی عناصر وجود خواهد داشت.
محل دیگری که برای ذخیرهسازی عناصر وجود دارد Global ،یا به عبارت دقیقتر ،فایل Global.mptاست.
عناصری که در این فایل ذخیره شده باشند در تمام برنامهها قابل استفاده خواهند بود .نکتهای که باید توجه
داشته باشید این است که هرگاه در فایلی از عنصری استفاده ک نید ،یک کپی از آن عنصر در فایل قرار داده
می شود؛ به این ترتیب اگر فایل را به جای دیگری با Globalدیگر منتقل کنید ،مشکلی ایجاد نخواهد شد .از
طرف دیگر اگر Globalرا تغییر دهید ،تغییر در فایلها اعمال نمیشود ،زیرا از کپی محلی استفاده میکنند.
برای سازماندهی عناصر File| Info| Organize Global Templateرا اجرا کنید تا کادر محاوره شکل 23-1باز
شود.
اولین نکته ای که باید مشخص شود ،محل مبدا و محل مقصد است .این دو محل در دو کادر بازشویی که در
پایین کادر محاوره قرار دارند مشخص میشوند .هرگاه یکی از گزینههای لیستِ یکی از آنها را انتخاب کنید ،آن
محل به عنوان مبدا و دیگری به عنوان مقصد شناخته خواهد شد (تغییر فلشِ دکمه Copyاین مسئله را نشان
میدهد) .گزینههای موجود در این کادرهای بازشو ،برنامههایی هستند که در زمان باز شدن کادر محاوره در
Projectباز هستند ،به اضافه .Global.mpt
برای هر گروه از عناصر زبانه ای وجود دارد .زبانه مربوط به عنصر مورد نظر خود را انتخاب کنید تا لیستهای آن
نمایش داده شوند.
در مثال شکل قبل ،در ،Globalانواع نماهای اصلی Projectلیست شدهاند ،در حالی که در سوی دیگر فقط
نماهای Gantt with Timeline ،Gantt Chartو Timelineوجود دارد .این مسئله به این خاطر است که نماهای
اصلی Projectدر تک تک برنامهها ذخیره نمیشوند ،بلکه در Globalقرار دارند .نماهایی که در فایل وجود
دارند نماهایی هستند که به طور مستقیم یا غیر مستقیم ،حداقل یک بار باز شدهاند .توجه داشته باشید که
وقتی عنصری از عناصر اصلی Projectرا ویرایش میکنید ،نسخه Globalآن تغییر نمیکند ،یک کپی از آن در
فایل ساخته میشود و کپی ویرایش میشود.
با توجه به این توضیحات ،هرگاه فایلی دریافت کنید ،میتوانید آن را در Projectباز کرده ،به زبانه Viewsاز
کادر محاوره Organizerبروید؛ به این ترتیب میتوانید بدانید که قبال چه نماهایی از فایل باز شدهاند.
وقتی در هر فایل نمایی باز شود ،در صورتی که نما قبال در آن فایل ذخیره شده باشد ،با قالببندی محلی باز
میشود و در غیر این صورت یک کپی از نسخه Globalدر فایل قرار داده میشود و بعد از آن نما بر اساس
نسخه محلی باز میشود.
این مسئله در مورد تمام عناصر دیگر نیز صادق است .یعنی هر عنصری که در برنامه استفاده شده باشد ،حتا اگر
ویرایش نیز نشده باشد ،در آن ذخیره میشود .به عنوان مثال ،معموال برنامهای که ساخته میشود ،در نمای
گانت و با پیشفرضها نمایش داده شده است .این پیشفرضها شامل جدول ،Entryتقویم ،Standardفیلتر
All Tasksو گروهبندی No Groupمی شوند؛ در نتیجه تمام این عناصر در فایل ذخیره خواهند شد و میتوانید
آنها را در زبانههای مختلف Organizerببینید .پس ،دریافت کننده هر فایل میتواند عالوه بر نما ،متوجه شود
که فایل قبال فیلتر شده است یا خیر ،در آن از گروهبندی استفاده شده است یا خیر و . ...
میتوانید گزینه مورد نظر خود را انتخاب کرده ،روی Renameکلیک کنید تا کادر محاورهای باز شده و نام
جدید عنصر را از شما دریافت کند.
به عنوان مثال یکی از نماهای Globalرا انتخاب کرده ،نام آن را تغییر دهید .شکل 23-2کادر محاوره را در
حالتی نشان میدهد که نمای Calendarبه Calendar RNتغییر نام داده شده است.
اکنون از کادر محاوره خارج شده ،لیست نماها را کنترل کنید (شکل .)23-3
همانطور که دیده می شود ،نام نمایی که در برنامه در دسترس قرار دارد نیز تغییر کرده است .برای آزمایش روی
Editکلیک کرده ،نام دیگری به نما بدهید (شکل .)23-4
همانطور که دیده می شود ،به جای این که نام نما تغییر کند ،نمای دیگری با نام جدید ساخته شده است .اگر به
Organizerمراجعه کنید خواهید دید که نمای جدید در فایل ذخیره شده است (شکل .)23-5
این همان قاعده ای است که پیش از این نیز گفته شد؛ وقتی عنصری را ویرایش کنید ،در Globalتغییری ایجاد
نمیشود ،بلکه نسخهای از آن در فایل ذخیره میشود.
اکنون فرض کنید نمایی به نام Calendar RN2که در فایل ذخیره شده است را برای سایر پروژهها نیز نیاز
دارید .در این صورت بهتر است که آن را در Globalکپی کنید .برای این کار ،در یکی از کادرهای بازشو فایل
مورد نظر و در دیگری Global ،را انتخاب کنید .بعد از آن نما را انتخاب کرده ،روی Copyکلیک کنید (شکل
.)23-6
از کادر محاوره خارج شده ،یک برنامه جدید بسازید .بعد از آن لیست نماها را باز کنید (شکل .)23-7نمایی که
از فایل قبل به Globalکپی شده بود در این برنامه نیز قابل دسترسی است.
نما را باز کنید .بعد از آن به Organizerباز گشته ،به زبانه Viewsبروید (شکل .)23-8
چون نمای جدید را یک بار در برنامه باز کردید ،در فایل کپی شده است .پس الزم نیست نگران این مسئله
باشید که اگر کپی فایل را به دستگاه دیگری منتقل کنید ،قادر به استفاده از عنصر نباشید.
فرض کنید در برنامهای فیلد اختصاصی Number1را تعریف کرده باشید (شکل .)23-9
این فیلد طوری تعریف شده است که مقدارهایش دستی وارد شوند .مقدار خالصه فعالیتها و سرفصلها ،به طور
خودکار بر اساس جمع زیرمجموعهها محاسبه میشود.
فرض کنید قرار است در برنامه دیگری نیز از همین فیلد اختصاصی استفاده کنیم .میتوانیم به جای تعریف
مجدد آن ،از Organizerاستفاده کنیم .برای این کار ابتدا دو برنامه را باز کنید .بعد از آن به Organizerرفته،
برنامههای مبدا و مقصد را انتخاب کنید .به زبانه Fieldsبروید (شکل .)23-11
گزینه مورد نظر خود را در مبدا انتخاب کرده ،روی Copyکلیک کنید تا به برنامه مقصد کپی شود.
اگر در این حالت به برنامه مقصد مراجعه کنید ،متوجه میشوید که Number1در تمام ردیفها مقدار صفر دارد
(مگر این که قبال مقداری برای آن وارد شده باشد) .در نظر داشته باشید که آنچه در این حالت کپی میشود،
ساختارها است ،نه مقادیر .در این حالت تعریف فیلد ،شامل فرمولها ،شیوه خالصهسازی ،نام و مانند آن به
مقصد کپی شده است ،نه مقدارهایی که در بر نامه مبدا برای آن وارد شده بود .اگر الزم است که مقدارها را هم
منتقل کنید ،پس از منتقل کردن ساختار (با استفاده از )Organizerمقدارها را در مبدا انتخاب کرده ،آنها را
Copyو در مقصد Pasteکنید .نکته دیگری که باید در نظر داشته باشید این است که وقتی Copyو Paste
میکنید ،فقط مقادیر منتقل میشود ،نه ساختارها.
اگر روی قسمتی خالی از ریبون کلیک راست کنید ،منوی میانبر شکل 23-11باز خواهد شد.
اگر روی یکی از آیکنهای ریبون کلیک راست کنید ،منوی شکل 23-12باز خواهد شد.
تنها گزینهای که در این حالت اضافه خواهد شد ،گزینه Add to Quick Access Toolbarاست .نوار ابزا ِر
دسترسیِ سریع ) (Quick Access Toolbarنوار ابزار کوچکی است که باال و سمت چپ پنجره نمایش داده
میشود و به طور پیشفرض آیکن های ذخیره ،لغو عملیات و تکرار عملیات در آن قرار گرفتهاند .اگر مایل باشید
میتوانید روی آیکنهای ریبون کلیک راست کنید و با کمک گزینه گفته شده آنها را به نوار ابزارِ دسترسیِ
سریع اضافه کنید.
گزینه مهمی که در منوهای میانبر وجود دارد Customize the Ribbon ،است ،که وقتی روی آن کلیک کنید
کادر محاوره شکل 23-13باز میشود.
لیست سمت چپ آیکنها و لیست سمت راست قرارگیری آنها در ریبون را نشان میدهند .میتوانید
دستورهای مورد نظر خود را در لیست سمت چپ انتخاب کنید و آنها را در زبانههای مختلفِ ریبون که در
سمت راست نمایش داده شدهاند قرار دهید .لیست سمت چپ دستهبندی دارد و دستهبندیِ آن در کادر
بازشوی باالی لیست نمایش داده میشود.
Reset all Customizations هرگاه الزم باشد میتوانید روی دکمه Resetکلیک کنید و از منویی که باز میشود
را انتخاب کنید تا تمام اختصاصیسازیها از بین بروند و ریبون به حالت اولیه بازگردد.
با کلیک کردن روی New Tabزبانه جدیدی ساخته میشود .به این ترتیب به عنوان مثال میتوانید زبانهای
خاص بسازید که تمام دستورهای پرکاربردتان در آن قرار داشته باشد.
نماها و جداول Projectبسیار انعطافپذیر هستند و میتوانید به سادگی بسیاری از ویژگیهای آنها را تغییر
دهید تا اطالعات را به بهترین شکل به شما و دیگران ارائه کنند.
شیوه کار با نماها و جداول و همچنین اختصاصیسازی جداول را در این فصل و اختصاصیسازی نماها را در
فصل بعد بررسی خواهیم کرد Project 2013 .قابلیت جدیدی برای ساخت گزارشهای تصویری داخلی نیز دارد
که میتواند با نماها ترکیب شود .شیوه کار با گزارشهای داخلی در فصل 28بررسی میشوند.
اولین قدم برای استفاده از هر نما ،انتخاب آن ،یا به عبارت دیگر فعال کردن آن است .برای این کار راههای
مختلفی وجود دارد که در فصل 1توضیح داده شده است.
اختصاصیسازی جدولها
وقتی در کادر محاوره More Viewsیکی از نماها را انتخاب کرده ،دکمه Editرا کلیک کنید ،عناصر تشکیل
دهنده نما نمایش داده خواهند شد (شکل .)24-1
اکثر نماها جدولی دارند که سمت چپ نمایش داده میشود .میتوانید پس از انتخاب نما نیز جدول دیگری را به
جای جدول پیشفرض باز کنید .از سوی دیگر ،تفاوت جدولها در فیلدهایی است که در آنها نمایش داده شده
است و فیلدها را هم میتوان حذف و اضافه کرد؛ بنا بر این ،میتوانید به جای انتخاب جدول ،هر جدولی که
مایل باشید را با حذف و اضافه کردن ستونها اختصاصی سازی کنید تا کارکرد مورد نظرتان را داشته باشد..
برای تغییرِ جدول نمای فعال ،از منوها View| Tablesرا انتخاب کنید (شکل .)24-2
شکل :24-2جدولها
به جای آن می توانید روی کلید باال و سمت چپ جدولی که فعال است کلیک راست کنید تا منوی مشابهی باز
شود (شکل .)24-3
More در این منوها فقط جدولهای پرکاربرد نمایش داده شدهاند .برای دسترسی به تمام جدولها ،گزینه
Tablesرا انتخاب کنید .با این کار کادر محاوره شکل 24-4باز خواهد شد.
گزینه مورد نظر خود را انتخاب کرده ،روی Applyکلیک کنید تا نمایش داده شود.
در باالی کادر محاوره گزینههای Taskو Resourceوجود دارد .با انتخاب هرکدام از گزینههای گفته شده،
جدولهایی که نمایش داده میشوند به جدولهای مورد استفاده در فعالیتها یا منابع محدود خواهند شد .توجه
داشته باشید که تخصیص ها جدول مستقلی ندارند .هرکدام از نماها برای یکی از این دو نوع داده (فعالیت یا
منبع) طراحی شده و امکان استفاده از جدولهای نوع دیگر در آنها وجود ندارد.
توجه داشته باشید که وقتی در جدول فعال ستونهایی را اضافه و کم کنید ،وضعیت در آن جدول ذخیره
می شود و هرگاه در همان برنامه دوباره جدول را باز کنید ،همان ستونهای ویرایش شده را مشاهده خواهید
کرد.
انواع جدول
همانطور که پیش از این نیز گفته شد ،تفاوت جدولها در ستونهایی است که نمایش میدهند.
: Baselineاین جدول برای کار با اطالعات خط مبنا مناسب است .البته جدول اطالعات برنامهریزی را
در کنار خط مبنا نمایش نمیدهد ،در نتیجه کاربرد محدودی دارد.
:Constraint Datesاین جدول فقط اطالعات قیدها را نمایش میدهد .اگر زمانی الزم باشد که قیدها
را به طور دقیق کنترل کنید ،میتوانید از این جدول استفاده کنید.
:Costجدول Costفقط اطالعات مربوط به هزینهها را نمایش میدهد .توجه داشته باشید که عنوان
فیلدهای هر جدول میتواند با نام آنها فرق داشته باشد .به عنوان مثال ،در این فیلد از عنوانهایی که
با نامها فرق دارند استفاده شده است تا کوتاهتر یا خواناتر باشند .فیلدهای گفته شده از این قرارند:
:Delayاین جدول برای کنترل تاخیرهای ناشی از تسطیح منابع طراحی شده است.
: Earned Valueاین جدول مهمترین فیلدهای تحلیل ارزش کسب شده را نمایش میدهد .معموال
فیلدهای موجود در این جدول برای تحلیل ارزش کسب شده کافی هستند .فیلدهای ،BCWP
BCWSو ACWPبا عنوانهای مشروح در جدول قرار دارند .این عنوانها ،نامهای دیگری که در
مراجع دیگر برای این فیلدها به کار میروند را مشخص میکند .به عنوان مثال BCWP ،را ارزش
کسب شده ) (Earned Valueیا به طور خالصه EVنیز مینامند.
:Earned Value Cost Indicatorsتحلیل ارزش کسب شده برای سنجش هزینه ،زمانبندی و کار
استفاده میشود .این جدول برای کنترل شاخصهای هزینه تحلیل ارزش کسب شده به کار میرود.
:Earned Value Schedule Indicatorsاین جدول برای کنترل شاخصهای زمانی تحلیل ارزش
کسب شده به کار میرود.
:Entryاین جدول آشناترین جدول Projectاست ،زیرا به طور پیشفرض در نمای Gantt Chartبه
کار میرود .در واقع ،این جدول برای ورود اطالعات در زمان برنامهریزی اولیه طراحی شده است.
بسیاری از کاربران عادت دارند که با پیشرفت کار ،فیلدهای جدید را به این جدول اضافه کنند .با این
حال ،میتوانید به جای این کار از جدولهای متعددی که در این قسمت معرفی میشوند استفاده
کنید.
:Exportاین جدول برای منتقل کردن اطالعات به برنامههای دیگر طراحی شده و به همین خاطر
تعداد بسیار زیادی از فیلدها را نمایش می دهد .البته در نظر داشته باشید که این فیلدها کمتر از یک
پنجم کل فیلدهای برنامه هستند.
:Scheduleاین جدول برای کنترل زمانبندی برنامه است و شناوریها را نیز نمایش میدهد.
:Summaryاین جدول خالصهای از اطالعات برنامه ،یعنی زمانبندی ،میزان پیشرفت ،هزینه و کار را
نشان میدهد.
:Trackingا ین جدول برای پیگیری پیشرفت پروژه ،و به عبارت دیگر وارد کردن مقدارهای واقعی
طراحی شده است.
Task Usage :Usageاین جدول اطالعات بسیار کمی را نشان میدهد و اصوال برای استفاده در نمای
طراحی شده است.
:Varianceاین جدول برای کنترل میزان انحراف زمانبندی از خط مبنا است.
:Workاین جدول برای کنترل مقادیر کار طراحی شده است .عنوان فیلدهای این جدول نیز
تفاوتهای زیادی با نام آنها دارند:
:Costاین جدول برای کار با هزینههای منابع است .عنوانهای Varianceو Remainingبه
ترتیب برای فیلدهای Cost Varianceو Remaining Costهستند.
:Earned Valueاین جدول برای کار با فیلدهای تحلیل ارزش کسب شده منابع است.
:Entryاین جدول نیز مانند جدول هم نامش در حوزه فعالیتها ،برای ورود اطالعات عمومی و
اولیه منابع در نظر گرفته شده و به طور پیشفرض در نمای ،Resource Sheetکه رایجترین نما
برای کار با منابع است ،نمایش داده میشود.
:Entry – Material Resourcesاین جدول مانند Entryاست ،با این تفاوت که فقط فیلدهای
منابع مصرفی را نمایش میدهد.
:Entry – Work Resourcesاین جدول مانند Entryاست ،با این تفاوت که فقط فیلدهای
منابع کاری را نمایش میدهد.
:Exportاین جدول نیز مانند جدول Exportفعالیتها ،تعداد زیادی فیلد دارد که اکثر اطالعات
منابع را نمایش میدهند و میتوان از آنها برای منتقل کردن اطالعات به سایر برنامهها استفاده
کرد .البته توجه داشته باشید که تعداد فیلدهای منابع ،بسیار کمتر از فیلدهای فعالیتها است.
:Hyperlinkاین جدول اطالعات پیوندهای تعریف شده برای منابع را نمایش میدهد.
:Summaryاین جدول خالصه ای از اطالعات منابع را که برای مرور آنها کاربرد دارد نمایش
میدهد.
:Usageاین جدول با تعداد فیلد بسیار کم ،برای نمای Resource Usageکه قسمت عمده
اطالعات را در جدول زمانمند نمایش میدهد طراحی شده است.
:Workاین جدول فیلدهای کار منابع را نمایش میدهد .عنوانهای به کار رفته از این قرارند:
برای اختصاصیسازی جدولها View| Tablesرا اجرا کنید تا کادر محاوره شکل 24-5باز شود.
میتوانید برای ساخت جدول جدید روی Newکلیک کنید .با این حال ،بسیاری از مواقع راحتتر است که
جدول جدید را بر اساس یکی از جدول های موجود بسازید .برای این کار ابتدا جدول مورد نظر را در لیست
انتخاب کرده ،بعد روی Copyکلیک کنید .با این کار کادر محاوره Table Definitionباز خواهد شد (شکل -6
.)24
اگر روی Newکلیک کرده باشید نیز همین کادر محاوره باز میشود ،با این تفاوت که اطالعاتی در آن وجود
نخواهد داشت.
برای ویرایش جدول ،ابتدا آن را در لیست انتخاب و بعد Editرا کلیک کنید .با این کار همان کادر محاوره
Table Definitionباز خواهد شد.
اطالعات مختلف کادر محاوره Table Definitionکه برای ویرایش جدولهای موجود ،ساخت جدول جدید و
ساخت جدول بر اساس جدولهای موجود به کار میرود ،در ادامه توضیح داده خواهد شد.
تنظیم دیگری که در کادر Table Definitionوجود دارد Show in Menu ،است .در قسمتهای قبل دیدید که
فقط برخی از جدولها که کاربردیتر هستند در منوی Viewنمایش داده میشوند .اگر مایل هستید که جدول
مورد نظرتان در منو نمایش داده شود ،این گزینه را فعال کنید.
گزینه دیگر Lock first columnاست که به طور پیشفرض فعال است .اگر این گزینه فعال باشد ،اولین فیلد
(که در تمام جدولهای اصلی برنامه فیلد IDاست) قفل خواهد بود ،به این معنی که نمیتوانید آن را برای
ویرایش انتخاب کنید ،و از سوی دیگر می توانید با آن کل ردیف را انتخاب کنید ،در حالی که اگر قفل نباشد،
مانند فیلدهای دیگری عمل خواهد کرد (شکل .)24-7
شکل :24-7گزینه Lock first columnدر شکل باال فعال و در شکل پایین غیر فعال است.
اگر گزینه Auto-adjust header row heightsرا فعال کنید ،ارتفاع عنوان ستونها خودکار تنظیم خواهد شد.
اگر عنوان فیلد بیشتر از یک کلمه باشد و پهنای س تون در حدی نباشد که تمام کلمات در آن جای گیرند،
عنوان به دو یا چند خط شکسته خواهد شد .در این حالت اگر گزینه فعال باشد ،ارتفاع ردیف عنوانها به
اندازهای که برای نمایش تمام آن ها کافی باشد افزایش خواهد یافت و در غیر این صورت ،ادامه عنوان دیده
نخواهد شد.
گزینه ،Date Formatقالب بندی نمایش تاریخهای جدول را مشخص میکند .توجه داشته باشید که این گزینه
محتوای تاریخ را تغییر نمیدهد ،بلکه فقط شیوه نمایش آن را تغیی میدهد.
در نهایت ،قسمت اصلی کادر محاوره Table Definitionجدولی از فیلدهای جدول است .برای اضافه کردن فیلد،
به یکی از ردیفهای خالی رفته ،فیلد و مشخصات آن را وارد کنید .اگر مایل باشید میتوانید فیلدهای موجود را
با کلید کردن Delete Rowپاک کنید .برای تغییر دادن ترتیب فیلدها نیز از دکمههای Cutو Pasteاستفاده
کنید.
توجه داشته باشید که بسیاری از تنظیم های این کادر محاوره در خارجِ آن نیز قابل اعمال است .به عنوان مثال
به جای تنظیم فیلدها در کادر محاوره ،میتوانید از کادر محاوره خارج شده ،آنها را مستقیما به جدول اضافه یا
از آن کم کنید .تغییرات بالفاصله در جدول ثبت خواهد شد.
پیش از این توضیح داده شد که هر نما عناصر مختلفی دارد که یکی از آنها جدول است .سایر عناصر در کادر
محاوره View Definitionدیده میشود (شکل .)24-8
ساختار تنظیم نام نما ،مانند نام جدول است .کادر بازشوی Tableجدول را نمایش میدهد .اگر مایل باشید
میتوانید برای نما فیلتر و دستهبندی پیشفرضی نیز تعریف کنید ،که این عوامل در کادرهای Groupو Filter
وارد می شوند .اگر فیلتری تعریف کرده باشید و گزینه Highlight filterرا هم فعال کنید ،به جای حذف شدن
آیتمهایی که مطابق شرایط فیلتر نباشند ،آیتم ها موافق متمایز نمایش داده خواهند شد .در نهایت ،گزینه Show
in menuمشخص میکند که نما در منوی Viewو منوی میانبر نما وجود داشته باشد یا تنها از طریق More
Viewقابل دسترسی باشد.
نمای Calendar
این نما ظاهری کامال متفاوت دارد و برای گزارش فعالیتهای برنامهریزی شده در دورههای کوتاه مفید است
(شکل .)24-9
این نما به طور پیشفرض روزهای هفته را در راستای افقی نمایش میدهد .هر هفته در یک ردیف قرار میگیرد.
فعالیتها با میله نمایش داده میشوند.
همانطور که دیده میشود ،نما برای دورههای کوتاه بسیار گویا است ،زیرا وابستگی فعالیتها را به روزهای
مختلف به خوبی نشان میدهد و آن ها را به نوعی در قالب هفته ،که برای اکثر افراد معیار زمانی مناسبی است،
دسته بندی میکند.
این نما امکان ویرایش اطالعات را هم در اختیارتان میگذارد .اگر روی فعالیتی دابل کلیک کنید ،کادر محاوره
Task Informationباز می شود ..این کادر محاوره اکثر مقدارهای مربوط به فعالیت را در اختیارتان میگذارد.
از سوی دیگر ،میتوانید فعالیتها را همانگونه که در نمودار گانت ویرایش میشوند ،به صورت گرافیکی نیز
تغییر دهید .به عنوان مثال ،میتوانید روی آنها کلیک کرده ،میله را به عقب یا جلو بکشید (شکل .)24-11
البته توجه داشته باشید که این کار معادل وارد کردن مقدار در فیلدهای Startو Finishاست که باعث ایجاد
قید میشود و بهتر است از آن پرهیز کنید.
با همین روش میتوانید مدت زمان فعالیت را تغییر دهید یا روابط جدیدی برای آنها تعریف کنید .با این وجود،
پیشنهاد میشود که از روشهای گرافیکی برای ویرایش آیتمها استفاده نکنید ،زیرا هم انعطاف پذیری کمی
دارند و هم احتمال بروز اشتباه در زمان استفاده از آنها زیاد است.
عملکرد هرکدام از این دو نما در قسمتهای مربوطه توضیح داده شدهاند .این نما ،نمای پیشفرض نسخه 2111
است ،در حالی که پیشفرض نسخههای قبلی نمای Gantt Chartبود.
نمای ،Gantt Chartکه در این کتاب به طور خالصه نمای گانت نامیده میشود ،رایجترین نمای برنامهریزی و
کنترل است .بسیاری از کاربران به ندرت از نمایی به جز گانت استفاده میکنند ،در حالی که ممکن است
استفاده از نماهای دیگر باعث تسریع کار شود.
نمای گانت از دو قسمت تشکیل شده است؛ نمودار گانت در سمت راست نما و جدول در سمت چپ .جدول
سمت چپ به طور پیشفرض Entryاست ،در حالی که اگر مایل باشید میتوانید به جای آن از جدولهای دیگر
نیز استفاده کنید .عالوه بر آن ،میتوانید جدول را هر طور که مایل باشید اختصاصیسازی کنید.
محور افقی نمای گانت ،زمان را نشان میدهد .زمان از چپ به راست جلو میرود و واحد آن نیز قابل تعیین
است .هر آیتم با میله یا عنصر نمایشی دیگری نمایش داده میشود .این عناصر نمایشی معموال طوری هستند
که آغاز و پایان فعالیت را نشان دهند .تنظیم پیشفرض عناصر نمایشی طوری است که میزان پیشرفت
فعالیتها را هم نشان دهد؛ در این حات پیشرفت با میلهای توپر در داخل نوار نمایش داده میشود .روابط بین
آیتمها نیز با فلش نمایش داده میشوند ،در حالی که اگر تعداد آیتمها زیاد باشد ،فلشهای متعدد چنان روی
هم قرار میگیرند که خوانایی نمودار به شدت کاهش پیدا میکند ،و به همین خاطر معموال این قابلیت را غیر
فعال می کنند .عناصر نمایشی دیگری نیز در نمودار قابل استفاده است که در فصل بعد توضیح داده میشوند.
این نما مانند Gantt Chartاست ،با این تفاوت که به جای جدول ،Entryجدول Rollup Tableرا نمایش
می دهد .به این ترتیب نما مناسب زمانی است که قصد داشته باشید نمودار گانت را اختصاصیسازی کنید.
توجه داشته باشید که تنظیم های گانت موجود در نماهای مختلف ،یکسان نیستند .به این ترتیب میتوانید
نمودار گانت هریک از نماها را جداگانه برای مقاص د مختلف تنظیم کرده ،از هر یک در زمان مناسب استفاده
کنید .یا حتی نماهای متعددی بسازید که همگی مشابه نمای گانت باشند ،ولی هریک از قالببندی خاصی
استفاده کنند.
این نما نیز مانند Gantt Chartاست ،با این تفاوت که به جای جدول ،Entryجدول Detailرا نمایش میدهد.
تنظیمهای نمودار نیز به گونهای است که جزئیات کار را بهتر نمایش.
این نما مانند Detail Ganttاست ،ولی تنظیمهای پیشفرض نمودار آن فرق میکند.
نمای Leveling Ganttبرای تسطیح منابع مناسب است ،زیرا تاخیرهای ایجاد شده در فعالیتها را به خوبی
نشان میدهد.
نمای Milestone Date Rollupمانند Gantt Chartاست ،ولی قالببندی نمودار آن فرق دارد.
Rollup این نما نیز مانند Gantt Chartاست ،ولی قلببندی نمودار آن متفاوت است و به جای جدول Entryاز
Tableاستفاده میکند.این نما برای تنظیم Rollupدر Milestoneها به کار میرود.
این نما مانند Gantt Chartاست ،و فقط قالببندی نمودار گانت آن فرق دارد.
این نما تاریخهای برنامهریزی شده ،یعنی فیلدهای Startو Finishرا در نمودار نمایش نمیدهد .به جای آن
برنامهریزی Baseline1 ،Baselineو Baseline2را با سه خط باریک نمایش میدهد که با رنگهای مختلف زیر
هم ترسیم میشوند.
این نما زمانی کاربرد دارد که قصد داشته باشید خط مبناهای مختلف را با هم مقایسه کنید.
این نما نیز مانند Gantt Chartاست و فقط قالببندی نمودار آن فرق دارد.
این نما برای کنترل پیشرفت پروژه طراحی شده است .این نما عالوه بر برنامهریزی ،خط مبنا را هم نشان
میدهد .مسیر بحرانی به طور پیشرفت با رنگ قرمز نشان داده میشود .عالوه بر موارد گفته شده ،میزان
پیشرفت زمانی خالصه فعالیت نیز نشان داده میشود.
این نما در نسخه 98و نسخههای پیش از آن PERT Chart ،نامیده میشد .هنوز نیز بسیاری از افراد اینگونه
نمودارها را نمودار پرت مینامند.
در این نما هر فعالت با یک کادر و روابط بین فعالیتها با فلش نشان داده میشوند .این نما بر خالف نماهای
گانت که بر زمانبندی فعالیتها تاکید دارند ،روابط بین آنها را بهتر نشان میدهد .به این ترتیب درک منطق
برنامه سادهتر خواهد بود .با این حال باید مسایل زیر را در نظر داشته باشید:
نمای شبکهای زمانی قابل استفاده است که تعداد فعالیتهای نمایش داده شده کم باشد .وقتی تعداد
فعالیتها زیاد باشد ،نما شلوغ میشود و قابل استفاده نخواهد بود.
این نما با اینکه روابط را به خوبی نشان میدهد ،زمانبندیها را به وضوح نمایش نمیدهد ،زیرا زمان
شروع و پایان فعالیتها و مدت زمانشان گرافیکی نمایش داده نمی شود .بر این اساس باید توجه داشته
باشید که این نما فقط برای نمایش یا کنترل منطق برنامه ،یعنی روابط حاکم بین فعالیتها ،کاربرد
دارد.
اگر به هر دلیلی قصد دارید که از نمودار شبکهای استفاده کنید ،باید در تعیین روابط نیز برخی نکات
را در نظر داشته باشید .به عنوان مثال ،بهتر است از خالصه فعالیتها به عنوان پیشنیاز و پسنیاز
استفاده نکنید .بسیاری از کاربرانِ عالقهمند به نمودار شبکهای ،برای هر خالصه فعالیت دو مایلستون
شروع و پایان نیز تعریف میکنند تا نمودار خواناتر شود.
این نما مانند Network Diagramاست ،با این تفاوت که قالب بندی کادرهای آن متفاوت است و جزئیات
بیشتری را نمایش میدهد.
این نما نوع خاصی از نماهای شبکهای است که تنها پیشنیازها و پسنیازهای یک فعالیت را نشان میدهد
(شکل .)24-13
این نما برای استفاده در قسمت پایین نماهای دو قسمتی مناسب است .این مسئله در ادامه همین فصل توضیح
داده میشود.
این نما برای استفاده در قسمت پایین نماهای دو قسمتی ،که در ادامه فصل توضیح داده میشوند مناسب است.
اطالعات هر فعالیتی که انتخاب شده باشد در این فرم نمایش داده میشود .فرم به طور پیشفرض اطالعات
پیش نیازها و منابع را همراه با برخی اطالعات کلی نمایش میدهد .اگر مایل باشید میتوانید اطالعاتی که در آن
نمایش داده می شوند را تغییر دهید؛ برای این کار روی فرم کلیک راست کنید تا انواع شیوههای نمایشی آن در
اختیارتان قرار گیرد (شکل .)24-15
این نما مانند Task Formاست ،با این تفاوت که اطالعات بیشتری را نمایش میدهد و نیاز به فضای بیشتری
نیز دارد (شکل .)24-16
قسمت باالی فرم اطالعات کلی را نمایش میدهد و در قسمت پایین لیستهایی وجود دارد که میتوانید با
کلیک راست کردن روی فرم و انتخاب یکی دیگر از گزینههای منوی میانبر ،از لیستهای دیگر نیز استفاده
کنید.
نکته ای که باید توجه داشته باشید این است که در باال و سمت چپ فرم ،سه گزینه Baseline ،Currentو
Actualوجود دارد .هرکدام از این گزینه ها را که انتخاب کنید ،همان نوع اطالعات در فیلدهای عمومی نمایش
داده میشوند .به عنوان مثال اگر گزینه Baselineرا انتخاب کنید ،فیلدهای Startو Finishفرم ،مقدارهای
Baseline Startو Baseline Finishرا نمایش میدهند ،در حالی که اگر Actualرا انتخاب کنیدActual Start ،
و Actual Finishنمایش داده خواهند شد .بنا بر این همیشه پیش از کار با مقدارهایی که در فرم وجود دارند،
به گزینههای تعیین کننده نوع توجه کنید.
این نما مانند Task Formاست ،ولی اطالعات عمومی آن به فیلد Nameمحدود میشوند و عمال محتوای فرم
تنها لیستها است (شکل .)24-17
برای انتخاب لیستهایی که در فرم نمایش داده میشوند ،روی فرم کلیک راست کنید تا انواع لیستها نمایش
داده شوند و بتوانید گزینه مورد نظر خود را انتخاب کنید.
نمای ،Task Usageیکی از تنها دو نمایی است که قادر به نمایش تخصیصها هستند .این نما فعالیتها را به
همراه تخصیصهای هرکدام نشان میدهد (شکل .)24-18
تخصیصهای هر فعالیت ،با نام منابعی که عهدهدار آن تخصیصها هستند نمایش داده میشوند (شکل .)24-19
همانطور که در شکل دیده میشود ،فعالیت Compressor Roomدارای سه منبع rs2 ،rs1و rs3است که
نامشان در فیلد Resource Namesردیف فعالیت نمایش داده شده است .به این ترتیب فعالیت سه تخصیص
دارد ،و این سه تخصیص زیرمجموعه فعالیت و با همان عنوانهای منابع درج شدهاند.
بسیاری از کاربران آیتمهای زیرمجموعه فعالیتها را به اشتباه منبع میدانند .توجه داشته باشید که این آیتمها
تخصیص هستند .با این حال چون تخصیصها نام جداگانهای ندارند ،در نمای Task Usageبا نام منابع و در
نمای Resource Usageبا نام فعالیتها نمایش داده میشوند.
در سمت راست نما ،جدولی زمانمند وجود دارد .این نما و نمای Resource Usageتنها نماهایی هستند که
قادر به نمایش فیلدهای زمانمند هستند.
برخی از فیلدها ،مانند ،Workعالوه بر نوع معمولی ،که در برخی جدولها نمایش داده میشود ،دارای نوع
زمانمند نیز هستند .فیلد زمانمند ،به جای تنها یک مقدار ،مقدارهای مختلفی برای زمانهای مختلف دارد.
این نما ،مانند ،Task Usageتخصیصها و فیلدهای زمانمند را نمایش میدهد (شکل .)24-21
تفاوت این نما با Task Usageاین است که تخصیصها زیرمجموعه منابع نمایش داده میشوند .توجه داشته
باشید که برای نمایش تخصیصها ،از نام فعالیتهای متناظر با آنها استفاده میشود ،در حالی که این نام برای
اشاره به فعالیت نیست و تخصیص را نشان میدهد.
Resource توجه داشته باشید که اگر نیاز به کار با فیلدهای زمانمند یا تخصیصها داشته باشید ،باید از نمای
Usageیا Task Usageاستفاده کنید .اگر اطالعات مورد نیازتان بیشتر معطوف فعالیتها باشند ،یا مرتب سازی
آنها بر اساس فعالیتها خوانایی بیشتری داشته باشد Task Usage ،و در غیر این صورت Resource Usage
مناسب خواهند بود.
این نما فرمی است که برای قرار گرفتن در زیر نماهای دوتایی مناسب است (شکل .)24-21
این نما اطالعات مربوط به یک منبع را نشان میدهد .استفاده از نماهای دوتایی در ادامه فصل توضیح داده
میشود.
این نما مانند Resource Formاست ،با این تفاوت که اطالعات کمتری را نمایش میدهد (شکل .)24-22
نمای ،Resource Sheetنمای اصلی برای تعریف و تنظیم منابع است (شکل .)24-23
نمای Resource Graphمیزان مورد نیاز هرکدام از منابع را در طول زمان به طور گرافیکی نمایش می دهد
(شکل .)24-24
نمودار سمت راست زمانمند است و از نظر واحدهای زمانی مانند جدول زمانمند و نمودار گانت قابل
اختصاصیسازی است .خط توپری که به طور افقی ترسیم میشود ،حداکثر دسترسی منبع ،که در فیلد Max
Unitsوارد میشود را مشخص میکند .تخصیص های بیش از این مقدار ،اضافه تخصیص به شمار رفته و با رنگ
قرمز نمایش داده میشوند.
Leveling نمای Resource Allocationنیز از نماهای دوتایی است .این نما ترکیبی از ( Resource Usageباال) و
( Ganttپایین) است (شکل .)24-25
وقتی آیتمی را در نمای باال انتخاب کنید ،زیرمجموعههایش در نمای پایین نمایش داده خواهند شد .اگر منبعی
را انتخاب کنید ،تمام فعالیتهایی که از آن منبع استفاده میکنند یا به عبارت دیگر تمام تخصیصهای آن در
نمای پایین نشان داده می شوند و اگر تخصیصی را در نمای باال انتخاب کنید ،فقط همان تخصیص در نمای
پایین نیز نمایش داده خواهد شد.
این نما برای مرور تخصیصها مفید است .قسمت پایین تخصیصهای منابع را همراه با گانت نمایش میدهد .در
این گانت تاخیرهای ناشی از تسطیح منابع نیز با خطهایی باریک نشان داده میشوند .به این ترتیب میتوانید
تاثیر تخصیصها و تسطیحها را مرور کنید.
اگر نمیتوانید بعد از باز کردن نمایی دوتایی مانند Resource Allocationنمایی تکی مانند Team Plannerرا
انتخاب کنید ،ابتدا روی مرز دو نما کلیک کنید و آن را به پایین بکشید تا نمای پایین صفحه حذف شود و بعد
از آن نما را تغییر دهید.
نمای Team Plannerاز نماهای جدیدِ نسخه 2111است و امکان بسیار خوبی برای مدیریت منابع فراهم
میکند (شکل .)24-26
این نما تخصیصهای هر منبع را با شیوهای شبیه نمودار گانت نمایش میدهد .هرکدام از تخصیصها میلهای
دارند که در محوری زمانی نمایش داده شده است .اضافه تخصیصها با آکوالدهای قرمز نمایش داده میشوند.
وقتی اشارهگر ماوس را روی یکی از تخصیصها ببرید ،اطالعاتِ آن نمایش داده میشوند (شکل .)24-27
می توانید روی تخصیص کلیک کنید و بدون رها کردن کلید ماوس ،آن را به محل جدیدی بکشید و رها کنید.
به این ترتیب زمانبندی فعالیتِ متناظر با آن تخصیص تغییر میکند .این قابلیت بهترین راه برای تسطیح
دستیِ منابع است.
اگر مایل باشید میتوانید از Format| Format| Roll-upسطحی را انتخاب کنید تا برنامه خالصه شده نمایش
داده شود.
نمای Timeline
نمای Timelineاز نماهای جدیدِ نسخه 2111است .معموال از این نما تکی استفاده نمیکنند و آن را با نماهای
دیگری مانند گانت ترکیب میکنند .نمای Gantt with Timelineنمای دوتایی آمادهای است که Timelineرا در
باال و گانت را در پایین قرار میدهد.
تایم الین نمای تصویری بسیار خوانا و مفیدی است .این نما نواری است که از تاریخ شروع تا پایان پروژه امتداد
مییابد و برخی مایلستونها ،فعالیتها یا خالصهفعالیتهای کلیدی را نمایش میدهد .مایلستونها با عالمت
مشخص میشوند و برای فعالیتها و خالصهفعالیتها میلهای داخل نوار ترسیم میشود.
بهتر است مایلستونهای کلیدی پروژه را عالمت بزنید تا در تایمالین نمایش داده شوند .نمایش فعالیتها و
خالصهفعالیتها همیشه مفید نیست ،ولی گاهی نیز راهحل خوبی به شمار میرود.
Task| Properties| Add برای اضافه کردن آیتم به تایمالین ،آیتم را در نمای گانت انتخاب کرده ،بعد از آن روی
to Timelineکلیک کنید .اگر بعد از فعال کردن نمایش تایمالینِ آیتمی خاص دوباره دستور را اجرا کنید ،از
تایمالین حذف خواهد شد .دستور مشابهی در منوی میانبری که با کلیک راست روی آیتمها باز میشود نیز
وجود دارد .در زبانه Generalکادر محاوره Task Propertiesنیز گزینهای به نام Display on Timelineبرای
همین منظور در نظر گرفته شده است.
در زمان چاپ فقط یکی از نماهای دوتایی چاپ میشوند .در نتیجه نمیتوانید نمای تایمالین و گانت را همزمان
چاپ کنید .با این حال میتوانید روی نمای تایم الین کلیک کنید تا فعال شود و آن را به تنهایی چاپ کنید.
عالوه بر این امکان دیگری نیز در نظر گرفته شده است .اگر روی نمای تایمالین کلیک راست کنید ،در منوی
میانبری که باز میشود گزینهای به نام Copy Timelineوجود خواهد داشت .در این منو سه گزینه برای سه
کیفیتِ مختلف تایمالین وجود دارد .وقتی یکی از آنها را انتخاب کنید ،نسخهای از تایمالین در clipboardقرار
داده میشود و میتوانید آن را در نرمافزارهای دیگر pasteکنید.
نماهای دوتایی
یکی از قابلیتهای پر کاربرد ،Projectاین است که میتوانید دو نما همزمان در صفحه باز کنید .در این حالت
یک نما در باال قرار دارد و نمای اصلی به شمار میرود .نمای دوم پایین است و عملکرد محدودتری خواهد
داشت.
نمای دوم ،بر خالف نمای اصلی ،اطالعات کل آیتمها را نشان نمیدهد .این نما فقط اطالعات آیتمی که در
نمای اول انتخاب شده باشد را نشان میدهد .در قسمتهای قبل دیدید که برخی از نماها فقط اطالعات یک
آیتم را نمایش می دهند .در واقع چنین نماهایی برای استفاده در قسمت پایین نماهای دوتایی طراحی شدهاند .با
این حال ،میتوانید از سایر نماها نیز در قسمت پایین استفاده کنید.
شناخته شدهترین نمای دوتایی ،ترکیب Gantt Chartو Task Formاست (شکل .)24-29
اگر نمای گانت دوتایی نباشد ،میتوانید میله ای که پایین و سمت راست نما قرار دارد را به باال بکشید تا نمای
دوم هم به صفحه اضافه شود (شکل .)24-31
وقتی نما دوتایی باشد ،یکی از دو نما فعال خواهند بود .نوار سمت چپِ نمای فعال پر رنگتر نمایش داده
میشود و اگر تایپ کنید ،در همان نما وارد خواهد شد.
برای تغییر دادن نمای پایین صفحه ،روی نوار کنار آن کلیک کنید و نمای جدید را از کادری که باز میشود
انتخاب کنید .اگر نمای که نیاز دارید در کادر وجود ندارد ،روی گزینه More Viewsکلیک کنید.
در فصل گذشته شیوه کار با نماها و جداول و همچنین اختصاصیسازی جداول را بررسی کردیم .در این فصل
اختصاصیسازی و قالببندی نماها را نیز مرور خواهیم کرد.
پرکاربردترین نمای Projectنماهای خانواده گانت است که قالببندی مشابهی دارند و در ادامه توضیح داده
میشوند.
تنظیمهای ساده
سادهترین راه برای اختصاصیسازی نمای گانت ،استفاده از زبانه Formatریبون است (شکل .)25-1
استفاده از تنظیمهای این قسمت ساده است ،ولی انعطافپذیری چندانی ندارد.
مهمترین امکاناتی که از این طریق در اختیار کاربر قرار میگیرد از این قرار است:
گزینه :Critical Tasksاگر فعال باشد میلههای فعالیتهای بحرانی با رنگی متمایز (پیشفرضِ قرمز)
نمایش داده میشوند.
گزینه :Slackاگر فعال باشد شناوری کل فعالیتها با میلههای باریکی که از انتهای آنها امتداد
می یابد مشخص خواهد شد .استفاده از این حالت نمایشی در زمان برنامهریزی مفید است ،زیرا
شناوریهای زیاد معموال نشاندهنده ضعفِ روابط است.
گزینه :Late Tasksاگر فعال باشد فعالیتهایی که کمتر از برنامهریزی پیشرفت کرده باشند متمایز
(پیشفرضِ مشکی) نمایش داده خواهند شد .مبنای این مقایسه Status Dateاست.
منوی :Baselineاگر روی آن کلیک کنید لیستی از خطوط مبنا باز میشود .بعد از اینکه خط مبنای
مورد نظر خود را انتخاب کنید ،زمانبندیهای آن با میلههای جداگانهای در کنار میلههای زمانبندی
اصلی نمایش داده خواهند شد.
منوی :Slippageاگر روی آن کلیک کنید لیستی از خطوط مبنا باز میشود .بعد از اینکه خط مبنای
مورد نظر خود را انتخاب کنید ،انحرافهای زمانبندی اصلی با آن زمانبندی در گانت نمایش داده
میشود .انحرافها با خط های باریکی که تاریخ شروع خط مبنا و شروع زمانبندی شده فعلی را به هم
متصل میکند نمایش داده میشوند.
Name گزینه :Outline Numberاگر فعال باشد کد ساختار شکست هر آیتم در کنار نام آن در فیلد
نمایش داده خواهد شد.
گزینه :Project Summary Taskاگر فعال شود خالصه فعالیت پروژه نمایش داده خواهد شد.
گزینه :Summary Tasksاگر غیر فعال شود خالصه فعالیتها نمایش داده نخواهند شد.
در میانه زبانه قسمتی با نام Gantt Chart Styleنیز وجود دارد که قالببندیهای آماده گانت را نشان میدهد.
اگر روی فلش که پایین و سمت راست آن قرار دارد کلیک کنید ،لیست باز میشود و تمام گزینهها را نشان
میدهد (شکل .)25-2
وقتی روی یکی از گزینهها کلیک کنید ،قالببندی به گانت اعمال خواهد شد.
در باالی نمودار گانت نواری وجود دارد که دورههای زمانی نمودار را نشان میدهد (شکل .)25-3
این قسمت می تواند یک تا سه نوار زمانی مختلف داشته باشد .اگر بیش از یک نوار وجود داشته باشد ،باید از باال
به پایین کوچک شوند .هرچه واحدهای زمانی بزرگتری انتخاب کنید ،طول نمودار کمتر خواهد شد .البته عالوه
بر واحد زمانی ،می توانید مقیاس آن را هم تنظیم کنید تا طول نمودار مشخص شود .باید با استفاده از این دو
فاکتور ،کاری کنید که هم نمودار طول مناسبی داشته باشد تا به خوبی دیده شود و هم واحدهای زمانی آن
مقدارهایی متناسب با پروژه داشته باشند.
برای تنظیم دو فاکتور گفته شده (واحدها و مقیاس) ،روی نوار زمان دابل کلیک کنید تا کادر محاوره شکل -4
25باز شود.
در این کادر محاوره سه زبانه Middle Tier ،Top Tierو Bottom Tierبرای تنظیم سه نوار زمانی وجود دارد.
تنظیمهای هرکدام از این سهزبانه ،در قسمت باالی کادر که xxx tier formattingنام دارد نمایش داده میشود؛
قسمتهای پایین کادر که Timescale optionsو Previewنام دارند ،در هر سه زبانه مشترک هستند.
تعداد نوارها در کادر بازشوی Showمشخص میشود .مقیاس نوارها نیز در Sizeمشخص میشود .مقدار
پیشفرض ٪111است ،که با کم یا زیاد کردن آن ،مقیاس نمودار گانت تغییر میکند .برای این کار از مقدارهای
کوچکتر از ٪25و بزرگتر از ٪1111نمی توان استفاده کرد .اگر الزم است که نمودار را بزرگتر یا کوچکتر از
مقدارهای گفته شده نمایش دهید ،باید واحدها را اصالح کنید.
برای تنظیم واحدِ هریک از نوارها ،به زبانه همان نوار بروید .گزینههای قسمت Tier formattingاز این قرارند:
:Yearسال o
:Quartersفصل o
:Months oماه
:Weeksهفته o
:Days oروز
:Hours oساعت
:Minutesدقیقه o
:Countتعداد هر واحد را دریافت میکند .اگر به عنوان مثال واحد روز را انتخاب و در Countمقدار
2را وارد کنید ،هر واحد نوار دو روز خواهد بود.
:Labelقالببندی نمایش مقدار واحد را مشخص میکند .توجه داشته باشید که انتخاب برچسب
بستگی به فضای موجود نیز دارد .اگر مقدار فضایی که به هر واحد اختصاص مییابد کوچک باشد و
قالببندی مفصلی را انتخاب کنید ،قسمتی از آن در صفحه دیده نخواهد شد .اکثر قالببندیهای
موجود ،قسمتی یا تمام تاریخ را نشان میدهند ،در حالی که برخی دیگر از قالببندیها فقط شمارنده
هستند .استفاده از نوع دوم ،در زمانی که برنامهریزی برای پروژهای انجام میشود که تاریخ شروع
مشخصی ندارد ،بسیار مفید است .با این حال باید در نظر داشته باشید که در این حالت نیز تمام
عناصر تاریخ دارند و فقط در نمودار گانت به جای تاریخ با شمارنده نمایش داده میشوند .تمام
قالبهایی که در انتهای نامشان ) (From Startو ) (From Endوجود داشته باشد ،شمارنده هستند.
گاهی نیازی نیست که مقدار واحد را در آن نمایش دهید .به عنوان مثال ،ممکن است واحد نوارها به
ترتیب سال ،ماه و هفته باشد .در این حالت میتوانید برای نوار هفته قالببندی Noneرا انتخاب کنید
تا فقط خطها تقسیمکننده آن در نوار نمایش داده شده ،مقداری در آنها نوشته نشود.
:Alignترازبندی متن داخل نوارها را مشخص میکند .مقدار پیشفرض ،چپچین است .در اکثر موارد
این تنظیم گویاترین حالت است.
:Tick Linesاگر این گزینه فعال نباشد ،قسمتبندیهای نوار با خط از هم جدا نخواهند شد.
:Use fiscal yearsاگر فعال باشد ،به جای سال تقویمی ،از سال مالی استفاده خواهد شد.
در قسمت Timescaleگزینهای به نام Scale separatorوجود دارد که اگر فعال نباشد ،خطهای افقی جداکننده
نوارها نمایش داده نخواهند شد.
در ادامه نمونههایی از انواع قالببندی نمایش داده میشود .شکل 25-5اولین نمونه را نشان میدهد.
Show: Three Tiers (Top, Middle, Bottom) Scale: 180% Scale Separator
Top Tier → Units: Years Count: 1 Align: Left Label: 2002, 2003,…
اگر مقیاس نمودار را از ٪181به ٪51تبدیل کنید ،نمودار به ترتیبی که در شکل 25-6دیده میشود کوچک
خواهد شد.
اگر قصد داشته باشید فضای بیشتری به جدول اختصاص دهید ،باید نمودار را با چنین ترتیبی کوچک کنید .در
این حالت ،مقدارهای نوار دوم به درستی نمایش داده نشدهاند ،پس بهتر است قالببندی آنها را تغییر دهید تا
به عنوان مثال به جای نام ماهها ،شماره آنها را نمایش دهد (شکل .)25-7توجه داشته باشید که تغییر
قالببندی نیز می تواند مقیاس را تغییر دهد ،در نتیجه بعد از تغییر آن باید دوباره مقیاس را اصالح کنید .در این
مثال بعد از تغییر قالببندی ،مقیاس به ٪111تبدیل شده است.
شاید برعکس الزم باشد که نمودار را با جزئیات بیشتری نمایش دهید .در این حالت میتوانید مقیاس آن را به
عدد بزرگتری ،مانند ٪811تبدیل کنید (شکل .)25-8در این حالت ممکن است فقط قسمتی از نمودار دیده
شود ،ولی اگر قصد داشته باشید که آن قسمت از نمودار را گزارش کنید ،مشکلی وجود نخواهد داشت.
در این حالت میتوانید برای نوار دوم و سوم قالببندی مناسبتری انتخاب کنید تا اطالعات را بهتر نمایش
دهند (شکل .)25-9
در این حالت نوار سوم تعداد هفته ای که از شروع پروژه گذشته است را نشان میدهد .ممکن است در این حالت
نیازی به نوار باال نباشد ،که در این صورت میتوانید آن را حذف کنید .در این صورت مراقب باشید که اگر پروژه
بیشتر از یک سال ادامه دارد و نام ماهها بیش از یک بار در آن تکرار میشود ،به جای نام کامل آنها ،نام را
همراه با سال نمایش دهید (شکل .)25-11
ممکن است تاریخ شروه پروژه مشخص نباشد ،در این حالت میتوانید فقط از شمارندهها استفاده کنید تا تاریخ
خاصی در نما قرار نگیرد .شکل 25-11نمودار را در حالتی نمایش می دهد که نوار باال تعداد هفته و نوار پایین
تعداد روز را نمایش میدهد.
در این حالت برای اینکه شمارههای دو نوار با هم اشتباه نشوند ،از پیشوندهای Dو Wبرای مشخص کردن روز
و هفته استفاده شده است.
می توانید در نمودار از انواع خطوط راهنما استفاده کنید .برای تنظیم آنها ،روی قسمتی خالی از نمودار کلیک
راست کرده ،از منویی که باز میشود Gridlinesرا انتخاب کنید .با این کار کادر محاوره شکل 25-12باز خواهد
شد.
لیست سمت چپ ،انواع گزینههایی که میتوانند برای ترسیم خطوط راهنما به کار روند را نشان میدهد .بعد از
اینکه گزینه مورد نظر خود را انتخاب کنید ،میتوانید چگونگی نمایش خط آن را در سمت راست کادر مشخص
کنید.
At Interval برای تعیین نوع خط ،دو راه وجود دارد .برای این کار میتوانید از قسمت Normalیا قسمت
استفاده کنید .قسمت اول در تمام موارد برای گزینه تعیین شده خط میکشد ،در حالی که دومی با تکرارهای
مشخص شده خط را میکشد.
:Typeاین کادر بازشو نوع خط را مشخص میکند (شکل .)25-13اگر مایل نیستید که برای گزینه
خطی نمایش داده شود ،گزینه اول که خالی است را انتخاب کنید.
شکل 25-14نمودار گانت را در دو حالت نشان میدهد .در حالت اول تنظیمهای گزینه Gantt Rowsدر
قسمت Normalو در حالت دوم در قسمت At Intervalمشخص شده است.
شکل :25-14ترسیم خط افقی برای تمام ردیفها (سمت چپ) و سه ردیف در میان (سمت راست).
At حتی میتوانید از ترکیب این دو نیز استفاده کنید .به عنوان مثال میتوانید خطهای Normalرا کمرنگتر و
Intervalرا با تکرار کمتر و پر رنگ ترسیم کنید (شکل .)25-15
گزینههای لیست سمت چپ که میتوانند برای ترسیم خطهای راهنما به کار روند از این قرارند:
:Gantt Rowsخطهای افقی نمودار گانت .نمودار گانت به طور پیشفرض خطهای افقی ندارد و
گاهی باعث میشود که در زمان تطبیق دادن ردیفهای جدول و نمودار مشکل به وجود آید .برای رفع
این مشکل میتوانید از این گزینه استفاده کنید.
:Middle Tier Columnخطهای عمودی متناظر با واحدهای نوار وسط را مشخص میکند .ترسیم
خطهای عمودیِ مناسب ،خوانایی نمودار را افزایش میدهند ،زیرا زمان میلهها بهتر دیده خواهد شد.
:Bottom Tier Columnخطهای عمودی متناظر با واحدهای نوار پایین را مشخص میکند .شکل
25-16نمودار را در حالتی نمایش می دهد که برای نوار وسط از خط پر رنگ و برای خط پایین از
خط کمرنگ استفاده شده است.
:Current Dateتاریخ جاری را نمایش می دهد .توجه داشته باشید که چون معموال به جای تاریخ
Status Date جاری از Status Dateاستفاده میشود ،بهتر است به جای ،Current Dateاز گزینه
استفاده کنید.
:Title Verticalخطهای عمودی نوارهای عنوان باالی نمودار گانت را مشخص میکند.
:Title Horizontalخطهای افقی نوارهای عنوان باالی نمودار گانت را مشخص میکند.
Project Startو :Project Finishدر شروع و پایان پروژه خطهای عمودی ترسیم میکند .استفاده
از این گزینه کاربرد زیادی دارد ،زیرا نسبت زمانی میلهها را با شروع و پایان پروژه مشخص میکند.
:Top Tier Columnواحدهای نوار باال را با خطهایی عمودی مشخص میکند.
زمانهای غیر کاری تقویم به طور پیشفرض در نمودار گانت با پسزمینه تیره مشخص میشوند .میتوانید
تنظیمهای مربوط به نمایش آنها را تغییر دهید.
برای مشخص کردن تنظیمهای زمان های غیر کاری ،روی قسمتی خالی از نمودار گانت کلیک راست کرده ،از
منویی که باز میشود Nonworking Timeرا انتخاب کنید تا کادر محاوره شکل 25-17باز شود.
فعالیتها و منابع مختلف میتوانند از تقویمهای مختلفی استفاده کنند و در نتیجه تعطیلیهای یکسانی
نخواهند داشت؛ با این حال نمودار گانت فقط تعطیلیهای یک تقویم را نمایش میدهد .این تقویم به طور
پیشفرض تقویم پر وژه است .اگر مایل باشید که تقویم دیگری را برای این منظور به کار ببرید ،باید آن را در
کادر بازشوی Calendarمشخص کنید.
در سمت چپ سه گزینه برای مشخص کردن چگونگی نمایش تعطیلیها وجود دارد .گزینه پیشفرض ،یعنی
،Behind task barsستونهای تیره را پشت میلهها میکشد ،در حالی که اگر In front of task barsرا انتخاب
کنید ،میلهها پشت ستونها تیره قرار میگیرند .اگر مایل نیستید که ستونهای تیره نمایش داده شوند ،باید
گزینه Do not drawرا انتخاب کنید.
توجه داشته باشید که زمانی برای تعطیلیها ستونهای تیره نمایش داده میشود ،که کل یک ستون که بر
اساس کوچکترین واحد مشخص میشود تعطیل باشد .به عنوان مثال ،اگر کوچکترین واحد 2روز باشد و هر
هفته یک روز تعطیل تعریف کرده باشید ،هیچکدام از ستونهای نمودار گانت به طور کامل تعطیل نخواهند بود
و در نتیجه ستونهای تیره نمایش داده نمیشوند.
تنظیم خط پیشرفت
یکی دیگر از عناصر تصویری نمودار گانت ،خط پیشرفت است .این خط ،در تاریخ مشخص شده ،از باال تا پایین
نمودار ترسیم می شود .خط پیشرفت در هر ردیف ،بر پیشرفت آن ردیف منطبق میشود .به این ترتیب خط در
قسمت های مختلف عقب رفتگی (متناظر با کم بودن پیشرفت) یا جلو رفتگی (متناظر با زیاد بودن پیشرفت)
خواهد داشت (شکل .)25-18
برای تنظیم خط های پیشرفت ،روی قسمتی خالی از نمودار گانت کلیک راست کرده ،از منویی که باز میشود
Progress Linesرا انتخاب کنید (شکل .)25-21
اولین تنظیمی که باید توجه داشته باشید Display progress lines in relation to ،است .برای این قسمت
میتوانید یکی از دو گزینه Actual Planو Baseline Planرا انتخاب کنید تا خط پیشرفت به ترتیب بر اساس
مقدارهای واقعی و مقدارهای خط مبنا ترسیم شود.
At current :Displayبا فعال کردن این گزینه میتوانید یکی از دو گزینه At project status dateیا
dateرا مشخص کنید تا خط پیشرفت به ترتیب بر اساس Status dateیا تاریخ جاری ترسیم شود .به
این ترتیب ،با تغییر هرکدام از تاریخهای گفته شده ،خط پیشرفت نیز بهروز خواهد شد .اگر این گزینه
را انتخاب کنید فقط یک خط پیشرفت ترسیم خواهد شد.
:Recurring intervalsبا این گزینه میتوانید خط پیشرفتهای متعددی ترسیم کنید که در
دورههای زمانی مشخص شده قرار داشته باشند .به عنوان مثال میتوانید تعیین کنید که برای پنجم
هر ماه ،یک خط پیشرفت ترسیم شود.
:Selected progress linesبا فعال کردن این گزینه ،میتوانید یک یا چند تاریخ را در لیستی که زیر
آن قرار دارد وارد کنید تا برای تک تک آنها خط پیشرفت ترسیم شود.
برای مشخص کردن تنظیمهای قالببندی خطهای پیشرفت ،به زبانه Line Stylesهمان کادر محاوره بروید
(شکل .)25-21
در سمت چپ چهار گزینه مختلف برای تنظیم شکستگیهای خط پیشرفت وجود دارد .اگر مایل باشید
میتوانید گزینه Show date for each progress lineرا فعال کرده ،قالببندی تاریخ را در Formatوارد کنید تا
تاریخ هر خط در باالی صفحه نمایش داده شود (شکل .)25-22
قالببندی خطها با تنظیمهای سمت راستِ کادر مشخص میشود .تنظیمهای خطی که انتخاب شده باشد در
قسمت Current progress lineو سایر خطها در قسمت All other progress linesنمایش داده میشوند.
تنظیم میلهها
مهمترین تنظیم نمودار گانت ،تنظیمهای نمایش میلههای آن است .برای تنظیم میلهها ،روی قسمتی خالی از
نمودار کلیک راست کرده ،از منویی که باز میشود Bar Stylesرا انتخاب کنید .با این کار کادر محاوره شکل
25-23باز خواهد شد.
انواع شیوههای نمایشی در لیست باالی کادر لیست میشوند .تنظیمهای هر گزینهای که انتخاب شده باشد ،در
پایین کادر نمایش داده میشود.
هرکدام از عناصر نمایشی لیست برای تعداد معدودی از آیتمها نمایش داده میشوند .میتوانید برای یک نوع
آیتم ،صفر ،یک یا چند عنصر نمایشی تعریف کنید.
برای تعریف عناصر نمایشی جدید ،مقدارها را در سطری خالی وارد کنید .اگر مایل باشید میتوانید در محلی
دلخواه بین سایر گزینهها نیز Insert Rowرا کلیک کنید تا سطر جدیدی ایجاد شود.
توجه داشته باشید که ت رتیب عناصر اهمیت فراوانی دارد ،زیرا عناصر به ترتیب از باال به پایین در نمودار ترسیم
می شوند و اگر برای یک آیتم بیش از یک عنصر تعریف شده باشد ،عنصری که در لیست پایینتر باشد ،روی
سایر عناصر ترسیم خواهد شد.
:Nameنام عنصر نمایشی در این قست مشخص میشود .این نام در راهنمای عناصر تصویری که
میتواند در زمان چاپ پایین صفحه قرار داشته باشد نوشته میشود.
:Appearanceاین قسمت پیشنمایشی از قالببندی عنصر نمایشی را نشان میدهد .برای تنظیم
قالببندی باید به قسمت پایین صفحه که در ادامه توضیح داده خواهد شد مراجعه کنید.
:Show for… tasksاین قسمت مشخص میکند که عنصر نمایشی برای کدام آیتمها نمایش داده
میشود .می توانید بیش از یک گزینه را در این قسمت وارد کنید و آنها را با ویرگول از هم جدا کنید.
در این حالت عنصر نمایشی برای آیتمهایی به کار میرود که تمام شرایط وارد شده را داشته باشند.
گزینههای موجود در این قسمت از این قرارند:
oعالوه بر گزینههای گفته شده ،گزینههای دیگری نیز وجود دارد که همگی معادل با
فیلدهای همنامشان در جدولها هستند .به عنوان مثال ،عملکرد گزینه Criticalمانند فیلد
Criticalبوده ،بحرانی بودن را مشخص میکند.
:Rowنمودار گانت به طور پیشفرض فقط یک ردیف دارد ،یعنی میله یا میلههای هر آیتم را در یک
ردیف نمایش میدهد .اگر مایل باشید می توانید برای هر آیتم حداکثر چهار ردیف گانت داشته باشید
که چهار گروه میله را نمایش دهد .در این صورت باید شماره ردیف را در Rowمشخص کنید.
Fromو :Toاین دو گزینه به ترتیب شروع و پایان میله را مشخص میکنند .گزینههایی که برای این
قسمت موجود است ،هم نام و هم کاربرد با فیلدهای جداول هستند .عالوه بر فیلدهای جداول ،چند
فیلد دیگر نیز وجود دارند که مختص جدول بوده و از این قرارند:
:Complete Throughمیزان پیشرفت فعالیتها را مشخص میکند .اگر از این گزینه برای o
پایان میله استفاده کنید ،میتوانید با استفاده از آن مقدار پیشرفت فعالیت را نشان دهید.
:Summary Progressمانند Complete Troughاست ،با این تفاوت که به جای فعالیتها o
برای خالصه فعالیتها به کار می رود .در نظر داشته باشید که این مقدار پیشرفت از نوع
زمانی است.
وقتی یکی از گزینهها را انتخاب کنید ،میتوانید تنظیم های نمایشی آن را در پایینِ کادر تعیین کنید .در پایین
دو زبانه به نامهای Barsو Textوجود دارد .در قسمت Barsگزینههایی برای تعریف ابتدا ،وسط و انتهای میله
وجود دارد .در قسمت Textنیز می توانید فیلدهایی که قرار است مقدارشان در سمت چپ ،سمت راست ،باال،
پایین یا داخل میله نوشته شود را مشخص کنید.
فرض کنید قصد دارید مقدارهای خط مبنا را در کنار مقدارهای برنامهریزی نمایش دهید .برای این کار
میتوانید میلههای جدیدی تعریف کنید که در ردیف دوم ،زیر میلههای اصلی ،نشان داده شوند.
برای این کار به آخرین خط لیست رفته ،آیتم جدیدی با نام مناسبی مانند Baselineتعریف کنید .قالببندی
دلخواهی ،مانند آنچه در شکل 25-24دیده میشود برای آن تعریف کنید.
به فیلد Show for … tasksمقدار Normalبدهید تا میله برای تمام فعالیتها کشیده شود.
برای Fromو Toبه ترتیب Baseline Startو Baseline Finishرا انتخاب کنید .نتیجه فعلی در شکل 25-25
نمایش داده شده است.
همانطور که دیده میشودMilestone ،ها و خالصه فعالیتها عنصر نمایشی خط مبنا ندارند .برای اضافه کردن
آنها ،دو عنصر نمایشی جدید با قالببندی مناسب تعریف کرده ،به یکی فیلد Summaryو به دیگری
Milestoneنسبت دهید (شکل .)25-26
حالت دیگری را فرض کنید که قرار است عالوه بر پیشرفت فعالیتها ،پیشرفت زمانی خالصه فعالیتها را هم در
میله مربوطه نمایش دهیم .برای این منظور تنظیمهایی مشابه آنچه در شکل 25-27نمایش داده شده است
وارد کنید.
اکنون فرض کنید قرار است میزان پیشرفت هر فعالیت نیز در کنار آن نوشته شود .یک راه این است که به
تنظیمهای تک تک عناصر نمایشی رفته ،متن های آن را تنظیم کنید .ولی راه بهتر این است که عنصر نمایشی
جدیدی تعریف کنید که برای تمام آیتمها نمایش داده شود ،میلهای نداشته ،فقط متنی را در سمت چپ عناصر
نمایش دهد .امتیاز این روش در این است که فقط یک بار عنصری را تعریف میکنید و نیازی نیست که تک تک
میله ها را ویرایش کنید و از سوی دیگر ،برای اصالح آن نیز کافی است که فقط همان یک عنصر را اصالح کنید.
شکل 25-29تنظیمهای نمونه را نشان میدهد.
به عنوان یک مثال دیگر ،عنصری طراحی کنید که میزان شناوریها را نشان دهد .شکل 25-31تنظیمهای
نمونه عنصری است که شناوری کل را نشان میدهد.
معموال میزان شناوری خالصه فعالیت ها کاربردی ندارد و از سوی دیگر ،عنصری که در این مثال طراحی شده
است هماهنگی چندانی با عنصر نمایشی خالصه فعالیتها ندارد .بنا بر این میتوانیم برای Show for … Tasks
مقدار Normalبدهیم تا برای خالصه فعالیت ها نمایش داده نشود .از سوی دیگر ،بهتر است که آیتم آن را به
باالی سایر آیتمها منتقل کنیم تا پشت میله اصلی قرار بگیرد (شکل .)25-33
میتوانید عنصر را طوری تعریف کنید که مقدار عددی شناوریها را هم در سمت راست میله نمایش دهد (شکل
.)25-34
اگر مایل باشید میتوانید روی نمودار یکی از آیتمها کلیک راست کرده Format Bar ،را انتخاب کنید ،تا کادر
محاوره Format Barباز شود و بتوانید شیوه نمایشی آن میله را مشخص کنید .در این حالت فقط تنظیمهای
مربوط به شیوه نمایش همان یک آیتم تغییر میکند.
اگر مایل باشید که تعدادی از آیتمها را تغییر دهید ،بهتر است به جای ویرایش تک تک آنها ،فیلدی اختصاصی
برای عالمت زدن آنها تعریف کنید (برای این کار Flagها مناسب هستند) و شیوه نمایشی جدیدی برای آن
فیلد تعریف کنید.
به عنوان مثال فرض کنید Flag1برای عالمت زدن آیتم هایی که قرار است متفاوت نمایش داده شوند تعریف
شده است .شکل 25-35تنظیمهای نمایشی مناسب را نشان میدهد.
عنصر نمایشی جدید با شرط Flag1تعریف شده است .ممکن است سایر عناصر نمایشی نیز شرطهایی داشته
باشند که شامل آن آیتمها باشد؛ در این حالت باید شرط آنها را اصالح کنید تا روی عنصر نمایشی جدید نشان
داده نشوند .در این مثال شرط Not Flag1به شرطهای Taskاضافه شده ،تا عنصر نمایشی فعالیتها در این
موارد نشان داده نشوند .اگر الزم باشد باید این شرط را به عناصر نمایشی دیگر نیز اضافه کنید.
به عنوان نمونهای دیگر از اختصاصیسازیهای نمودار گانت ،حالتی را فرض کنید که قرار باشد در کنار نمودار
برخی از آیتمها توضیحی اضافه شود .در این حالت میتوانید به جای اختصاصیسازی تک تک آیتمهای مورد
نظر ،به ترتیبی که گفته میشود عمل کنید.
فیلدی اختصاصی برای توضیح در نظر بگیرید .فرض کنید Text1را به این کار اختصاص داده باشید .به فیلد نام
مناسبی مانند GanttDescاختصاص میدهیم و آیتمی برای نمایش آن در گانت میسازیم .اکنون میتوانیم به
فیلد GanttDescهرکدام از آیتم ها که مایل باشیم مقدار دهیم ،تا مقدار بالفاصله در نمودار نمایش داده شود
(شکل .)25-36
شکل :25-36اضافه کردن توضیح به نمودار گانت ،با استفاده از فیلدهای اختصاصی
گاهی الزم است که میله یک یا چند آیتم را نمایش ندهید .در این حالت میتوانید از روشهای مختلف استفاده
کنید .یک روش که چندان اصولی نیست ،این است که میله آن آیتمها را ویرایش کرده ،حذف کنید .راه دیگر
این است که برای آن آیتمها فیلدی اختصاصی ساخته و میلهها را هم بر همان اساس تنظیم کنید.
در Projectراه حلی برای این کار در نظر گرفته شده است که با وجود آن نیازی به استفاده از روش دوم نخواهد
بود .میتوانید فیلد Hide Barرا به جدول اضافه کنید .هر آیتمی که مقدار Hide Barآن Yesباشد ،در نمودار
گانت نمایش داده نخواهد شد.
برای اضافه کردن تصویر ،تصویر مورد نظر خود را در نرمافزار مبدا Copyکنید ،به Projectبازگردید و آن را
( Pasteمیانبر )Ctrl+Vکنید .با این کار تصویر در نمودار قرار میگیرد (شکل .)25-37
اکنون میتوانید روی تصویر کلیک کنید تا انتخاب و گیرههای اطراف آن نمایش داده شود .میتوانید با گیرهها
اندازه تصویر را تغییر دهید .برای جابجا کردن تصویر ،روی آن کلیک کرده ،آن را به محل مورد نظر بکشید
(شکل .)25-38
برای تنظیم محل قرارگیری تصویر ،روی آن کلیک راست کرده ،از منویی که باز میشود Propertiesرا انتخاب
کنید تا کادر محاوره شکل 25-39باز شود.
همانطور که در شکل نیز دیده میشود ،محل تصاویر به طور پیشفرض نسبت به محور زمانی تعیین میشود .در
چنین حالتی ،محل قرارگیری با جابجا شدن فعالیتها تغییر نمیکند .اگر مایل باشید میتوانید گزینه Attach
to taskرا انتخاب کنید تا محل قرارگیری نسبت به فعالیت مشخص شود .پس از انتخاب گزینه ،شماره فعالیت
مورد نظر خود را وارد کنید و مشخص کنید که محل تصویر نسبت به شروع یا پایان فعالیت تنظیم شود .در این
حالت وقتی زمانبندی فعالیت عوض شود ،محل شکل نیز اصالح خواهد شد (شکل .)25-41
در حالت معمول ،تصاویر روی عناصر نمایشی قرار دارند (شکل .)25-41
اگر مایل باشید میتوانید روی تصویر کلیک راست کرده Order| Send to Back ،را انتخاب کنید تا به پشت
عنصر نمایشی منتقل شود (شکل .)25-42
پس از آن میتوانید اشکال را انتخاب کرده ،ترسیم کنید .یکی از اشکال موجود Textbox ،است که برای قرار
دادن توضیحهای متنی به کار میرود .شکل 25-44نمودار را در حالتی نمایش میدهد که یک Textboxو یک
فلش به آن اضافه شدهاند.
اگر الزم است که شکل نسبت به فعالیت جابجا شود ،آن را به روشی که در قسمت قبل توضیح داده شد تنظیم
کنید .برای تنظیم خصوصیتهای عناصر ،روی آنها کلیک راست کرده ،در کادر محاورهای که باز میشود به
زبانه Line & Fillبروید (شکل .)25-45
سایر تنظیمها
برای مشخص کردن سایر تنظیمها ،روی قسمتی خالی از نمودار گانت کلیک راست کرده ،از منویی که باز
میشود Layoutرا انتخاب کنید (شکل .)25-46
قسمت باالی کادر ،چگونگی نمایش روابط را مشخص میکند .کادر بازشوی ،Date Formatقالببندی نمایش
تاریخ را نشان میدهد .این قالببندی زمانی به کار میرود که در عناصر نمایشی از متنهایی که مقدار فیلدهای
حاوی تاریخ را نشان میدهند استفاده کرده باشید .ارتفاع میلهها در کادر بازشوی Bar heightتعیین میشود.
میتوانید با تنظیم فیلدهای Rollupتعیین کنید که زیرمجموعههای یک خالصه فعالیت در میله آن نمایش
داده شوند .اگر مایل باشید که این اتفاق در مورد تمام خالصه فعالیتها بیافتد ،میتوانید گزینه Always roll
up Gantt Barsرا فعال کنید .در این حالت اگر گزینه Hide rollup bars when summary expandedفعال
باشد ،فقط زمانی میلههای فعالیتها روی میله خالصه فعالیت نمایش داده میشوند که خالصه فعالیت بسته
شده باشد.
اگر گزینه Round bars to whole daysفعال باشد ،مدت زمانی که به صورت گرافیکی نمایش داده میشود به
روز گرد خواهد شد.
اگر گزینه Show bar splitsفعال نباشد ،شکستگیهای میلهها نمایش داده نخواهد شد.
میتو انید در نمودار گانت عکس نیز قرار دهید ،در این حالت اگر گزینه Show drawingsرا غیر فعال کنید،
تصاویر گفته شده نمایش داده نخواهند شد.
در زبانه Formatنماهای شبکهای ابزارهای مختلفی برای قالببندی نما وجود دارد که از این قرارند:
:Summary Tasksنمایش خالصه فعالیتها را فعال یا غیر فعال میکند .معموال خالصه فعالیتها در
نمودار به شیوه مناسبی نمایش داده نمیشوند ،در نتیجه برخی افراد ترجیح میدهند آنها را مخفی
کنند.
:Progress Marksنمایش میزان پیشرفت فعالیتها را فعال یا غیر فعال میکند .اگر نمایش میزان
پیشرفت فعال باشد ،کادر فعالیتهایی که آغاز شده باشند با یک خط مورب و فعالیتهایی که تکمیل
شدهباشند با دو خط ،مشخص میشوند (شکل .)25-47
شکل : 25-47دو فعالیت باال آغاز نشده ،فعالیت وسط آغاز شده و در حال انجام است ،دو فعالیت پایین تکمیل شدهاند.
:Project Summary Taskخالصه فعالیت پروژه را نمایش میدهد یا مخفی میکند.
:Link Labelsاگر فعال باشد نوع روابط روی فلشها نمایش داده میشود (شکل .)25-48
:Straight Linksاگر فعال شود روابط با خطوط مایل نمایش داده میشوند (شکل .)25-49
:Collapse Boxesاگر این دکمه را فعال کنید ،فعالیتها با کادرهای کوچک نمایش داده خواهند شد
(شکل .)25-51در این کادرها فقط IDفعالیتها نمایش داده میشود.
برای تنظیم جانمایی ،روی Layoutکلیک کنید تا کادر محاوره شکل 25-51باز شود.
اگر قصد دارید که محل قرارگیری کادرهای نمودار را به طور دستی تنظیم کنید تا نمودار ظاهر بهتری داشته
باشد ،گزینه Allow manual box positioningرا فعال کنید .در این حالت برای جابجا کردن کادرها روی آنها
کلیک کرده ،بدون رها کردن کلید ماوس ،اشارهگر را به محل جدید بکشید (شکل .)25-52
اگر به جای گزینه گفته شده ،گزینه Automatically position all boxesفعال شده باشد ،وقتی روی فعالیتی
کلیک کنید و اشارهگر ماوس را بکشید ،رابطه جدیدی تعریف خواهد شد.
در حالت تنظیم دستی دو گزینه Alignو Layout Nowدر ریبون فعال خواهند شد.
وقتی تعدادی از فعالیتها را انتخاب کرده باشید ،میتوانید روی دکمه Alignریبون کلیک کنید تا گزینههای
ترازبندی فعالیتها در اختیارتان قرار گیرند (شکل .)25-53
در حالت دستی دکمه Layout Nowنیز فعال خواهد بود و اگر روی آن کلیک کنید جانمایی به صورت خودکار
انجام خواهد شد.
قسمت دیگری که در کادر محاوره Layoutوجود دارد ،گزینه Arrangementاست که شیوه ترازبندی خودکار
فعالیتها را مشخص میکند (شکل .)25-54
گزینه پیشفرض Top Down From Leftاست ،که فعالیت ها را از باال به پایین و چپ به راست مرتب میکند.
هرکدام از گزینههای دیگر را که مایل باشید نیز می توانید انتخاب کنید .اگر ترازبندی خودکار فعال نباشد ،تغییر
گزینه تاثیری نخواهد داشت.
در زیر گزینه Arrangementگزینههایی برای تنظیم دقیقتر ترازبندی وجود دارد (شکل .)25-55
گزینههای Alignmentزمانی کاربرد دارند که کادرهای فعالیتهای مختلف هم اندازه نباشند .میتوانید با
Height ،Spacingو Widthفاصله بین کادرها را مشخص کنید.
:Show summary taskنمایش داده شدن یا نشدن خالصه فعالیتها را مشخص میکند.
:Keep tasks with their summariesاگر فعال باشد ،فعالیتها همراه خالصه فعالیتهایشان نمایش
داده خواهند شد.
:Adjust for page breaksاگر فعال باشد ،کادرها طوری قرار میگیرند که هیچکدام به دو یا چند
صفحه خرد نشوند.
اولین تنظیم Rectilinearیا Straightاست که برای نمایش خطها به ترتیب از خطهای غیر مورب و مورب
استفاده میکند .اگر گزینه Show arrowsرا غیر فعال کنید ،انتهای خطها پیکان نخواهند داشت .مشکل اصلی
این حالت این است که پیشنیازی و پسنیازی مشخص نخواهد شد.
اگر گزینه Show link labelsرا فعال کنید ،نوع روابط در کنار خطها نمایش داده میشود.
قسمت Link Colorرنگ خطهای نمایش دهنده روابط را مشخص میکند (شکل .)25-57
اگر گزینه Match predecessor box borderرا انتخاب کنید ،هر خط به رنگ کادر فعالیت پیشنیاز خود خواهد
بود .در غیر این صورت می توانید دو رنگ مختلف برای مشخص کردن رنگ روابط بحرانی و غیر بحرانی مشخص
کنید.
:Show page breaksاگر فعال باشدPage Break ،ها با خطچین نمایش داده خواهند شد.
:Mark in-progress and completeاگر فعال باشد ،پیشرفت فعالیتها با یک یا دو خط مورب روی
کادر نمایش داده میشود.
:Hide all fields except IDاگر فعال باشد ،فعالیتها با کادرهای کوچکی که فقط IDرا نشان
میدهند نمایش داده خواهند شد.
عالوه بر تنظیمهای کادر محاوره ،Layoutتنظیمهای شیوه نمایش کادرها نیز وجود دارند .برای دسترسی به این
گروه تنظیمها ،روی نما کلیک راست کرده ،از منویی که باز میشود Bar Stylesرا انتخاب کنید .با این کار کادر
محاوره شکل 25-58باز خواهد شد.
در باال و سمت چپ کادر ،لیستی از عناصری که در نما نشان داده میشوند ،وجود دارد .هرکدام از عناصر را که
انتخاب کنید ،پیشنمایش آن در سمت راست و تنظیمهای آن در پایین کادر در اختیارتان قرار خواهند گرفت.
به عنوان مثال ،برای تنظیم شیوه نمایش فعالیتهای معمولی ،یعنی فعالیتهایی که بحرانی نیستند ،گزینه
Noncriticalرا انتخاب کنید.
هر عنصر دو گروه تنظیمهای نمایشی دارد .گروه اول ،تنظیمهایی هستند که اطالعات کادر را مشخص میکنند.
گروه دوم تنظیمها ،مشخصات نمایشی کادر را مشخص میکنند.
برای تنظیم های نمایشی کادر عنصری که انتخاب شده است ،به قسمت پایین کادر محاوره مراجعه کنید (شکل
.)25-59
گزینه Colorرنگ حاشیه را مشخص میکند .ضخامت حاشیه در کادر بازشوی Widthقابل انتخاب است.
گزینههای Show horizontal gridlinesو Show vertical gridlinesبه ترتیب نمایش داده شدن یا نشدن
خطهای افقی و عمودی داخل کادر را مشخص میکند .این خطها فیلدهای مختلف را از هم جدا میکنند.
در قسمت Backgroundنیز دو گزینه برای تعیین رنگ و الگوی پسزمینه کادر وجود دارد.
فیلدهایی که قرار است در کادر نمایش داده شود ،در قسمت Data Templateمشخص میشود .در این قسمت
یک کادر بازشو وجود دارد که انواع الگوهای موجود در آن نمایش داده میشوند و میتوانید گزینه مورد نظر
خود را در آن انتخاب کنید (شکل .)25-61
هرکدام از الگوها را که انتخاب کنید ،فیلدهای تعریف شده در آن الگو در قسمت پیشنمایش دیده خواهند شد.
گزینههای موجود از این قرارند:
Standard گزینه
Cost گزینه
External گزینه
Milestone گزینه
Milestone گزینه
Tracking گزینه
گزینه WBS
گزینه Work
توجه داشته باشید که وقتی الگو را انتخاب میکنید ،باید فقط به فیلدهای داخل کادر توجه کنید؛ شکل آن با
گزینههای دیگری که پیش از این توضیح داده شد مشخص میشوند .به عنوان مثال شکل 25-62الگوی
مایلستونها را در دو حالت مختلف نشان میدهد .این دو حالت با تنظیم گزینههای پایین کادر محاوره Bar
Stylesتنظیم شده است.
اگر هیچکدام از الگوهای تعریف شده مطابق نیازهایتان نباشند ،میتوانید روی دکمه More Templatesکلیک
کنید تا کادر محاوره شکل 25-63باز شود.
تمام الگوهایی که در لیست این کادر وجود داشته باشند ،در کادر بازشوی کادر محاوره Bar Stylesنمایش داده
میشود .می توانید در این قسمت الگوهای جدید بسازید .برای ساخت الگوی جدید روی Newکلیک کنید .به
جای آن می توانید یکی از الگوهایی که به الگوی مورد نظرتان نزدیک باشد را انتخاب کرده ،روی Copyکلیک
کنید تا الگوی جدید بر اساس آن ساخته شود .با انجام هرکدام از کارهای گفته شده ،کادر محاوره شکل 25-64
باز خواهد شد.
:Show data from task IDاین کادر بازشو مقادیری که برای پیشنمایش فیلدها به کار میروند را
مشخص میکند و تاثیری روی عملکرد کادر نخواهد داشت.
وقتی روی دکمه Cell Layoutکلیک کنید ،کادر محاوره شکل 25-65باز خواهد شد.
دو گزینه اول به ترتیب تعداد ردیفها و ستونهای کادر را مشخص میکند.
طول نسبی کادر در Cell widthتعیین می شود .این اندازه نسبت به اندازه موجود در الگوی Standardتعیین
میشود.
در پایین کادر عملکرد سلولهای خالی تعیین میشود .اگر گزینه Do not merge blank cellsرا انتخاب کنید،
سلول های خالی به همان صورت رها خواهند شد؛ در غیر این صورت با انتخاب گزینه Merge blank cells with
،cell to the leftسلولهای خالی با سلول سمت چپ خود ادغام خواهند شد.
بعد از تنظیم گزینههای گفته شده ،پیشنمایش سلولها در کادر محاوره Data Template Definitionنمایش
داده خواهند شد.
در میانه کادر محاوره ،جدولی برای تعیین محتوای سلولها وجود دارد .در این جدول به ازای هر سلول کادر،
سلولی وجود دارد .میتوانید سلولهای جدول را انتخاب کرده ،فیلدی که قرار است در آن نمایش داده شود را
انتخاب کنید.
تنظیمهای هرکدام از سلولهای جدول که انتخاب شده باشند ،در پایین جدول نشان داده میشوند (شکل -66
.)25
:Fontفونت ،اندازه و رنگ متن سلول انتخاب شده را مشخص میکند.
:Limit cell text toتعداد خطهایی که برای نمایش محتوای آن سلول به کار میروند را مشخص
میکند.
:Show label in cellاگر فعال باشد ،عالوه بر محتوای فیلد ،عنوانی نیز برای آن وارد میشود .عنوان
به طور پیشفرض نام فیلد است ،ولی اگر مایل باشید میتوانید عنوان دیگری را در کادر روبروی آن
وارد کنید.
:Date formatاگر محتوای فیلد از نوع تاریخ باشد ،قالببندی نمایش تاریخ در این فیلد قابل تعریف
خواهد بود.
به این ترتیب می توانید شیوه نمایش انواع عناصر را تعیین کنید .در این حالت عناصر به طور کلی تنظیم
خواهند شد .با این حال ،اگر مایل باشید میتوانید به جای روش گفته شده ،روی یکی از کادرها کلیک راست
کرده ،از منویی که باز میشود Format Boxرا انتخاب کنید تا کادر محاوره شکل 25-67باز شود.
در این حالت میتوانید با گزینههای این کادر که مشابه گزینههای موجود در کادرهای توضیح داده شده است،
قالببندی کادر را تعیین کنید .در این حالت فقط قالببندی کادری که انتخاب شده بود تغییر خواهد کرد.
برای تعیین اطالعاتی که در نمودار نمایش داده میشوند ،روی آن کلیک راست کنید تا منوی میانبر شکل -68
25باز شود.
گزینه پیشفرض Peak Unitsاست .اگر این گزینه را انتخاب کرده باشید ،حداکثر تخصیص منبع در هر دوره
زمانی ،نمایش داده میشود .هر دوره زمانی با یک میله نمایش داده میشود.
سایر گزینههای جدول ،هرکدام متناظر با یکی از فیلدهای تخصیصهای منبع است.
برای تنظیم خطهای نمودار ،گزینه Gridlinesرا انتخاب کنید .کادر محاورهای که باز میشود و تنظیمهایی که
در اختیارتان قرار میگیرند ،مانند آنچه در مورد نمودار گانت توضیح داده شد میباشند.
اگر گزینه Bar Stylesرا از منوی میانبر انتخاب کنید ،کادر محاوره شکل 25-69باز خواهد شد.
با استفاده از گزینههای این کادر میتوانید شیوه نمایش میلهها را در حالتهای مختلف تعیین کنید.
در سمت چپ نما ،کادری وجود دارد که نام منبعی که اطالعاتش در نمودار نشان داده شده است را مشخص
میکند .اگر فلشهای رو به پایین و باالی صفحه کلید را بفشارید ،سایر منابع انتخاب خواهند شد.
اگر روی جدول زمانمند کلیک راست کنید ،جدول شکل 25-71باز میشود.
در این منو به طور پیشفرض برخی از فیلدهای زمانمند لیست شدهاند .میتوانید با کلیک کردن روی فیلدهایی
که عالمت تایید ندارند ،آنها را نمایش دهید .فیلدهایی که در حال حاضر در جدول نمایش داده شدهاند ،با
عالمت تایید مشخص شدهاند و اگر روی آنها کلیک کنید جدول حذف خواهند شد.
فیلدهای زمانمندی که در Projectوجود دارند بیش از تعدادی هستند که در این منو نمایش داده شده است.
برای دسترسی به سایر فیلدها ،روی Detail Stylesکلیک کنید تا کادر محاوره شکل 25-71باز شود.
لیست سمت چپ فیلدهای زمانمندی که در جدول نمایش داده نشدهاند و لیست سمت راست فیلدهایی که
نمایش داده شدهاند را مشخص میکند .برای مدیریت آنها ،گزینه مورد نظر را انتخاب کرده ،روی دکمههای
Showیا Hideکلیک کنید.
ترتیب فیلدها در لیست سمت راست ،ترتیب نمایش آنها را در جدول زمانمند مشخص میکند .برای تغییر
ترتیب ،گزینه مورد نظر را انتخاب کرده روی دکمههای فلشدار سمت راست کلیک کنید تا به باال یا پایین برود.
برای تنظیم شیوه نمایش هریک از فیلدها ،روی آن کلیک کرده ،تنظیمهای موجود در پایین کادر محاوره را
تغییر دهید .تنظیمها از این قرارند:
دکمه :Change Fontبا استفاده از این قسمت میتوانید فونت ،اندازه و رنگ نوشته را تعیین کنید.
:Show in menuاگر فعال باشد ،گزینه مربوط به فیلد در منوی میانبری که با کلیک راست روی
جدول زمانمند باز میشود ،نمایش داده خواهد شد.
برای تنظیم مشخصات کلی ،به زبانه Detail Stylesبروید (شکل .)25-72
:Display detail header columnاگر مقدار Yesرا انتخاب کنید ،ستونی در سمت چپ جدول قرار
میگیرد و عنوان ردیفها (یعنی فیلدها) را نشان میدهد .اگر مقدار Noرا انتخاب کنید ،چنین ستونی
وجود نخواهد داشت .اگر گزینه Automaticرا انتخاب کنید ،در صورتی که فقط یک فیلد نمایش داده
شده باشد ،ستون عنوان نمایش داده نمیشود و در غیر این صورت نمایش داده میشود.
:Repeat details header on all assignment rowsاگر فعال نباشد ،عنوان فیلدهای زمانمند در
ردیفهای مربوط به تخصیصها نمایش داده نخواهد شد.
:Display short detail header namesاگر فعال باشد ،نام فیلدها به طور خالصه شده نمایش داده
میشود تا نیاز به پهنای ستون کمتری داشته باشند.
برای تنظیم واحد زمان جدول زمان مند ،روی نوارهای باالی آن دابل کلیک کنید تا کادر محاوره Timescaleباز
شود .عملکرد این کادر محاوره دقیقا مانند کادر محاوره هم نامش در نمودار گانت است.
در زبانه Formatابزارهای مختلفی برای اختصاصیسازی وجود دارد (شکل .)25-73
گزینههای Text Styleو Gridlinesبرای تنظیم قالببندی متن و خطهای راهنما است و مانند گزینههای
مشابهشان در نماهای دیگر عمل میکنند.
میتوانید تعدادی از تخصیصها را انتخاب کرده Format| Styles| Selected Tasks ،را انتخاب کنید .در منویی
که باز میشود دو گزینه برای تعیین رنگ پسزمینه و حاشیه میلهها وجود دارد .به این ترتیب میتوانید
تخصیصهای خاصی را متمایز شده نمایش دهید (شکل .)25-75
در Format| Stylesپنج گزینه دیگر نیز برای قالببندی میلهها وجود دارد:
احتماال در برخی شرایط الزم است که نسخهای چاپی از برنامهها تهیه کنید و آن را در اختیار دیگران بگذارید.
برای این منظور میتوانید نماها را چاپ کنید یا از گزارشها کمک بگیرید .در این فصل چاپ نماها را بررسی
خواهیم کرد.
مفاهیم کلی
پیش از این با انتخاب و اختصاصیسازی نماها آشنا شدید .بعد از اینکه نما را به شیوه مناسب تنظیم کنید،
می توانید آن را چاپ کنید .نکته مهمی که باید توجه داشته باشید این است که در هر زمان فقط یک نما چاپ
میشود و نماهای دوتایی به صورت ترکیبی چاپ نخواهند شد.
وقتی نمایی ترکیبی باز باشد ،یکی از دو نما فعال است .نوار سمت چپ نمای فعال پررنگتر است .هرگاه روی
یکی از دو نما کلیک کنید ،فعال خواهد شد .وقتی نمایی ترکیبی را چاپ کنید ،نمای فعال چاپ خواهد شد.
ممکن است برای انجام کارهایتان نیاز به قالب بندی خاصی داشته باشید که برای چاپ مناسب نباشد .در این
صورت میتوانید نماهای متفاوتی برای چاپ و کار بسازید و با نامهای مختلف ذخیره کنید تا هر باز نیاز به
اختصاصیسازی آنها نداشته باشید.
پیشنمایش چاپ
اولین قدم برای تنظیم شیوه چاپ ،دیدن پیشنمایشِ آن است .برای این کار File| Printرا اجرا کنید یا
کلیدهای میانبر Ctrl+Pرا بفشارید .در این صورت صفحهای مشابه صفحه شکل 26-1را خواهید دید.
سمت راست صفحه محل پیشنمایش است .اگر به جای پیشنمایش دکمه Print Previewدر آن محل قرار
گرفته است ،روی آن کلیک کنید تا پیشنمایش ارائه شود.
پایین و سمت راست صفحه دکمههایی جهتدار وجود دارد که وقتی روی آنها کلیک کنید پیشنمایش
صفحههای دیگر دیده خواهند شد.
اگر روی پیشنمایش کلیک کنید ،در اندازه بزرگتر نمایش داده خواهد شد .وقتی دوباره روی آن کلیک کنید،
به اندازه قبلی باز خواهد گشت.
که پایین و سمت راست صفحه قرار دارد کلیک کنید تا ترکیب پیشنمایشها در اندازه میتوانید روی دکمه
کوچکتر نشان داده شوند.
که باال و سمت چپ برای خروج از پیشنمایش چاپ کلید Escصفحه کلید را بفشارید یا روی دکمه
صفحه قرار دارد کلیک کنید.
اولین تنظیمی که باید مشخص کنید ،چاپگر است .چاپگر در قسمت Printerمشخص میشود .وقتی روی آن
کلیک کنید لیستی از چاپگرهای معرفی شده نمایش داده میشود و می توانید گزینه مناسب را انتخاب کنید.
فراموش نکنید که محدوده اندازه کاغذهایی که برای چاپ در اختیارتان میگیرد را چاپگری که در این قسمت
انتخاب میکنید تعیین میکند.
تنظیم دیگر اندازه کاغذ است .گزینه آن پایین صفحه قرار دارد .وقتی روی آن کلیک کنید اندازههای مختلفی
که در چاپگرِانتخاب شده قابل استفاده هستند نمایش داده میشوند.
در قسمت Settingsلیست بازشویی وجود دارد که انواع تنظیمهای چاپی را در اختیارتان قرار میدهد .تنظیمها
از این قرارند:
:All Sheet Columnsاگر فعال باشد تمام ستونهایی که در نما باز باشند چاپ میشوند و در غیر
این صورت فقط ستون هایی که باز باشند و دیده شوند چاپ خواهند شد .این گزینه فقط در چاپ
نماهایی فعال خواهد بود که جدول داشته باشند.
:Left Column of pages onlyاگر تعداد ستونها یا پهنای گانت زیاد باشد ،ردیفها در بیشتر از یک
ستون چاپ خواهند شد .در این حالت اگر این گزینه را فعال کرده باشید فقط اولین ستون نما چاپ
میشود و از باقیمانده ستونهای نما و نمودار گانت صرف نظر خواهد شد.
وقتی یکی از گزینههای محدود را انتخاب کنید ،باید محدوده را در تنظیمهای پایین گزینه تعیین کنید .البته
اگر تنظیمها را تغییر دهید نیز گزینهها به طور خودکار اصالح خواهند شد.
باالی گزینه اندازه کاغذ ،گزینهای برای تعیین افقی ) (Landscapeیا عمودی ) (portraitبودن کاغذ وجود دارد.
معموال از حالت افقی استفاده میشود تا محتوای چاپی در عرض جای گیرند.
در میانه صفحه گزینههایی به صورت … Pages … toوجود دارد که برای تعیین محدوده صفحهها است .پیش
فرض این است که از اولین تا آخرین صفحه چاپ شود ،ولی میتوانید محدوده کمتری را هم مشخص کنید.
گزینههای دیگری نیز به صورت … Dates … toوجود دارد که برای تعیین محدوده تاریخی نماهای تاریخدار
(مانند گانت) به کار میرود.
در صفحه چاپ لینکی با نام Page Setupوجود دارد که وقتی روی آن کلیک کنید کادر محاوره شکل 26-2باز
خواهد شد.
تنظیمهای هر نما جداگانه ذخیره میشود .در نتیجه میتوانید برای نماهای مختلف از سربرگها ،راهنماها و
تنظیمهای مختلفی استفاده کنید .حتا اگر مایل باشید میتوانید یک کپی از نمای مورد نظر خود ساخته ،آن را
به شیوه متفاوتی برای چاپ تنظیم کنید ،تا هر بار که کاربری قصد چاپ اطالعات را دارد ،به نمای مناسب برود
و نیازی نباشد که تنظیمها را کنترل کند.
بعضی گزینهها و حتا زبانههای Page Setupدر تمام نماها وجود ندارند .در ادامه تمام تنظیمها توضیح داده
خواهند شد.
:Scalingمقیاس چاپ را مشخص میکند .میتوانید با افزایش یا کاهش ،Adjust toتصویر را ریزتر یا
درشتتر کنید .گاهی اوقات مهمترین فاکتور در تعیین مقیاس ،این است که اطالعات در چند برگ
جای میگیرند .در این حالت میتوانید به جای تنظیمهای ،Adjust toاز قسمت Fit toاستفاده کنید.
:Paper Sizeاندازه کاغذ را مشخص می کند .اگر اندازه کاغذ مورد نظرتان در کادر بازشو وجود نداشته
باشد ،احتماال به این خاطر است که چاپگر مناسبی انتخاب نشده است.
:First page numberبه طور پیشفرض اولین صفحه شماره 1خواهد بود و سایر صفحهها به دنبال
آن شمارهگذاری میشوند .اگر مایل باشید که نسخههای چاپ شده را داخل گزارش دیگری قرار دهید
و به این خاطر الزم باشد که شمارههای آن بعد از شمارههای گزارش قرار داشته باشند ،میتوانید
شماره اولین صفحه را در این کادر مشخص کنید.
Right ،Left ،Topو :Bottomحاشیههای چهار طرف کاغذ را مشخص میکنند .حاشیهها به خاطر
محدودیت چاپگر نمی توانند از حدی کمتر باشند .توجه داشته باشید که یک طرف کاغذ در صحافی
گزارش قرار می گیرد ،در نتیجه بهتر است که برای آن طرف (سمت راست ،چپ یا باال) حاشیه
بیشتری در نظر بگیرید.
:Border aroundمشخص میکند که اطراف گزارش کادر داشته باشد یا خیر.
در باالی زبانه ،قسمتی به نام Previewوجود دارد که پیشنمایش سربرگ است .سربرگ به سه قسمت راست،
وسط و چپ تقسیم میشود که هرکدام در یکی از زبانههای Center ،Rightو Leftکه در میانه کادر قرار دارند
تنظیم میشود .سایر دکمه ها و کادرهای پایین صفحه برای تنظیم هرکدام از سه قسمت گفته شده به کار
میرود.
برای تنظیم هرکدام از قسمت ها ،ابتدا زبانه را انتخاب کنید .بعد از آن در کادر سفیدرنگ مربوط به آن قسمت
کلیک کرده ،متن را تایپ کنید .توجه داشته باشید که تمام قسمتها به حداکثر 5خط متن محدود میشوند.
اگر این محدودیت برایتان مشکل ایجاد کند ،میتوانید تمام محتوا را در یک نرمافزار گرافیکی تهیه کرده ،به
صورت فایل تصویری ذخیره کنید .پس از آن می توانید فایل را در محل مناسب درج کنید تا کل محتوای آن
نمایش داده شود .نکته ای که در این موارد باید در نظر داشته باشید این است که تصویر تهیه شده کیفیت
مناسبی داشته باشد.
کلیک کنید تا کادر میتوانید بعد از نوشتن متن ،قسمتهای مورد نظر خود را انتخاب کرده ،روی دکمه
محاوره قالببندی متن باز شود .میتوانید برای قسمتهای مختلف متن از قالببندیهای مختلفی استفاده
کنید.
کلیک کنید .با این کار کادر محاورهای باز شده، برای درج تصویر ،محل درج را انتخاب کرده ،روی دکمه
محل و نام تصویر را از شما دریافت میکند.
اگر اندازه تصویر مناسب نیست ،روی آن کلیک کنید تا انتخاب شود .در این حالت دور شکل کادری پررنگ
نمایش داده می شود؛ اگر چنین کادری وجود ندارد ،دوباره روی تصویر کلیک کرده ،بدون رها کردن کلید ماوس،
آن را کمی به اطراف بکشید .بعد از اینکه کلید ماوس را رها کنید ،گیرههای اطراف عکس نمایش داده میشوند.
اکنون میتوانید گیرههای اطراف کادر پررنگ را گرفته ،به جهات مختلف بکشید تا اندازه عکس تنظیم شود.
دکمههای پایین کادر ،برخی فیلدهای پر کاربرد را درج میکنند .عملکرد آنها از این قرار است:
توجه داشته باشید که در تمام موارد فیلد درج می شود ،نه محتوای آن .در نتیجه دایما به روز خواهد شد و متن
ثابتی را نمایش نمی دهد .به عنوان مثال ،اگر فیلد تاریخ را درج کنید ،تاریخ زمان چاپ هر برگه در آن محل
چاپ خواهد شد.
هر فیلد با گرامر مخصوصی به طور متنی در محل درج میشود .شکل 26-5نمونهای را نشان میدهد که از
فیلدهای مختلف استفاده کرده است.
دکمه ها تعداد کمی از پرکاربردترین فیلدها را در اختیار کاربر قرار میده ند .برای دسترسی به سایر فیلدها ،از
کادرهای بازشوی Generalیا Project fieldsاستفاده کنید .گزینه مورد نظر خود را در یکی از کادرهای گفته
شده بیابید و روی دکمه Addروبروی آن کلیک کنید تا نتیجه در کادر اضافه شود .به عنوان مثال ،میتوانید
BCWS ،BCWPو ACWPپروژ ه را در عنوان نمایش دهید تا وضعیت ارزش کسب شده پروژه به خوبی نمایش
داده شود .عالوه بر آن می توانید از فیلدهای درصد وزنی ،یا فیلدهایی که میزان تطبیق واقعیت و برنامهریزی
اولیه را نشان میدهند نیز استفاده کنید.
میتوانید عالوه بر عناصر گفته شده ،اشیای برنامههای دیگر را هم درج کنید .به عنوان مثال ،شکل 26-6
وضعیتی را نشان میدهد که یک جدول اکسل در سربرگ درج شده است.
زبانه Footerنیز مانند Headerاست ،با این تفاوت که به جای سربرگ ،تهبرگ را تنظیم میکند .البته تعداد
خطوط آن به جای پنج خط ،به سه خط محدود میشود.
راهنما ) (Legendباالی تهبرگ نمایش داده میشود .این قسمت نیز مانند سربرگ و تهبرگ سه قسمت دارد.
حداکثر تعداد خطوطی که در هر قسمت میتواند وجود داشته باشد ،سه خط است.
البته راهنما عالوه بر سه قسمت قابل تنظیم گفته شده ،قسمت چهارمی هم دارد که بیشترین فضا را به خود
اختصاص می دهد و در سمت راست هر سه قسمت گفته شده دارد .این قسمت برای نمایش راهنمای نمودار ،و
عناصر مشابه آن است .در مورد نمودار گانت ،نامی که برای عناصر نمایشی انتخاب شده باشد در کنار شکل آنها
نمایش داده میشود.
تنظیمهای این قسمت مانند سربرگ و تهبرگ است ،با این تفاوت که تنظیمهای زیر نیز وجود دارد:
:Legend Onتعیین میکند که راهنما در تمام صفحهها چاپ شود ،در هیچکدام چاپ نشود یا در
صفحهای جداگانه چاپ شود.
:Widthاین قسمت پهنای قسمتهای قابل تنظیم سمت چپ را مشخص میکند .با افزایش این
قسمت ،فضای موجود برای راهنمای نمودار کاهش مییابد.
وقتی روی دکمه Legend Labelsکلیک کنید ،کادر محاوره تنظیم قالببندی راهنمای سمت راست باز
میشود.
:Print all sheet columnsاگر فعال باشد ،تمام ستونهایی که در جدول نما وجود دارند چاپ
میشوند .در غیر این صورت فقط ستونهایی که زیر نمودار قرار نگرفته باشند چاپ خواهند شد.
:Print first… columns on all pagesاگر فضای افقی مورد نیاز نمودار بیش از آن باشد که در یک
صفحه جای گیرد ،در چند صفحه شکسته خواهد شد ،در این حالت میتوانید تعیین کنید که تعدادی
از ستونهای سمت چپ جدول در تمام صفحههای افقی تکرار شوند.
:Print notesاگر فعال باشد ،یادداشتها نیز چاپ خواهند شد.
:Print blank pagesاگر غیر فعال باشد ،صفحههای خالی چاپ نخواهند شد.
:Fit timescale to end of pageاگر فعال باشد ،محور زمانی طوری مقیاس داده میشود که در یک
صفحه جای گیرد .البته اگر حجم محتوا از حدی بیشتر باشد چنین نتیجهای به دست نخواهد آمد و
الزم است که مقیاسهای کوچکتری برای محور زمان انتخاب کنید.
:Print column totalsاگر فعال باشد ،ستونها خالصهسازی خواهند شد.
:Print row totals for values within print date rangeاگر فعال باشد ،خالصهسازیها فقط برای
قسمتهایی انجام خواهد شد که به طور کامل در محدوده چاپ قرار داشته باشد.
تنظیمهای چاپگر
در صفحه چاپ لینکی با نام Printer Propertiesنیز وجود دارد .وقتی روی آن کلیک کنید کادر محاوره
تنظیمهای چاپگر باز میشود و تنظیمهایی که خاص چاپگر باشد را در اختیارتان میگذارد .تنظیمهای این کادر
محاوره بستگی به چاپگری دارد که انتخاب کردهاید.
Projectاز قدیم مجهز به تعداد زیادی گزارشهای ساده و نسبتا کم کاربرد بود .نسخه 2113آن تحول بزرگی
در حوزه گزارشها کرد و اکنون عالوه بر گزارشهای قدیمی مجهز به گزارشهای تصویری داخلی نیز هست.
در این فصل گزارشهای قدیمی Projectرا مرور میکنیم و گزارشهای جدید را در فصل بعد بررسی خواهیم
کرد.
نماها
گزارشها
بسیاری از کاربران خروجیهای مورد نیازشان را به نماها محدود میکنند .به این معنی که به نمای مناسب
میروند و پس از تنظیم آن را چاپ میکنند .برای تهیه گزارشهای خود نیز از نرمافزارهای دیگری مانند Excel
کمک میگیرند .با این حال گزارشهای متعددی نیز در Projectوجود دارد.
اولین گروه گزارشهای ،Projectگزارشهای متنی بودند که Reportsنامیده میشدند .این گروه گزارشها
قابلیتهای چندانی نداشتند و به همین خاطر از نسخه 2117گروه جدیدی از گزارشهای تصویری که Visual
Reportsنامیده میشدند به Projectاضافه شدند .این گزارشها اطالعات را به Excelو Visioارسال میکردند
و در آنجا به تصویر میکشیدند.
در نسخه 2113گزارشهای متنی به طور کامل حذف شدند و به جای آنها گروه جدیدی از گزارشهای
تصویری که نیاز به نرم افزارهای خارجی نداشتند اضافه شدند .این گروه از گزارشها اکثر قابلیتهای بصری
Excelرا در داخل Projectدر اختیارتان میگذارند.
گزارشهای خارجی ) (Visual Reportsبه آن دسته از گزارشهای Projectگفته میشود که اطالعات را در
Excelیا Visioبه تصویر میکشند .برای استفاده از آنها روی Report| Visual Reportsکلیک کنید تا کادر
محاوره شکل 27-1باز شود.
در باالی گزارش دو گزینه برای مشخص کردن گزارشهای Excelو Visioوجود دارد .هرکدام را که غیر فعال
کنید ،گزارشهای آن نرمافزار از لیستها حذف خواهند شد.
به ازای هرکدام از گروهها ،زبانهای در کادر محاوره وجود دارد .عالوه بر آنها ،زبانهای به نام Allنیز وجود دارد
که گزینههای تمام گروهها را نمایش میدهد.
گزارش :Cash Flow Reportاین گزارش هزینه برنامهریزی شده فعالیتها را در اکسل ارائه میکند.
نموداری که تهیه میشود در شکل 27-2نمایش داده شده است .این گزارش هزینه برنامهریزی شده
فعلی را به صورت دورهای (میلههای عمودی) و تجمعی (قسمت خطی) نمایش میدهد .محور افقی
دورههای زمانی را نشان میدهد .قسمت جدولی گزارش در شکل 27-3نمایش داده شده است .این
جدول از نوع Pivot Tableاست و انعطاف پذیری فراوانی دارد.
گزارش :Cash Flow Reportاین گزارش هزینه برنامهریزی شده منابع را در Visioنشان میدهد.
خروجی گزارش در شکل 27-4نمایش داده شده است .این خروجی از نوع Pivot Diagramاست و
میتوانید اطالعات نمایش داده شده را با استفاده از تنظیمهای سمت چپ تغییر دهید.
گزارش :Resource Availability Reportاین گزارش میزان دسترسی منابع را در Visioنتیجه
میدهد (شکل .)27-5
Excel گزارش :Resource Cost Summary Reportاین گزارش هزینه منابع را به تفکیک نوع در
نمایش میدهد (شکل .)27-6این اطالعات در یک PivotTableنیز ارائه میشوند (شکل .)27-7
گزارش :Resource Work Availabilityاین گزارش اطالعات کار برنامهریزی شده منابع را در
دورههای مختلف نمایش میدهد (شکل .)27-8اطالعات در PivotTableنیز نمایش داده میشوند
(شکل .)27-9
گزارش :Resource Work Summary Reportاین گزارش خالصهای از هزینه منابع ارائه میکند
(شکل .)27-11جدول گزارش در شکل 27-11نمایش داده شده است.
گزارش :Baseline Cost Reportاین گزارش هزینه خط مبنا را به تفکیک خالصه فعالیتهای اولین
سطح برنامه نشان میدهد (شکل .)27-12جدول گزارش در شکل 27-13نمایش داده شده است.
PivotDiagram گزارش :Baseline Reportاین گزارش اطالعات خط مبنا را بر اساس تنظیمهای
مشخص شده در Visioنمایش میدهد (شکل .)27-14
گزارش :Baseline Work Reportاین گزارش کار برنامهریزی شده در خط مبنا را به تفکیک
خالصهفعالیتهای اولین سطح ،نشان میدهد (شکل .)27-15اطالعات به صورت جدولی نیز ارائه
میشوند (شکل .)27-16
گزارش :Budget Cost Reportاین گزارش هزینه خط مبنا را در دورههای زمانی مختلف نشان
میدهد (شکل .)27-17جدول این گزارش در شکل 27-18نمایش داده شده است.
گزارش :Budget Work Reportاین گزارش مقدار کار برنامهریزی شده خط مبنا را در دورههای
زمانی مختلف نشان میدهد (شکل .)17-19جدول گزارش در شکل 27-21نمایش داده شده است.
گزارش :Earned Value Over Timeاین گزارش انواع اطالعات ارزش کسب شده را ارائه میکند
(شکل .)27-21جدول گزارش در شکل 27-22نمایش داده شده است.
Visio گزارش :Critical Tasks Status Reportاین گزارش اطالعات فعالیتهای بحرانی را در
نمایش میدهد (شکل .)27-23
گزارش :Resource Remaining Work Reportمقدار کار انجام شده و باقیمانده منابع را نشان
میدهد (شکل .)27-24جدول گزارش در شکل 27-25نمایش داده شده است.
گزارش :Resource Status Reportاین گزارش وضعیت و اطالعات منابع را در Visioنمایش
میدهد (شکل .)27-26
گزارش :Task Status Reportاین گزارش خالصهای از اطالعات فعالیتها را در Visioنشان میدهد (شکل -27
.)27
اطالعاتی که در PivotTableهای Excelساخته می شوند ،انعطاف پذیری فراوانی دارند و مهارت در به کار گیری
آنها کامال الزم است .برای این مسئله باید به مراجع Excelمراجعه کنید؛ با این حال ،موضو ع در این کتاب به
طور خالصه توضیح داده میشود.
وقتی روی یک PivotTableکلیک کنید ،تنظیمهای آن سمت راست نمایش داده میشوند (شکل .)27-28
عالوه بر تنظیمها ،که در ادامه توضیح داده میشوند ،در PivotTableنیز انواع لیست و فیلتر وجود دارد .معموال
در باالی PivotTableهایی که Projectمیسازد ،فیلدی با نام Typeیا نام دیگری مشابه آن وجود دارد که برای
تعیین نوع دادهای است که در جدول نمایش داده میشود .در سمت راست فیلد آیکونی وجود دارد که میتوانید
روی آن کلیک کنید تا انواع داده نمایش داده شود (شکل .)27-29
انواع دادهای که در این لیست وجود دارد ،بستگی به PivotTableدارد .در این مثال ،جدول منابع نشان داده
شده است و در نتیجه انواع آن نیز ،منابع کاری و مصرفی هستند .گزینه مورد نظر خود را انتخاب کنید تا
اطالعات آن در جدول نمایش داده شوند .اگر مایل باشید میتوانید گزینه Select Multiple Itemsرا انتخاب
کنید تا لیست به صورتی که در شکل 27-31نمایش داده شده است تبدیل شود.
در این حالت میتوانید بیش از یک آیتم را انتخاب کنید تا ترکیب اطالعات آنها در جدول نمایش داده شود.
در سمت راست برخی از فیلدها فلش کوچکی وجود دارد که وقتی روی آن کلیک کنید ،لیست شکل 27-31
باز خواهد شد.
با استفاده از این لیست می توانید مقدارهایی از فیلد که قرار است در جدول نمایش داده شوند را انتخاب کنید.
در این مثال لیست جدول Yearکه زمان ستون اول را نشان میدهد باز شده و میتوانید دورهای که اطالعات
آن در جدول نمایش داده خواهد شد را مشخص کنید.
در سمت چپ برخی از فیلدها ،عالمت مثبت یا منفی وجود دارد .عملکرد این عالمتها مانند عالمتهای
مشابهشان در Projectاست .وقتی روی عالمت مثبت کلیک کنید ،زیرمجموعهها نمایش داده شده و زمانی که
روی عالمت منفی کلیک کنید ،مخفی میشوند (شکل .)27-32
وقتی روی قسمت اصلی جدول کلیک کنید ،فیلدهایی که در آن نمایش داده شدهاند قابل تنظیم خواهند بود
(شکل .)27-33
برای تنظیم فیلدها به قسمت Choose fields to add to reportمراجعه کنید .تمام فیلدهایی که اطالعاتشان در
جدول ثبت شده ،در لیست وجود دارند ،در حالی که معموال تعدادی کمی از آنها نمایش داده میشوند.
PivotChartها نیز مانند PivotTableها انعطاف پذیری فراوانی دارند .وقتی روی نمودار کلیک کنید ،تنظیمهای
آن در سمت راست صفحه نمایش داده میشود (شکل .)27-34
فیلدهایی که در نمودار نمایش داده شده باشند ،در راهنمای باالی نمودار مشخص میشوند (شکل .)27-35
معموال مقدار فیلدهای متعددی در نمودار ثبت میشود ،در حالی که فقط برخی از آنها نمایش داده میشوند.
برای تنظیم فیلدها ،به لیست سمت راست مراجعه کنید (شکل .)27-36
شکل :27-36فیلدهایی که در نمودار نمایش داده شده یا میتوانند نمایش داده شوند
وقتی فیلدهای دیگری را انتخاب کنید ،اطالعات آنها نیز در نمودار نمایش داده میشود (شکل .)27-37
برای کسب اطالعات بیشتر در مورد PivotChartها ،به مراجع مربوطه مراجعه کنید.
تنظیمهای PivotDiagramهای Visioدر سمت چپ پنجره برنامه نمایش داده میشوند (شکل .)27-38
در سمت چپ لیستی از فیلدها وجود دارد .فیلدهای مورد نظر خود را انتخاب کنید تا نمایش داده شوند .سایر
تنظیمها بستگی به نوع PivotDiagramدارند .برای کسب اطالعات بیشتر به مراجع مربوطه مراجعه کنید.
در فصل 27توضیح داده شد که نسخه 2113نرمافزار مجهز به دو نوع گزارش است ،گزارشهای خارجی که
اطالعات را در Excelو Visioبه تصویر میکشند و گزارشهای داخلی که اطالعات را با قابلیتهای جدید نسخه
2113در داخل Projectبه تصویر میکشند .گزارشهای خارجی در فصل گذشته توضیح داده شدهاند و در این
فصل گزارشهای داخلی را بررسی خواهیم کرد.
Project 2013مجهز به تعدادی گزارش داخلی آماده است که میتوانید به سادگی استفاده کنید .تمام آنها
قابل تکثیر و تغییر هستند و میتوانید گزارشهای اختصاصیسازی شده خود را نیز به آنها اضافه کنید.
گزارشهای داخلی مانند نماهای پراجکت نمایش داده میشوند .اگر مایل باشید میتوانید روی گیره کوچکی که
در گوشه پایین و سمت راست نما قرار دارد کلیک کنید و بدون رها کردن کلید ماوس آن را به باال بکشید تا
نمایی ثانویه به پایین صفحه اضافه شود (شکل .)28-3این عمل هیچ تفاوتی با ساخت نماهای دوتایی ندارد.
شکل : 28-3اضافه کردن نمای دوم به گزارش ،با باال کشیدن گیره کوچک پایین و سمت راست صفحه
به این ترتیب به طور پیشفرض نمای گانت به پایین نمای گزارش اضافه میشود (شکل .)28-4
اگر هم مایل باشید میتوانید روی نوا ر سمت چپ نمای پایین کلیک راست کرده ،از منویی که باز میشود نمای
دیگری را انتخاب کنید تا به جای آن نمایش داده شود .شکل 28-5نمای مثال قبل را بعد از جانشین کردن
گانت با Resource Graphنشان میدهد.
میتوانید گزارشهای داخلی مناسبی بسازید که مانند نمای تایم الین در باالی گانت یا هر نمای دیگری قرار
داشته باشند و اطالعات تکمیلی را در اختیارتان قرار دهند .به عنوان مثال شکل 28-6گزارش مثال قبل را بعد
از کمی تغییر در عناصر گزارش و کاهش ارتفاع ،همراه با نمای گانت نشان میدهد.
گزارشها را نمی توانید مانند نماها در نماهای دوتایی نمایش دهید .برای ساخت چنین ترکیبهایی باید گزارش
مد نظر خود را از طریق زبانه Reportباز کرده ،نمای دوم را به زیر آن اضافه کنید.
مطابق معمول در زمان چاپ نیز فقط یکی از دو نما که فعال باشد چاپ خواهد شد و نمیتوانید تصویری مشابه
آنچه در نماهای دوتایی میبینید را چاپ کنید.
پیش از شروع مبحث اصلی ،که ساخت و ویرایش گزارشهای داخلی است ،گزارشهای داخلی از پیش آماده را
مروری سریع خواهیم کرد .آشنایی با گزارشهای از پیش آماده شما را با قابلیتهای این ابزار آشنا میکند و
ذهنیت کاملتری برای ساخت گزارشها در اختیارتان میگذارد.
این گزارشها با کمک چند نوع ابزار بصری ،چند نوع داده مبنا و انواع فیلترها و دستهبندیها ساخته شدهاند.
نمودار سمت راست استفاده کنید .قطعا در این حالت نیز بهتر است که نمودار سمت چپ را
پاک کنید .نمودارهای Burndownبر عکس بسیاری از نمودارهای رایج پیشرفت به جای
این که بر کار انجام شده تمرکز داشته باشند و با افزایش آن به سمت باال بروند ،بر کار
باقیمانده تمرکز دارند و در نتیجه با پیشرفت بیشتر به سمت پایین میروند .اگر نمودار
مقادیر باقیمانده واقعی باالتر از خط مبنا باشد به این معنی است که از برنامه عقب هستیم.
گزارش – Cost Overviewاین گزارش ،که نمونهای از آن در شکل 28-8نمایش داده o
شده است ،اطالعاتی کلی در مورد هزینههای پروژه ارائه میکند .این گزارش با ترکیبی از
نمودار ،جدول و کادر متنهایی که مقادیر لینک شده دارند ساخته شده است.
گزارش – Project Overviewاین گزارش خالصهای از عملکرد زمانی پروژه را به شکل o
کلی و برای عناصر سطح اول ساختار شکست کار و همچنین همراه با جدولی از فعالیتهای
به تاخیر افتاده نمایش میدهد (شکل .)28-9
گزارش – Upcoming Tasksاین گزارش فعالیتهای برنامهریزی شده برای هفته آینده را o
ارائه میکند (شکل .)28-11
گزارش – Work Overviewاین گزارش عملکرد مقادیر کار پروژه را ارائه میکند (شکل o
.)28-11این گزارش ترکیبی از یک نمودار Burndownبرای کارهای پروژه ،نموداری برای
ارائه عملکرد مقادیر کار در سطح اول ساختار شکست کار و نموداری مشابه برای منابع
پروژه ،نموداری برای نمایش میزان دسترسی به منابع در تاریخهای مختلف و چند کادر
متنی برای نمایش مقادیر خالصهسازی شده میشود.
Resources گروه
گزارش – Overallocated Resourcesاین گزارش منابعی که اضافه تخصیص دارند را o
ارائه میکند (شکل .)28-12
گزارش – Resource Overviewاین گزارش خالصهای از اطالعات منابع ،شامل مقدار o
تخصیصها ،کارهای انجام شده و زمانبندی ،نشان میدهد (شکل .)28-13
oگزارش – Cost Overrunsاین گزارش فعالیتها و منابعی که هزینه واقعیشان بیشتر از
مقدار برنامهریزی شده است را نشان میدهد (شکل .)28-15چنین گزارشی صرفا زمانی
عملکرد خواهد داشت که ارتباط خودکار بین هزینه و عملکرد زمان و کار را قطع کرده
باشید و هزینههای واقعی را به طور دستی وارد کنید
گزارش – Earned Value Reportاین گزارش سه مقدار پایهای تحلیل ارزش کسب شده، o
یعنی BCWS ،BCWPو ACWPرا در یک نمودار ،مقدارهای انحراف ،یعنی شاخصهای
CVو SVرا در نموداری دیگر و در نهایت شاخصهای عملکرد ،یعنی SPIو CPIرا در
نمودار آخر ترسیم میکند (شکل .)28-16
گزارش – Resource Cost Overviewاین گزارش اطالعات عملکردی هزینه منابع را o
نشان میدهد (شکل .)28-17
گزارش – Task Cost Overviewاین گزارش نیز اطالعات عملکردی پروژه را ارائه o
میکند ،ولی به جای اینکه اطالعات را بر اساس منابع گزارش دهد ،آنها را بر حسب
فعالیتها ارائه میکند (شکل .)28-18
گزارش – Critical Tasksاین گزارش فعالیتهای بحرانی را اعالم میکند (شکل -19 o
.)28
گزارش – Late Tasksاین گزارش فعالیتهایی که نسبت به خط مبنا به تاخیر افتادهاند را o
گزارش میدهد (شکل .)28-21
گزارش – Milestone Reportاین گزارش وضعیت مایلستونها را ارائه میکند (شکل o
.)28-21در این گزارش مایلستونهایی که به تاخیر افتادهاند ،مایلستونهای پیش رو و
گزارش – Slipping Tasksاین گزارش فعالیتهایی که به تاخیر افتادهاند را همراه با یک o
نمودار Burndownارائه میکند (شکل .)28-22
هر گزارش داخلی با ترکیب یک یا چند عنصر تصویری ساخته میشود .انواع عناصر بصری موجود در
گزارشهای داخلی از این قرارند:
نمودارها – نمودارها با اتصال به دادههای برنامه ترسیم میشوند .دادههای مبنای ترسیم نمودار با
کمک فیلتر ،مرتبسازی ،دسته بندی و در تعداد سطوح دلخواه به شکل مناسب برای نمایش تبدیل
میشوند.
جداول – جداول نیز مانند نمودارها امکان متصل شدن به دادههای برنامه را دارند و میتوانند آنها را
با قالببندیهای مختلف و با فیلترها ،مرتبسازیها ،دستهبندیها ،و در سطوح دلخواه نمایش دهند.
کادرهای متن و شکلها – تمام شکلهایی که در سایر نرمافزارهای مجموعه Officeوجود دارند در
گزارشهای داخلی Projectنیز قابل استفاده هستند؛ عناصری مانند مستطیل ،مثلث ،کادرهای نقل
قول ،عناصر فلوچارت ،فلشها و ...این عناصر برای نمایش عناصر بصری ثابت به کار میروند.
تصاویر – میتوانید فایل های تصویری ،مانند لوگوی شرکت یا تصاویر پروژه را نیز به گزارش اضافه
کنید.
تمامی عناصر گفته شده تنظیمهای نمایشی بسیار زیادی دارند .تنظیمهای آنها مانند تنظیمهای عناصر مشابه
در نرمافزارهای دیگر ،Officeمانند Excelاست ،و در این کتاب به تفصیل توضیح داده نمیشوند .میتوانید
برای کسب اطالعات بیشتر به کتابهای مرجع سایر نرمافزارها ،به خصوص Excelمراجعه کنید.
مهارت اضافهای که برای به کار بردن آنها نیاز دارید ،مدیریت ارتباط آنها با دادههای برنامه است ،که در این
فصل توضیح داده خواهد شد.
برای ساخت گزارش داخلی جدید Report| New Report| Blankرا انتخاب کنید (شکل .)28-23عالوه بر
گزینه Blankگزینههای دیگری برای ساخت گزارشهایی که دارای تعدادی عناصر بصری اولیه هستند نیز وجود
دارد ،ولی با توجه به این که درج اولیه چنان عناصری سریع و ساده است ،عمال نیازی به استفاده از آن گزینهها
نخواهد بود.
با این کار کادر محاورهای باز میشود و نام گزارش را دریافت میکند (شکل .)28-24نام مناسبی برای گزارش
انتخاب کنید تا یافتن آن در بین گزارشهای از پیش ساخته شده راحت باشد.
بعد از کلیک کردن روی دکمه ،OKگزارش ساخته میشود .گزارشی که به این ترتیب ساخته میشود فقط یک
کادر متن دارد که نام آن را نمایش میدهد (شکل .)28-25
در ادامه ساخت و ویرایش چهار نوع عنصر تصویری گزارشهای داخلی را بررسی خواهیم کرد .مثالها بر اساس
اضافه کردن عناصر به گزارش جدیدی که در این قسمت ساخته شد طراحی شدهاند ،ولی ویرایش گزارشهای
موجود نیز هیچ تفاوتی با توضیحات ارائه شده ندارد.
اگر مایل باشید می توانید روی متن کادر متنی کلیک کنید تا در حالت ویرایشی قرار گیرد و عبارت دیگری به
جای آن وارد کنید و قالببندی آن را نیز تغییر دهید .برخی از تنظیمهای قالببندی که به فونت مربوط شوند
در زبانه Taskو سایر آنها ،مانند تنظیمهایی که قالببندی حاشیه و پسزمینه کادر را مشخص میکنند در
زبانه Formatقرار دارند (شکل .)28-26
برای اضافه کردن کادرهای متنی جدید روی Design| Insert| Text Boxو برای اضافه کردن شکلها روی
Design| Insert| Shapesکلیک کنید.
برای اضافه کردن جدول روی Design| Insert| Tableکلیک میکنیم .با این کار جدولی تهی با تنظیمهای
پیشفرض به گزارش اضافه میشود (شکل .)28-27جدولها و نمودارها به دادههای برنامه متصل میشوند ،به
همین خاطر وقتی فعال باشند (روی آنها کلیک کرده باشید) پنلی با نام Field Listنیز در سمت راست صفحه
باز میشود.
یک تفاوت در درج جدول در Projectو سایر نرمافزارهای Officeاین است که معموال در زمان درج جدول
تعداد سطرها و ستونهای آن تعیین میشود ،در حالی که شیوه کار در پراجکت اینگونه نیست .تعداد سطرها و
ستونهای جدولهای Projectبستگی به دادههایی دارد که قرار است نمایش داده شود و در نتیجه مستقال
تعیین نمیشوند .وقتی دادهها و تنظیمهای مربوط به آنها را تغییر دهید ،ابعاد جدول به طور خودکار اصالح
خواهد شد.
در پنل Field Listدو قسمت کلی با نامهای Tasksو Resourcesوجود دارد .روی هرکدام از آنها که کلیک
کنید تنظیمهای مربوط به همان نوع داده در پنل نمایش داده میشود و ترکیب جدول نیز بالفاصله به تناظر آن
تنظیمها تغییر خواهد کرد .شکل 28-28گزارش قبل را بعد از کلیک کردن روی Resourcesنشان میدهد.
گروه – Select Fieldsدر این قسمت فیلدهای جدول مشخص میشوند .اگر در بخش Tasksباشید
تمام فیلدهای فعالیتها و اگر در بخش Resourcesباشید تمام فیلدهای منابع نمایش داده میشوند.
در کنار نام هر فی لد کادر انتخابی وجود دارد که با فعال یا غیر فعال کردن آنها نمایش فیلد نیز فعال
یا غیرفعال میشود .با تغییر این تنظیم تعداد ستونهای جدول نیز به تناظر تغییر خواهد کرد .به
عنوان مثال در شکل 28-29فیلد % Completeحذف و فیلدهای BCWPو Baseline Costاضافه
شدهاند.
می توان فیلدهای اختصاصی را نیز در جدول نشان داد .به عنوان مثال ممکن است ترجیح دهیم که
به جای نمایش BCWPو ،Baseline Costحاصل تقسیم آنها که پیشرفت وزنی پروژه است را در
فیلدی مانند Number1محاسبه کرده ،نمایش دهیم .فرض میکنیم که قبال فرمول مناسبی بر اساس
توضیحات فصل 18برای این فیلد نوشتهایم .فیلد را به سادگی به جدول اضافه میکنیم (شکل -31
.)28فیلد Number1در زیرگروه Customاز گروه Numberمجموعه فیلدها قرار دارد.
اگر قبال فیلد Number1را renameکرده باشیم ،نام مناسبی که برای آن در نظر گرفته بودیم در
باالی جدول نمایش داده خواهد شد .هماکنون نیز میتوانیم فیلد اختصاصی را مطابق توضیحات
فصل 18تغییر نام دهیم تا جدول به طور خودکار اصالح شود (شکل .)28-31
شکل :28-31عنوان فیلد اختصاصی بعد از تغییر نام فیلد به طور خودکار اصال میشود
در نهایت اینکه جدول را میتوانیم مانند جدولهای Wordقالببندی کنیم (شکل .)28-32
قالببندی جدول هم با تنظیمهای زبانههای Layoutو Designممکن است و هم با پنل Format
.Shapeبرای باز کردن پنل گفته شده روی جدول کلیک راست کرده ،از منویی که باز میشود
Format Shapeرا انتخاب کنید.
کادر – Outline Levelتنظیم دیگری که برای دادهها وجود دارد ،تعداد سطوح است .در تصاویر
مثال قبل فقط خالصه فعالیت پروژه نمایش داده شده بود ،در حالی که میتوانیم در این کادر سطح
دیگری را انتخاب کنیم تا نمایش داده شود (شکل .)28-33
کادر – Sortدر این کادر میتوانید شیوه مرتب سازی اطالعات جدول را مشخص کنید .این کادر هم
گزینههایی برای مرتبسازی بر اساس فیلدهای جدول و هم گزینهای برای مرتبسازی
اختصاصیسازی شده دارد .شکل 28-34جدول قبل را پس از مرتبسازی بر اساس نام آیتمها نشان
میدهد.
کادر – Group Byاین کادر شیوه گروهبندی اطالعات جدول را مشخص میکند.
کادر – Filterاین کادر گزینههایی برای فیلتر کردن اطالعات جدول در اختیارتان قرار میدهد.
با کمک تنظیمهای معرفی شده هر نوع جدولی را میتوانید در گزارشها بسازید.
برای درج نمودار روی Design| Insert| Chartکلیک کنید .با این کار کادر محاوره شکل 28-35باز میشود.
این کادر محاوره مانند کادر محاوره مشابهی که برای درج نمودار در Excelوجود دارد برای انتخاب نوع نمودار
به کار میرود .مطابق معمول میتوانید هر زمان که مایل بودید نیز نوع نمودار را تغییر دهید.
وقتی نوع نمودار را انتخاب کرده ،روی OKکلیک کنید ،درج خواهد شد (شکل .)28-36
نمودار با تنظیمهای پیشفرض درج میشود .برای هر نمودار نیز پنل Field Listبا تنظیمهایی مشابه جداول
وجود دارد .شکل 28-37نمودار مثال قبل را در حالتی نشان میدهد که سطح آن محدود به خالصه فعالیت
پروژه شده است و به جای مقادیر کار ،مقدارهای BCWPو ،BCWSیعنی پیشرفت واقعی و برنامهریزی شده را
نشان میدهد.
قالببندی نمودار را نیز میتوان مانند نمودارهای Excelتغییر داد .شکل 28-38نمودار قبل را با قالببندی
نمودار گلولهای ) (Bullet Graphنشان میدهد.
نمودار قبل از نوع میلهای بود و به خاطر ماهیتش با دادههای غیر زمانمند تغذیه میشد .اگر نموداری خطی
درج کنید ،مبتنی بر دادههای زمانمند خواهد بود .شکل 28-39نموداری خطی را نشان میدهد که مشابه
نمودار قبل برای فیلدهای BCWPو BCWSترسیم شده است.
برای درج تصویر در گزارشها Design| Insert| Imagesرا اجرا کرده ،فایل تصویری مورد نظر خود را انتخاب
کنید تا درج شود (شکل .)28-41به جای آن میتوانید تصویر را از هر نرمافزار دلخواهی کپی و در گزارش
Pasteکنید؛ به این ترتیب تصویری از عنصر کپی شده در گزارش درج میشود.
وقتی روی تصویری کلیک راست کرده ،گزینه Format Pictureرا انتخاب کنید ،پنلی با همین نام باز میشود و
تنظیمهای قالببندی آن را در اختیارتان قرار میدهد .عالوه بر آن میتوانید از زبانه Formatنیز برای قالببندی
تصویر کمک بگیرید.
گزارشها نیز مانند نماها Page Setupدارند و میتوان مشخصات صفحه چاپی آنها را مشخص کرد .این
تنظیمها در Design| Page Setupقرار دارند و از این قرارند:
– Page Breaksاگر تعداد عناصر تصویری زیاد باشد در بیشتر از یک صفحه قرار خواهند گرفت .اگر
این گزینه را فعال کنید ،مرز بین صفحه هایی که برای چاپ گزارش الزم خواهند بود نمایش داده
خواهد شد.
تا این مرحله شیوه دسترسی به گزارشهای از پیش آماده که در چهار گروه در زبانه Reportدستهبندی شدهاند
و ساخت و ویرایش آنها را آموختید .وقتی یکی از گزارشهای از پیش آماده را ویرایش کنید با همان نام قبلی و
در دستهبندی قبلی باقی میماند .گزارشهایی که خودتان ساخته باشید در گروهی با نام ،Customدر کنار سایر
گروهها قرار خواهد گرفت.
آخرین گروهی که در Report| View Reportsقرار دارد Recentاست ،که آخرین گزارشهایی که باز کردهاید را
نشان میدهند و راه سادهای برای دسترسی به آنها هستند.
گزارشها نیز مانند سایر عناصر در Globalکامپیوتر شما قرار دارند و وقتی آنها را برای اولین بار باز کنید یک
کپی از آنها داخل فایل قرار میگیرد .اگر آنها را ویرایش کنید نیز فقط نسخهای از آنها که داخل فایل برنامه
قرار دارد ویرایش میشود .گزارشهای جدیدی که ساختهاید نیز صرفا در فایل برنامه هستند.
با توجه به توضیحات گفته شده ،گزارشهای جدیدی و گزارشهای ویرایش شده فقط در برنامهای که به آن
تعلق دارند قابل دسترسی خواهند بود .اگر مایل هستید که آنها را در تمام برنامهها به کار ببرید ،باید با کمک
Organizerآنها را به Globalمنتقل کنید .برای کسب اطالعات بیشتر به فصل 23مراجعه کنید .برای
دسترسی به Organizerعالوه بر توضیحات فصل ،23میتوانید روی Design| Report| Manage| Organizer
نیز کلیک کنید.
وقتی قصد دارید گزارشی را عمومی کنید ،باید آن را از ابتدا با دیدی کامال کلی بسازید تا برای هر پروژهای قابل
استفاده باشد .به عنوان مثال به جای اینکه نام پروژه را در باالی گزارش تایپ کنید ،جدول کوچکی درج کنید
که نام برنامه را به طور خودکار نمایش دهد ،تا برای هر برنامهای بدون نیاز به ویرایش کار کند .مثال دیگر
تبدیلها و محاسبات است.