هدف ما از تعریف ساختار شکست کار (WBS)، ارتباط بین فعالیتهای پروژه و برآورد زمان فعالیتها، رسیدن به شبکه زمانبندی پروژه است. همه مدیران پروژه روشهای مدیریتی و ترفندهای خاص خود را دارند. آنها سعی میکنند با استفاده از مهارت و تجربه، ابزارهای قدرتمند و تکنیکهای مختلف، پروژههای خود را برای نتایج مؤثر بهبود بخشند. در این آموزش میخواهیم ببینیم چگونه رسم شبکه زمانبندی پروژه و شناسایی مسیر بحرانی به مدیریت پروژه کمک میکند.
تعریف فعالیت بحرانی
فعالیت بحرانی: فعالیتی است که نمیتواند با هیچ تاخیری شروع شود و باید در یک زمان مشخص انجام شود. اگر مدت زمان انجام این فعالیت تغییر کند، شرایط کل پروژه تغییر خواهد کرد. به همین دلیل فعالیتهای بحرانی باید در پروژه شناسایی شوند و انجام آنها به تاخیر نیافتد.
روش مسیر بحرانی (CPM)
روش مسیر بحرانی (Critical Path Method) یک روش برای برنامهریزی، مدیریت و تحلیل زمانبندی پروژه است. روش CPM گام به گام به شناسایی فعالیتهای بحرانی و غیر بحرانی از آغاز تا پایان پروژهها کمک میکند و از خطرات موقتی جلوگیری میکند. روش مسیر بحرانی فعالیتها را در یک شبکه به هم پیوسته ارائه میدهد. طولانیترین مسیر، مسیر بحرانی پروژه است. امروزه این روش برای شناسایی فعالیتهای بحرانی در بسیاری از صنایع از جمله توسعه نرمافزار، کاربردهای گستردهای دارد.
مزایای شبکه زمانبندی
شبکه زمانبندی متشکل از فعالیتها، ارتباطات و زمان فعالیتها است.
- این شبکه مشخص میکند، چه فعالیتهایی را باید برای اتمام پروژه انجام دهیم؛
- این شبکه مشخص میکند، فعالیتها با چه تقدم و تاخری نسبت به هم انجام میشوند و قبل از شروع هر فعالیت، چه فعالیتهایی باید انجام شده باشد؛
- در این شبکه زمان فعالیتها مشخص است؛
- به کمک این شبکه زمان انجام کل پروژه را میتوانیم پیشبینی کنیم؛
- با استفاده از این شبکه میتوانیم طولانیترین مسیر یا همان مسیر بحرانی را مشخص کنیم.
چگونه می توان شبکه زمانبندی پروژه را به صورت دستی ساخت؟
برای داشتن تصویر کاملی از پروژه میتوانید فعالیتها و ارتباط آنها با هم را روی کاغذ بکشید. سپس با استفاده از نرمافزارهای مختلف آن را رسم کنید. من در اینجا از نرمافزار Visio استفاده کردم.
مراحل اصلی ایجاد شبکه زمانبندی
- مشخص کردن فعالیتها
- تعیین ارتباطات بین فعالیتها
- تعیین مدت زمان انجام فعالیتها
- رسم نمودار شبکهای
- مشخص کردن نام و مدت زمان انجام فعالیتها روی خطوط
- پیدا کردن مسیر بحرانی
در اینجا یک مثال ساده مطرح میکنم. مراحل ۱ تا ۳ را انجام داده و در جدول زیر درج کردهام.
نکته: ارتباطات در جدول زیر به صورت ارتباط ساده Finish_ to_ Start است.(مقاله ارتباط بین فعالیتها را مطالعه کنید)
تصویر نمودار شبکهای که با نرمافزار Visio رسم کردهام را در زیر مشاهده میکنید. نام و مدت زمان انجام فعالیتها را روی خطوط مشخص کردهام.
نکته: در شبکه گرهای زیر تمام فعالیتها باید به اتمام برسند تا پروژه پایان یابد. بنابراین طولانیترین مسیر از نقطه شروع تا پایان زمان پروژه را تعیین میکند.
حالا باید مسیر بحرانی را پیدا کنیم. برای این کار ۳ مرحله را باید طی کنیم.
مرحله اول: تعیین زودترین زمان شروع هر فعالیت و زودترین پایان هر فعالیت به وسیله تکنیک رفت
ابتدا در کنار گره Start (0, ) را درج میکنیم. از گره Start شروع میکنیم. برای رسیدن به گره ۱ فقط یک مسیر وجود دارد، پس در بالای گره ۱ ( , ۲) را درج میکنیم.
برای رسیدن به گره ۲ هم فقط یک مسیر وجود دارد، پس در پایین گره ۲ ( ,۳) را درج میکنیم.
برای رسیدن به گره ۳ دو مسیر وجود دارد. (در اینجا توجه داشته باشید که در تکنیک رفت ما برای هر گره ماکزیمم مقدار زمان را در نظر میگیریم.) برای رسیدن به گره ۳ اگر از مسیر a و c برویم، مجموع مدت زمان انجام فعالیت a و c میشود ۳=۱+۲٫
اگر از مسیر b و d برویم مجموع مدت زمان انجام فعالیت b و d میشود ۷=۴+۳ . پس چون باید ماکزیمم زمان را در نظر بگیریم، در بالای گره ۳ ( ,۷) را درج میکنیم.
برای رسیدن به گره finish، سه مسیر وجود دارد. اگر از مسیر a و e برویم مجموع مدت زمان انجام فعالیت a و e میشود ۶=۴+۲٫
اگر از مسیر b و g برویم، مجموع مدت زمان فعالیت b و g میشود ۸=۵+۳٫
اگر از مسیر b و d و f برویم مجموع مدت زمان فعالیت b و d و f میشود ۱۰=۳+۴+۳٫ پس ماکزیمم زمان را در نظر میگیریم و در کنار گره finish (10, ) را درج میکنیم.
پس ماکزیمم زمان را در نظر میگیریم و در کنار گرهfinish (10, ) را درج میکنیم.
مرحله دوم: تعیین دیرترین زمان شروع و دیرترین زمان پایان هر فعالیت به وسیله تکنیک برگشت
ابتدا دیرترین زمان پایان را مساوی زودترین زمان پایان قرار میدهیم یعنی ۱۰ پس در کنار گره finish (10,10) را درج میکنیم. برای رسیدن به گره ۳، یک مسیر وجود دارد، که مسیر f است پس ۷=۳-۱۰ حالا در کنار گره ۳ (۷,۷) را درج میکنیم.
برای رسیدن به گره ۱ دو مسیر وجود دارد (توجه داشته باشید در تکنیک برگشت برای هر گره مینیمم زمان را در نظر میگیریم) اگر از مسیر e برویم ۶=۴-۱۰٫
اگر از مسیر f و c برویم باید ابتدا ۷=۳-۱۰ سپس ۶=۱-۷ پس از هر دو مسیر به عدد ۶ رسیدیم. در بالای گره ۱ (۲,۶) را درج میکنیم.
برای رسیدن به گره ۲ هم ۲ مسیر وجود دارد اگر از مسیر g برویم ۵=۵-۱۰٫
اگر از مسیر f و d برویم ۳=۴-۷ پس مینیمم زمان را در نظر میگیریم که ۳ است و در پایین گره ۳ (۳,۳) را درج میکنیم.
برای رسیدن به گره start هم دو مسیر وجود دارد اگر از مسیر f و c و a برویم ۴=۲-۶٫
اگر از مسیر f و d و b برویم ۰=۳-۳ پس مینیمم زمان را در نظر میگیریم که ۰ است. در کنار گره start (0,0) را درج میکنیم.
مرحله سوم: تعیین شناوری فعالیتها
در این مرحله تعیین میکنیم شناوری کل کدام فعالیتها صفر است. شناوری کل هر فعالیت بر اساس فرمول زیر به دست میآید.
فعالیتهایی که در تصویر شبکه زیر با خطچین به هم متصلاند، دارای شناوری کل صفر هستند. یعنی فعالیتهای f و d و b نمیتوانند با هیچ تاخیری شروع شوند و بحرانی هستند و اگر هر کدام از آنها با یک روز تاخیر شروع شوند زمان پروژه یک روز افزایش پیدا کند و از ۱۰ روز به ۱۱ روز زمان پروژه افزایش یابد.
نکته: هر پروژه حداقل یک مسیر بحرانی دارد.
مشخص کردن مسیر بحرانی پروژه به کمک نمای گانت چارت در MSP
در نمای گانت چارت زمان فعالیتها به صورت نوارهایی نشان داده میشوند و ارتباطات به وسیله فلشها مشخص میشوند. برای مشخص کردن مسیر بحرانی پروژه در MSP و در نمای گانت چارت دو روش وجود دارد:
روش اول:
به نمای Gantt Chart بروید. از سربرگ Format تیک Critical Tasks را بزنید. برای نشان دادن شناوری کل تیک Slack را بزنید.
روش دوم:
در نمای گانت چارت کلیک راست کرده و روی فلش کوچک گزینه Show/Hide Bar Styles کلیک کرده و سپس روی Critical Tasks کلیک کنید. برای نشان دادن شناوری کل Slack را انتخاب کنید.
مشاهده شبکه زمانبندی و مسیر بحرانی در نمای Network Diagram در MSP
از سربرگ Task نمای Network Diagram را انتخاب کنید. در نمای Network Diagram هر فعالیت در یک باکس نمایش داده میشود و ارتباط بین فعالیتها با فلشها نشان داده میشود. به عبارت دیگر در این نما شبکه زمانبندی پروژه را میبینیم. در باکسهای مربوط به فعالیتها، اطلاعات فعالیت از قبیل تاریخ شروع، تاریخ پایان، زمان، درصد پیشرفت و… دیده میشود و این اطلاعات قابل ویرایش هستند.
نکته: فعالیتهای بحرانی در نمای Network Diagram با رنگ قرمز نشان داده میشود.
سفارشی سازی نمای Network Diagram
وقتی وارد این نما شوید با استفاده از سربرگ Format ظاهر شده برای این نما میتوانید کلیه تنظیمات مربوط به این نما را انجام دهید. که ما در اینجا به معرفی بخش Display و Format میپردازیم.
بخش Display
با استفاده از ابزار Collapse Boxes موجود در بخش Display جزئیات مربوط به شبکه فعالیتها را غیرفعال کنید. با این کار نمای شبکهای مربوط به فعالیتها و پروژه به صورت کوچکتر دیده میشود.
بخش Format
در این بخش ابزارهای زیر قرار دارند:
- Box
- Box Styles
- Layout
ابزار Box
اگر بر روی هر باکس کلیک کنید و این گزینه را انتخاب کنید، پنجره Format Box باز میشود.
- در قسمت Preview قالب بندی و فرمت باکس موردنظر را میبینید و در قسمت پایین میتوانید این قالببندی را تغییر دهید.
- در کادر Date template الگوهای مختلفی را برای نمایش باکسها میتوان مشاهده کرد، با کلیک روی این کادر بازشو تمامی این الگوها نمایش داده میشوند و میتوانید هر کدام را که موردنظرتان است، انتخاب و پیشنمایش آن را دیده تا در صورت نیاز استفاده کنید؛
- با استفاده از گزینه More Templates میتوانید الگوهای جدیدی را ایجاد کنید یا یکی از همین الگوها را ویرایش کرده تا الگوی آمادهای را به آن بخش وارد، کپی و حذف کنید؛
- در قسمت Border از لیست کشویی Shape میتوان یک شکل خاص را برای نمایش باکسها انتخاب کرد؛
- در کادر Color رنگ خطوط آن قابل انتخاب است؛
- در قسمت Width میتوانید ضخامت خطوط را انتخاب کنید؛
- با زدن تیک گزینه Show horizontal gridlines میتوان خطوط افقی درون باکسها را نمایان کرد.
- با زدن تیک گزینه Show vertical gridlines میتوان خطوط عمودی درون باکسها را نمایان کرد؛
- در آخرین بخش یعنی Background در قسمت Color رنگ مربوط به پسزمینه باکس را انتخاب و در قسمت Pattern الگوی مربوط را انتخاب کنید.
ابزار Box Styles
با کلیک روی این ابزار پنجره Box Styles باز میشود. این پنجره دارای گزینههایی شبیه به Format Box است. فقط در قسمت بالای پنجره از کادر سمت چپ میتوانید نوع فعالیت را انتخاب کنید. با زدن تیک گزینه style Set highlight filter پس زمینه باکس هایلایت میشود و با استفاده از قسمت Show data from task ID میتوانید با وارد کردن ID فعالیت دیگری از همان نوع را انتخاب کنید. مثلا من خلاصه فعالیتها را انتخاب کردم و میتوانم با استفاده از این قسمت بین خلاصه فعالیتها جابجا شوم و قالببندی آنها را تغییر دهم.
ابزار Layout
برای تنظیمات جانمایی مربوط به شبکه میتوانید از این گزینه استفاده کنید.
- در قسمت Layout mode اگر قصد دارید محل قرارگیری کادرها را به صورت دستی انجام دهید، باید گزینه Allow manual box positioning را انتخاب کنید. اگر میخواهید به صورت اتوماتیک این کار انجام شود، گزینه Automatically position all boxes را انتخاب کنید. اگر تنظیم را به صورت دستی انتخاب کرده باشید، دو گزینه Align و Layout Now در ریبون فعال میشود. این گزینهها برای ترازبندی فعالیتها مورد استفاده قرار میگیرند؛
- Box Layout: در این قسمت در کادر بازشوی Arrangement میتوانید از انواع ترازبندی که در این کادر وجود دارد استفاده کنید و با استفاده از دیگر گزینههای موجود در زیر این بخش کلیه تنظیمات مربوط به ترازبندی فعالیتها را انجام دهید؛
- Show Summary task: زدن تیک این گزینه سبب میشود که خلاصه فعالیتها نمایش داده شوند؛
- Keep tasks with their summaries: اگر این گزینه فعال باشد فعالیتها و خلاصه فعالیتها با هم نمایش داده میشوند؛
Link Styles
این قسمت شیوه نمایش فعالیتها را مشخص میکند.
- Rectilinear: خطوط را به صورت مورب نشان میدهد؛
- Straight: خطوط را به صورت مستقیم و غیر مورب نشان میدهد؛
- زدن تیک این گزینه سبب میشود که در انتهای خطوط روابط بین فعالیتها یک فلش مشخصکننده فعال شود؛
- Show link label: زدن تیک این گزینه روابط بین فعالیتها را بر روی خطوط نمایش میدهد؛
- Link color: رنگ خطوط را مشخص میکند. اگر گزینه Match predecessor box border را انتخاب کنید هر خط به رنگ کادر فعالیت پیشنیاز خود درمیآید. میتوانید از قسمت Noncritical links برای مشخص کردن رنگ خطوط فعالیتهای غیر بحرانی و از گزینه Critical links برای مشخص کردن رنگ خطوط فعالیتهای بحرانی استفاده کنید؛
Diagram option
در این بخش گزینه های زیر وجود دارد:
- Background color: رنگ پسزمینه را مشخص میکند؛
- Background pattern: الگوی پسزمینه را مشخص میکند؛
- Show page breaks: اگر فعال باشد Page breakها با نقطهچین نمایش داده میشود؛
- Hide all fields except ID: اگر این گزینه را فعال کنید، فعالیتها را با کادر کوچکی که درون آن ID مشخص شده است نمایش میدهد؛
- Mark in_progress and completed: اگر این گزینه فعال باشد پیشرفت فعالیتها با یک یا دو خط مورب روی کادر نمایش داده میشود.
جمعبندی
در این آموزش با مفهوم شبکه زمانبندی پروژه و مسیر بحرانی آشنا شدید و نحوه ایجاد آنها را به صورت دستی و با کمک نرمافزار MSP فرا گرفتید. ایجاد شبکه زمانبندی پروژه و تشخیص مسیر بحرانی در پروژه میتواند شما را در گرفتن تصمیمات درست و مدیریت صحیح پروژه یاری کند.
اگر به موضوع مدیریت پروژه و برنامهریزی علاقهمند هستید، پیشنهاد میکنم ویدئوی زیر رو هم ببینید. توی این ویدئو نحوه مدیریت کارها با ترلو (Trello) رو آموزش دادم. ترلو یک ابزار ساده و کارآمد برای مدیریت کارها و پروژهها به صورت شخصی و تیمی است. ما در تیم پویان همه برنامههامون رو با ترلو مدیریت میکنیم.
ممنون از سایت و مطالب خوب شما، تمامی مطالب جامع و دقیق توضیح داده شدهاند.
خواهش میکنم. ممنونم از شما که بازخورد مثبت تون رو با ما به اشتراک گذاشتین.
خیلی عالی بود، خیلی ممنون😍
ممنونم که بازخورد مثبت تون رو با ما به اشتراک گذاشتین.موفق باشید.
به یاد دوران دانشگاه افتادم و یکبار خاطرات گذشته برام تداعی شد. در ضمن مطالب ساده و روان بود.تشکر از شما
چه جالب. چرا خاطرات دوران دانشگاه؟؟؟؟
خواهش میکنم. ممنون از توجه شما.
بسیار عالی . توضیحات با زبان بسیار ساده و واضح بیان شده است . سپاس فراوان
ممنونم دوست عزیز. همیشه سعی من بر این هست که مطالب را ساده و روان بیان کنم. سپاس از همراهی شما.
با سلام وعرض ادب ازمطالب و آموزش خوبی که دادید سپاس گذارم
اگر برنامه زمانبندی را که تهیه کردیم بانرم msp بدون مسیر بحرانی باشد بر نامه مشکل دارد ویا حتی کل مسیر ها بحرانی باشند چطور
ممنون می شوم پاسخ دهید
مطالب بسیار مفید بود.من رشته تحصیلی ام برق وبا مقطع ارشد هستم.سرپرست نظارت یک پروژه برق در بندر هستم.داشتم برنامه زمان بندی پروژه خودمان را نگاه میکردم.نیاز به مطالعه داشتم که این مطالب خوب شما را دیدم.واستفاده کردم و حتما به سایت شما مراجعه خواهم کرد.
سلام خسته نباشید و خدا قوت
ایا نمودار پیشرفت پروژه رو میشه در مایکوسافت پراجکت رسم کرد؟؟
درود برشما مطالب تان بسیار مفید بود همیشه تندرست باشید
سلام. خوشحالم که مطالب برای شما مفید بوده. سلامت و پیروز باشید.