توصیه اینه که تعداد فعالیتهای برنامه رو الکی زیاد نکنین و تاجایی که به برنامهریزی (تعیین روابط) و کنترل (تعیین پیشرفتها) صدمه نمیزنه، اون رو کم کنین.
واقعیت اینه که اگه برنامهتون رو کسی ارزیابی میکنه که کارشناس برنامهریزی و کنترل پروژه نیست، کم بودن تعداد فعالیتها رو به ضعیف بودن برنامه تعبیر میکنه.
نتیجه اینه که تو تنظیم ساختار شکست کار و تعداد فعالیتها باید به فرهنگ سازمانی هم توجه کنین؛ باید بدونین جایی که برنامتون رو ارزیابی میکنه از چه کارشناسایی استفاده میکنه و در چه سطحی هستن؛ اگه مهارتشون تو این حوزه به اندازه کافی بالا نبود، خودتون رو مجاز بدونین که تعداد فعالیتهاتون رو الکی زیاد کنین!
یه بار رو همین حساب برنامهای که در حالت مناسبش حدود 500 فعالیت میشد رو با 17000 فعالیت تحویل دادم! و باورتون نمیشد که ارزیابان گرامی تا چه حد خوشحال شده بودن که شرکت ما تا این اندازه به برنامهریزی و کنترل پروژه اهمیت میده. ولی اگه جایی برای من اون برنامه 17000 آیتمی رو برای کنترل بفرسته، بر میگردونمش و میگم تعداد فعالیتها رو تا حد مناسبی کم کنن.
آموزش و پرورش تصمیم گرفته که کار تهیه کتابهای درسیش رو برونسپاری کنه. این کار رو از چند وقت پیش شروع کردن و اگه وبلاگم رو دنبال کرده باشین تا حدی ازش اطلاع دارین.
من کارم رو با کتاب مبانی رایانه شروع کردم که برای فنی و حرفهای بود. این کتاب هنوز تکلیفش مشخص نیست که تایید شده یا رد شده. بعد از اون یه کتاب درباره اکسل یا به قول خودشون صفحه گسترده نوشتم که تایید شد و چاپ شد و الان دست دانشآموزاس. کتاب دوم برای کار دانش بود.
چند وقت پیش چنتا مراسم گرفتن و از مولفهای کتابهای درسی تقدیر کردن؛ حسابی هم خجالت دادن آدمو. این تصویر تقدیرنامههاس:
یه عنصر مهم که باید تو گزارشها ارائه کنیم، مقدار تاخیر پروژه و اجزای اصلی اونه. بهتره تاخیر رو بر حسب روز بگیم.
اگه برنامه جبرانی تصویب شده باشه، عملا تاخیرها در زمان تصویب برنامه جبرانی صفر میشن. به همین خاطر بهتره که همیشه مشخص کنیم که تاخیرهای گزارش شده از چه تاریخی به بعد هستن. مثلا بگیم که در مدت 85 روز، 14 روز تاخیر به وجود اومده، و حتی میتونیم بگیم که این مقدار معادل چند درصد اون زمانه، ولی اگه این کار رو بکنیم مقدار اطلاعاتِ گزارش زیاد میشن و این هم خودش نکته منفیایه.
برای هر گزارش باید یه برگ راهنما هم تهیه کنین و اون رو در ابتدای انتشار مجموعه گزارشها ارائه کنین. نیازی نیست که راهنما رو داخل خود گزارش بذارین یا هر دفعه ارائه کنین، فقط کاری کنین که مطمئن باشین همه بهش دسترسی دارن.
باید مفهوم و عملکرد تمام عناصر گزارش رو هم تو راهنما مشخص کنین. در مورد تاخیر میتونین همچنین چیزی بنویسین:
تاخیر: اگر ادامه کار با سرعتی معادلِ سرعت برنامهریزی پیش برود (و نه سرعت کنونی)، پایان پروژه به اندازهای که در کادر تاخیر مشخص شده است دیرتر از تاریخ برنامهریزی شده پایان خواهد یافت.
خیلیها فکر میکنن که تاخیر به این معنیه که اگه پیمانکار با روند کنونی کارش رو ادامه بده به اون اندازه دیرتر تموم میکنه، که خیلی اشتباهه.
یکی از بزرگترین محصولهای برنامهریزی و کنترل پروژه، ارائه گزارشهای وضعیت یا به عبارت دیگه گزارشهای پیشرفته. این گزارشها باید به بهترین شکلِ ممکن وضعیت پروژه رو نشون بدن تا انواع مدیران بتونن بر اساس این اطلاعات پروژه رو راهبری و مدیریت کنن.
تو یه سری مطلب که با این پست شروع شده، درباره عناصر مفیدی که میتونن تو گزارشهامون باشن صحبت کنم.
قبل از هر چیز هم باید توضیح بدم که وقتی درباره گزارش پیشرفت صحبت میکنم، به هیچ وجه یه گزارش 20 تا 50 صفحه به سبک رایج در نظرم نیست. گزارش پیشرفت از نظر من یک صفحه A4 هست، که معمولا سعی میکنم یک رو باشه و گاهی که مجبور باشم از دو طرفش استفاده میکنم. دلیلم هم اینه که هرچی گزارش خلاصهتر باشه، تاثیرگذاری بیشتری خواهد داشت. البته شکی نیست که از مطالبی که گفته میشه میتونیم برای اون گزارشهای گنده هم استفاده کنیم.
خوب، تو این مطلب اول میخوام درباره یه چیز خیلی ساده صحبت کنم: تعداد روزهای باقی مونده.
داده سادهایه، ولی خیلی دیدِ خوبی میده. تو هر گزارشی باید مشخص کنیم که چقدر تا پایان برنامهریزی شده پروژه وقت داریم. اگه بلوکها یا فازها یا ناحیههای مختلفی داریم که جداگانه تو گزارش میان و نمیتونن از شناوری کل استفاده کنن و حتما باید در تاریخهای دیگهای تموم بشن، باید مدت زمان باقیمونده اونها رو هم گزارش کنیم.
ممکنه فرضتون این باشه که گزارشی که تهیه میکنین رنگی پرینت میشه و واقعا هم اینطور باشه. ولی این واقعیت رو قبول کنین که از هر گزارشی که تهیه شده باشه نسخههای سیاه و سفیدی هم تولید میشه؛ مثلا ممکنه در آینده کسایی که به فایل دسترسی ندارن گزارش رو فتوکپی کنن، یا نسخهای که برای کاری دم دستی لازم هست رو پرینت سیاه و سفید کنن تا صرفه جویی کنن.
پس حتی وقتی که گزارشی رو رنگی آماده میکنین، طوری طراحیش کنین که سیاه و سفیدش هم خوانا باشه. مهمترین عنصر در این موارد رنگه. سیاه و سفید بعضی رنگها تمایز کافی ندارن و نباید از اونها استفاده کنین. مثلا آبی و قرمز با اینکه وقتی رنگی هستن کاملا از هم متمایز میشن، وقتی سیاه و سفید بشن زیاد با هم فرق نمیکنن؛ این در حالیه که مثلا آبی و سبز چنین حالتی ندارن.
رسیدنم به مرز 10 سال سابقه کار در برنامهریزی و کنترل پروژه رویدادیه که خیلی توجهم رو جلب کرده. البته واقعیت اینه که سه-چهار ماهی تا اون زمان باقی مونده، ولی به هر حال دیشب برای بدرقه مسافری به فرودگاه امام، که اولین تجربه کاریم بود، رفتم. 12 سال پیش، هر روز این مسیرِ طولانی رو میرفتم و برمیگشتم، و الان به عنوان یه استفاده کننده معمولی میرم اونجا. یادِ همکارام افتادم، یاد مدیر پروژه بیچارمون که کمی مونده به کارگاه تو جاده تصادف کرد و مرد، یاد اینکه با ماشین تو باندهای فرودگاه رانندگی میکردیم و با خودم فکر میکردم که یه زمانی به جای ماشینهای ما هواپیماهای گنده اینجا رفت و آمد میکنن و الان همچین موقعیه… یاد خیلی چیزها افتادم.
نکته مهم اینه که از زمینه کاریم خیلی راضیم؛ برام لذتبخشه. به راحتی ادعا میکنم که در هیچ حوزه کاری دیگهای نمیتونستم به این اندازه خوشحال و سعادتمند باشم. این جهتگیری هم مثل خیلی دیگه از اتفاقاتی که تو زندگیمون میفته اتفاقی بود؛ یه موقعیت کاری تو فرودگاه برام پیش اومد و من هم استقبال کردم. این موضوع کاری، برنامهریزی و کنترل پروژه بود، که هیچی دربارش نمیدونستم. من رو میخواستن چون میدونستن که تو کارهای نرمافزاری میتونم بهشون کمکهای زیادی بکنم. تو هفتهای که تا شروع کارم باقی مونده بود هرچی کتاب در این زمینهها وجود داشت رو خوندم و کارم رو شروع …
تو مطلب محاسبه پایان پروژه شماره 1 توضیح دادم که چطوری میشه تاخیر کلاسیک رو به دست آورد. این محاسبات در اکثر نرمافزارها وجود دارد و کاملا هم جا افتاده هستن. با این حال تعبیر خاصی دارن که ممکنه برای ما کافی نباشه.
شاید بخوایم بدونیم که اگه پیمانکار با سرعتی کمابیش مشابه سرعتی که از ابتدای پروژه تا الان داشته کارش رو پیش ببره در چه زمانی پروژه رو تموم میکنه.
برای این کار میتونیم از شیوه محاسبه ES (مخفف Earned Schedule) استفاده کنیم. الان یه تعداد روزی از آغاز پروژه گذشته (مثلا 140 روز) و پیشرفت واقعی پروژه هم مقداری داره (مثلا 30٪). الان باید برین بگردین و ببینین که پیشرفت برنامهریزی شده در چه تاریخی با پیشرفت واقعی کنونی برابر بوده (مثلا روز 100ام). حالا تعداد روز برنامهریزی رو بر تعداد روز واقعی تقسیم کنین تا شاخصی که SPIt نامیده میشه رو به دست بیارین. تو عددهایی که تو این مثال گذشتم مقدار SPIt میشه حدود 71٪. معنیش اینه که ما عملا داریم با سرعتی معادل 71٪ سرعت برنامهریزی شده پیش میریم.
خوب، حالا مدت زمان اولیه پروژه چقدر بوده؟ مثلا 500 روز؟ اون رو بر SPIt تقسیم کنین تا مدت زمان تخمینی پایان پروژه به دست بیاد. تو این مثال میشه 704 روز.
پس تو این مثال اگه پروژه با سرعتی کمابیش مشابه سرعت کنونی پیش بره، احتمالا حدود 200 روز بعد از پایان برنامهریزی شده تموم میشه.
وقتی برنامه رو بعد از وارد کردن اطلاعات واقعی Reschdule کنین، زمانبندی جدیدی به دست میارین. این زمانبندی وضعیت پروژه رو در شرایط وارد شده نشون میده. یکی از چیزهایی که معلوم میشه، تاریخ پایان پروژهس که از فیلد Finish خلاصه فعالیت پروژه خونده میشه. این تاریخ احتمالا با تاریخ قبل فرق میکنه. اگه خطمبنا (baseline) ذخیره کرده باشین، میتونین این تفاوت رو در فیلد Finish Variance بخونین. مثلا این فید میگه که پایان پروژه 30 روز به تاخیر افتاده.
حالا این مقدار تاخیر و این تاریخ پایان جدید چیه؟
اگه پیمانکار ادامه کارش رو از همین لحظه تا پایان کاملِ پروژه با توانی دقیقا برابر با مقدار برنامهریزی شده انجام بده، پروژه در اون تاریخ و با اون مقدار تاخیر تموم میشه؛ معنیش اینه.
پس همینطوری که دیدین این مقدار کمابیش خوشبینانهس و باید همیشه با توجه داشتن به تعبیرش اون رو معنی کرد.
کتاب راهنمای مقدماتی فرمولنویسی در اکسل چاپ شد. این کتاب رو خیلی ساده نوشتم و سعی کردم حجمش کم باشه تا کسایی که میخوان خیلی سریع و راحت در حدی قابل قبول فرمولنویسی رو یاد بگیرن بدون ترس و لرز برن طرفش. کلا فکر میکنم تو هدفم موفق بودم.
پینوشت: ظاهرا کتاب پریماورا 6 هم چاپ شده، فقط چند روز بیشتر از این ماجرا نمیگذره و علاوه بر اینکه توزیعش هنوز کامل نشده، اطلاعات دقیقش رو هم ندارم که بنویسم. با این حال حداکثر تا یه هفته دیگه باید بتونین به راحتی بخرینش.
الان که حموم بودم یه دفعه تصمیم گرفتم یه مجموعه مطلب با این عنوانی که میبینین شروع کنم. خیلی وقتا تو کارمون به مسایل عجیبی بر میخوریم که باید دنبال دلیل و توجیهشون بگردیم و این کار شبیهِ حل معماست. بعضی از معماهایی که باهاشون برخورد کردم و میکنم رو براتون مینویسم.
فرض کنین پیشرفت واقعی و برنامهریزی شده پروژه هر دو در ابتدای سال 50٪ بوده. قراره پروژه پایان سال تموم بشه و تا الان که تقریبا نصف سال گذشته، همیشه حساب کتاب کردیم و گزارش کردیم که پیمانکار بین یک سوم تا یک چهارم مقدارهای برنامهریزی شده دورهایش رو انجام داده. الان پیشرفت برنامهریزی شده 90٪ و واقعی 70٪ هست. به نظرتون عجیب نیست؟
تو این مدت قرار بوده پیمانکار کلا 40٪ پیشرفت کنه، در حالی که 20٪ پیشرفت کرده؛ یعنی نصف کارهای برنامهریزی شدهش رو انجام داده. ولی ما تو این مدت هر هفته داشتیم گزارش میکردیم که بین یک سوم تا یک چهارم برنامهریزی محقق شده؛ ماجرا چیه؟ حسابهامون اشتباه بوده؟
خوب، نظرتون چیه؟
جوابی به نظرتون میرسه؟
این مسئله طبیعیه و هیچ مشکلی نداره. برای اینکه کارکرد همیشه به نوعی تابع یه جور S هست؛ این مسئله یه اجباره، چون هرچی به پایان کار نزدیکتر بشیم جبهههای کاری کمتر میشن و نمیشه به اندازه اواسط کار پیشرفت کرد. به همین خاطره که کم کم شیب (سرعت کار) کم میشه و قسمت انتهایی S رو میسازه.
یه ماجرایی هست که بهش میگن سندروم دانشآموز و از مبانی تئوریک سیستم زنجیره بحرانیه (با روش مسیر بحرانی یا CPM فرق داره).
سندروم دانش آموز میگه که فرقی نمیکنه چقدر به یه دانش آموز وقت بدی، به هر حال کارش رو آخر وقت انجام میده و هرچی به فرجه نزدیکتر میشه کارش فشردهتر میشه، در نهایت معمولا یه کمی هم دیرتر تحویل میده. این تاخیر در تحویل با افزایش زمان حل نمیشه، چون مشکل سندروم دانش آموزه، نه کمبود وقت.
تو سیستم زنجیره بحرانی سعی میکنن مشکلات ناشی از سندروم دانش آموز رو حداقل کنن. اونجا با برنامههایی سر و کار داریم که همه فعالیتهاش بحرانیان و مدت زمان پروژه تقریبا نصف مقداریه که تو برنامههای معمولی به دست میاد. در عوض نصف باقیمونده زمان به صورت بافر تو برنامه درج میشه و اینکه پیمانکار در هر زمان چقدر از بافرش رو مصرف کرده باشه معیار مطابقت اون با برنامهس، یعنی عملا تنها سیستمیه که وابسته به ضرایب وزنی نیست.
حالا همه اینها رو گفتم که یه نمونهای از سندروم دانشآموز رو بگم. همکارای ما تو سیستم پیمانکار قراره مجموعه کارهایی رو انجام بدن و هر هفته سهشنبهها راس ساعت 2 بیان دفتر ما تا همراه با ارائه اونها جلسهای هم داشته باشیم. همیشه بین 20 دقیقه تا نیم ساعت تاخیر داشتن. دو هفته پیش پیمانکار و مشاور به من اصرار کردن که جلسه رو بذاریم ساعت 3 تا این مشکل حل شه. حدس …
یه قابلیت خوبِ اکسل اینه که میشه توش نمودارهایی ترسیم کرد که ترکیبی از چند نوع نمودار مختلفه. مثلا فرض کنین میخوایم پیشرفتهای برنامهریزی شده تجمعی و دورهای رو تو یه نمودار نشون بدیم. بهتره که مقادیر تجمعی با نمودار خطی و مقادیر دورهای با نمودار میلهای ترسیم بشن. بنا بر این باید یه نمودار ترکیبی بسازیم.
جدول زیر اطلاعات خام رو نشون میده:
حالا باهاش یه نمودار از نوع میلهای یا خطی میکشیم:
خوب، الان مقدارهای تجمعی با نوعِ نمودار مناسب نمایش داده شدن. روی خط مقدارهای دورهای کلیک کنین تا انتخاب بشن؛ میدونین که وقتی انتخاب شده باشد با گیرههای کوچکی که دور همه نودها نمایش داده میشن میشه شناختشون. بعد از اون از تب Design اکسل 2007 روی Change Chart Type کلیک کنید. با این کار یه کادر محاوره باز میشه و انواع نمودار رو نشون میده؛ یکی از نمودارهای میلهای مناسب رو انتخاب کنین و کادر محاوره رو تایید کنین تا ازش خارج بشین. در نظر داشته باشین که هر نموداری رو نمیشه با نمودار دیگه ترکیب کرد؛ مثلا نمیتونین یه نمودار دو بعدی و یه نمودار سهبعدی رو ترکیب کنین. شکل زیر نتیجه فعلی رو نشوه میده:
خوب، نمودار ترکیبی ساخته شد. ولی کارمون تموم نشده؛ باید اون رو بهتر کنیم. چه چیزهایی برای بهتر کردنش به نظرتون میرسه؟ پیش از هر چیز یه سری کارهایی که تو مطالب مجموعه “نمایش اطلاعات” نوشتم رو …
بعضی وقتا تو نمودارها زیاد از حد اطلاعات ارائه میشه، مثل این نمودار:
هدف از ارائه نمودار اینه که اطلاعات رو تصویری نمایش بدیم، اگه قرار باشه دوباره انبوهی از اطلاعات غیر تصویری رو بهش اضافه کنیم، ترکیب عجیبی به وجود میاد.
مشکل اول اینه که وقتی اطلاعات تصویری وجود داره، نیازی به اطلاعات انشایی و عددی نباید باشه. اگه قراره اطلاعات در حد چند رقم اعشار در اختیار بیننده قرار بگیره، احتمالا ارائه نمودار معنی نداره. ولی اکثر مواقع نیازی به این دقت نیست و دریافت سادهای که از نمودار میشه کافیه.
اگه آدم مجبور باشه که اطلاعات عددی رو هم به نمودار اضافه کنه، باید تا جای ممکن صرفهجویی کنه. اطلاعات اضافهای مثل Series Name و Category Name به هیچ وجه نباید تو نمودار باشه و Value هم اگه قراره باشه، باید با تعداد ارقام اعشار مناسب، اندازه کوچیک و کمرنگتر درج بشه.
کمرنگ بودن اطلاعات اضافی اهمیت زیادی داره؛ اگه اعداد پررنگ باشن، زیاد از حد جلب توجه میکنن و تمرکز روی عناصر تصویری نمودار کم میشه.
این نمودار مقادیر تجمعی بتنریزی، آرماتوربندی و قالببندی رو تو دورههای مختلف نشون میده و متاسفانه امثال این نمودار رو زیاد میبینم. در مورد نسبت عددها سختگیری نکنین، چون رندم مقدار گرفتن.
مشکل این نمودار اینه که سه ماهیت مختلف، با سه واحد متفاوت، در یک نمودار و با یک محور عمودی ترسیم شده. به عنوان مثال عدد 1000 در محور عمودی نمودار هم به معنی هزار کیلوگرم آرماتور، هم هزار متر مربع قالببندی و هم هزار متر مکعب بتنریزی به کار رفته.
این شیوه ارائه اطلاعات خیلی بده، چون وقتی چنین نموداری ارائه میشه، مخاطب ناخودآگاه مقایسهای بین مقادیر سه خط انجام میده، در حالی که این مقایسه در این شرایط کاملا بیمعنیه. پایینتر بودن خط قالببندی به معنی کار کمتر در حوزه قالببندی نیست، چون قالببندی نرمها و واحدهای دیگهای داره.
اگه قرار باشه سه ماهیت متفاوت رو در یک نمودار قرار بدیم، حتما باید واحدهاشون رو یکسان کنیم. چطوری میشه واحدهای این سه ماهیت رو یکسان کرد؟
سادهترین راه اینه که تمام مقادیر رو بر برآورد کلیشون تقسیم کنیم و نشون بدیم که چه درصدی از کل بتنریزی، کل آرماتوربندی و کل قالببندی انجام شده. به این ترتیب همه مقادیر با واحد درصد هستن و نشون دادنشون تو یک نمودار منطقیتره.
حالا از همه اینها که بگذریم، چه دلیلی داره که همزمان هر سه مقدار رو نشون …
فرض کنین میخوایم مقدار دورهای بتنریزی رو تو دورههای مختلف نشون بدیم. تو این مثال دورهها رو با A، B، C و امثال اونها نشون دادم. چنین نموداری رو گاهی اینطوری ترسیم میکنن:
ولی چرا؟
انواع و اقسام نمودارها وجود داره و تقریبا میشه از هرکدوم برای نمایش هر اطلاعاتی استفاده کرد، ولی این به این معنی نیست که خودمون رو مجاز به این کار بدونیم؛ نوع نمودار با دو فاکتور مشخص میشه:
نوع اطلاعاتی که قراره ارائه بشه
تصویری که انتظار داریم با دیدن اون اطلاعات در ذهن مخاطب نقش ببنده
نمودارهای خطی نوعی پیوستگی رو به ذهن القا میکنن و در نتیجه برای ارائه اطلاعاتی مناسب هستن که جنبه تجمعی داشته باشن. مثلا اگه بخوایم مقدار تجمعی بتنریزی رو نشون بدیم، احتمالا بهترین نمودار همون نمودار خطیه. ولی در مورد مقادیر دورهای اینطور نیست؛ مقادیر دورهای پیوستگی مقادیر تجمعی رو ندارن؛ مقادیر مستقلی هستن که کارکرد دورههای مختلف رو نشون میدن. با توجه به این مسایل، بهتره که برای این اطلاعات از نمودار میلهای استفاده بشه:
این نمودار توزیع بتنریزی دورهها رو به خوبی نشون میده و تصویر نادرستِ وجود “روند” و پیوستگی رو هم در ذهن مخاطب به وجود نمیاره.
گفتم که علاوه بر اطلاعات، ذهنیتی که قصد داریم به وجود بیاد هم اهمیت داره. مثلا فرض کنین میخوایم نشون بدیم که از بتنریزیهای این دورهها، چه سهمی به هر دوره …