روش مسیر بحرانی یا Critical Path Method (CPM) یک تکنیک مدلسازی زمانبندی پروژه است. Morgan R. Walker و James E. Kelly این تکنیک را در اواخر دههی ۱۹۵۰ ابداع کردند. برنامهریزان پروژه از این روش برای توسعه برنامههای پروژهها در حوزههای مختلف که شامل IT، تحقیق و ساختوساز میشوند، استفاده میکنند.روش مسیر بحرانی در مدیریت پروژه مفهومی طولانی و پیچیده است. برای درک این موضوع، بهتر است هر مرحله را کامل بخوانید و تا زمانی که مرحله را کامل درک نکردید، ادامه ندهید.
روش مسیر بحرانی (CPM)
در روش شبکه مسیر بحرانی، شما بر مدیریت مسیر بحرانی تمرکز میکنید. یک نمودار شبکه، مسیرهای بسیاری دارد که از یک نقطه شروع میشوند و در نقطه دیگری پایان مییابند. هر مسیر یک مدتزمان دارد و مسیری که طولانیترین مدتزمان را دارد، مسیر بحرانی است. مسیر بحرانی را میتوانیم به صورت زیر تعریف کنیم:
- طولانیترین مسیر در نمودار شبکه
- یا کوتاهترین زمان برای تکمیل پروژه
توجه داشته باشید که جمله اول در مورد طولانیترین مسیر و جمله دیگر در مورد کوتاهترین مدت زمان صحبت میکند. ممکن است که به نظر برسد این دو جمله، مفاهیم مخالف هم را بیان میکنند؛ اما در واقع هر دو، یک پیام را میرسانند. به عنوان مثال، فرض کنید پروژهای برای ساخت سه اپلیکیشن دارید. اولی بزرگترین ساختمان، دومی متوسط و سومی کوچکترین است. نمودار شبکهای را توسعه میدهید که شامل سه مسیر است و هر کدام نشاندهنده یک اپلیکیشن است. سپس مدتزمان هر مسیر را محاسبه میکنید. مدت اپلیکیشن اول ۳۱ ماه، اپلیکیشن دوم ۱۸ ماه و اپلیکیشن سوم ۱۳ ماه است.
میتوانید ببینید که مسیر اول برای بزرگترین اپلیکیشن، مسیر دوم برای یک اپلیکیشن با اندازه متوسط و مسیر سوم برای کوچکترین اپلیکیشن است. حالا بیایید نمودار تجزیه و تحلیل مسیر بحرانی را مرور کنیم. متوجه شدید که اولین مسیر طولانیترین مسیر است؟
این عدد، ۱۳ ماه بیشتر از رقم دوم و ۱۸ ماه بیشتر از رقم سوم است. معنی اعداد بالا این است که میتوانید ۱۳ ماه صبر کنید و سپس شروع به کار بر روی اپلیکیشن دوم کنید؛ چون اپلیکیشن دوم را میتوانید در ۱۸ ماه کامل کنید. به همین ترتیب میتوانید ۱۸ ماه صبر کنید و سپس کار بر روی اپلیکیشن سوم را شروع کنید؛ چون ۱۳ ماه طول میکشد تا تکمیل شود. یعنی حتی اگر کار بر روی اپلیکیشن سوم را بعد از ۱۸ ماه از تاریخ شروع پروژه شروع کنید، میتوانید آن را به موقع تمام کنید.
دوره انتظار float یا slack
حالا با توجه به این توضیحات، در این نمودار شبکه مسیر بحرانی کدام است؟
پاسخ، طولانیترین مسیر در نمودار شبکه مسیر بحرانی است؛ زیرا نمیتوانید پروژه خود را قبل از اتمام اولین اپلیکیشن کامل کنید. اگر چه میتوانید دو اپلیکیشن دیگر را به سرعت تکمیل کنید، اما پروژه شما تا زمانی که اولین اپلیکیشن کامل نشود، کامل در نظر گرفته نمیشود. این موضوع، اولین جمله را تایید میکند که میگوید:
«مسیر بحرانی طولانیترین مسیر در نمودار شبکه است.»
حالا، کوتاهترین زمان برای تکمیل پروژه چیست؟
۳۱ ماه است چون شما نمیتوانید پروژه خود را در زمان کمتری به اتمام برسانید، و مدت مسیر بحرانی همین عدد است.
پس جمله دوم هم صحیح است:
«مسیر بحرانی کوتاهترین زمانی است که در آن میتوانید پروژه را کامل کنید.»
بنابراین، هر دو تعریف یکسان هستند. شما میتوانید مسیر بحرانی را به عنوان توالی فعالیتها از ابتدا تا انتها تعریف کنید که در عین حال طولانیترین مدتزمان تمام مسیرها در یک نمودار شبکه را دارد.
مهم: در شرایط ایدهآل، یک نمودار شبکه باید یک مسیر بحرانی داشته باشد. مسیرهای بحرانی متعدد شما را در وضعیت دشواری قرار میدهند.
ردیابی سریع به فرآیند اجرای فعالیتهای متعدد در مسیر بحرانی، به صورت موازی و به منظور کاهش زمان کلی پروژه گفته میشود. مسیر بحرانی طولانیترین مدتزمان را دارد و برابر کل مدتزمان پروژه است. فعالیتهایی که در مسیر بحرانی هستند float ندارند؛ بنابراین باید اطمینان حاصل کنید که این فعالیتهای بحرانی به موقع انجام میشوند. هر گونه تاخیر در یک فعالیت بحرانی (فعالیت مسیر بحرانی)، پروژه را به تاخیر میاندازد.
اگر پروژه به تاخیر بیفتد چه اتفاقی میافتد؟
تاخیر در زمانبندی در مدیریت پروژه رایج است. با این حال، برخی ابزارها میتوانند به شما کمک کنند که همه چیز را به برنامه زمانی بازگردانید؛ به این تکنیکها، تکنیکهای فشردهسازی زمانبندی میگویند و «ردیابی سریع» یا Fast-Tracking و «خرد کردن» یا Crashing مثالهایی از این تکنیک هستند. اگر پروژه شما از برنامه عقب است، میتوانید از این ابزارها برای بازگشت به زمان استفاده کنید.
ردیابی سریع تنها برای فعالیتهایی که وابستگی «سخت» ندارند امکان پذیر است؛ یعنی آنهایی که به طور کامل به تسکهای قبلی خود برای شروع وابسته نیستند. برای مثال، شما باید قبل از این که بتوانید دیوارهای اپلیکیشن را بسازید، پی را بکنید. اما در حالی که مشغول حفاری هستید، میتوانید آجر بخرید و سیمان را با هم مخلوط کنید.
بنابراین، با این که دیوارهای اپلیکیشن به حفاری پی وابسته است، میتوانید آجر بخرید و سیمان را به موازات حفر پی با هم مخلوط کنید. بدیهی است که ردیابی سریع نیازمند منابع اضافی است. این موضوع همچنین میتواند بر کیفیت کلی تاثیر بگذارد؛ چون شما در حال توزیع منابع برای وظایف متعدد هستید. مدیریت منابع خوب به ویژه در شرایطی که شما نیاز دارید فعالیتها را به صورت موازی اجرا کنید، مفید خواهد بود.
تکنیک خرد کردن در مدیریت پروژه:
خرد کردن به معنی اختصاص منابع اضافی به فعالیتها برای تکمیل سریعتر آنهاست. خرد کردن در فعالیتهای زیر مفید است:
- وقتی منابع اضافی دارید؛ یعنی یک رابطه خطی بین منابع و زمان تکمیل را دنبال میکنید.
- وقتی بتوانید از منابع حاصل از فعالیتهایی با float بالا استفاده کنید؛ از آنجا که slack قابلتوجهی در این فعالیتها وجود دارد، میتوانید آنها را بدون به خطر انداختن پروژه به تاخیر بیندازید.
خرد کردن به طور کلی توصیه نمیشود چون میتواند بر سایر فعالیتها در مسیر بحرانی و خارج از آن تاثیر بگذارد. با این حال، اگر باید این کار را انجام دهید، منابع را به جای این که از تسکهای موجود روی مسیر بحرانی منحرف کنید، از تسکهای با float بالا منحرف کنید.
چند اصطلاح رایج در روش مسیر بحرانی
قبل از این که بحث در مورد چگونگی یافتن مسیر بحرانی را شروع کنیم، چند اصطلاح رایج مورد استفاده در یک نمودار شبکه مسیر بحرانی را بررسی میکنیم:
- زودترین زمان شروع یا شروع زودهنگام (ES): یعنی اولین زمانی که یک فعالیت را میتوان در پروژه آغاز کرد.
- آخرین زمان شروع یا شروع دیرهنگام (LS): یعنی آخرین زمانی که یک فعالیت را میتوان در پروژه آغاز کرد. اگر فعالیتی را دیرتر از این زمان شروع کنید، بر مسیر بحرانی شما تاثیر خواهد گذاشت.
- زودترین زمان پایان یا پایان زودهنگام (EF): این اولین زمانی است که یک فعالیت در پروژه شما تکمیل میشود. اگر فعالیت شما از این زمان بیشتر طول بکشد، پروژه شما به تاخیر میافتد.
- دیرترین زمان پایان یا پایان دیرهنگام (LF): این آخرین زمانی است که میتوانید فعالیت روی پروژه خود را کامل کنید. اگر فعالیت شما از این زمان بیشتر طول بکشد، پروژه شما به تاخیر میافتد.
چگونه مسیر بحرانی را در نمودار شبکهای پیدا کنیم؟
حالا که اصطلاحات رایج در مسیر بحرانی را با هم مرور کردیم، میتوانیم به سراغ چگونگی پیدا کردن مسیر بحرانی برویم.
- گام اول، جمعآوری زمان تمام فعالیتهای پروژه است. برای این کار میتوانید از ساختار تفکیک کار برای پیدا کردن تسکهای پروژه استفاده کنید.
- پس از فهرست کردن فعالیتهای پروژه، وابستگیهای تسک را در میان فعالیتها پیدا کنید. یعنی رابطه بین این که کدام فعالیت بعد از چه فعالیتی قرار دارد را پیدا کنید و ببینید رابطه آنها از جنس پایان تا شروع، پایان تا پایان، شروع تا شروع یا شروع تا پایان است.
- حالا نمودار شبکه را رسم کنید و مدتزمانی را به هر فعالیت اختصاص دهید.
- همه مسیرهای نمودار شبکه را شناسایی کنید.
- مدتزمان هر مسیر را پیدا کنید.
- مسیر با بیشترین مدتزمان، مسیر بحرانی است.
- از مسیر رو به جلو برای محاسبه زودترین شروع یا شروع زود هنگام، و زودترین پایان یا پایان زود هنگام هر فعالیت استفاده کنید.
- از مسیر رو به عقب برای محاسبه آخرین شروع یا شروع دیرهنگام و آخرین پایان یا پایان دیرهنگام هر فعالیت استفاده کنید.
- حالا میتوانید float را برای تمام فعالیتها محاسبه کنید.
توجه داشته باشید که در یک مسیر بحرانی، شروع دیرهنگام به معنای پایان دیرهنگام خواهد بود، و شروع زود هنگام به معنی شروع دیرهنگام خواهد بود. ضمنا هیچ کدام از فعالیتهای مسیر بحرانی float نخواهند داشت. این اطلاعات به شما اجازه میدهد تا نمودار شبکه مسیر بحرانی را رسم کنید و میزان float هر فعالیت را بدانید. همچنین خواهید دانست که تا چه حد میتوانید یک کار خاص را به تاخیر بیاندازید و میفهمید که هر تأخیری بعد از این نقطه، چگونه روی زمانبندی پروژه اثر خواهد داشت.
مثالی از روش مسیر بحرانی
براساس نمودار شبکه زیر، مسیرهای کلی، مسیر بحرانی و شناور برای هر مسیر را شناسایی کنید.
نمودار شبکه بالا دارای پنج مسیر است. مسیرها و مدتزمان آنها به شرح زیر است:
- Start -> A -> B -> C -> End مدت زمان: ۳۱ روز
- Start -> D -> E -> F -> End مدت زمان: ۱۸ روز
- Start -> D -> B -> C -> End مدت زمان: ۲۶ روز
- Start -> G -> H -> I -> End مدت زمان: ۱۳ روز
- Start -> G -> E -> F -> End مدت زمان: ۱۶ روز
از آنجا که مدتزمان مسیر اول طولانیترین مسیر است، پس مسیر اول، مسیر بحرانی است. float در مسیر بحرانی صفر است.
در مسیر دوم float از راه زیر محاسبه میشود:
Start -> D -> E -> F -> End
که برابر است با مدت زمان مسیر بحرانی منهای مدت زمان مسیر:
Start -> D -> E -> F -> End = 31 – 18 = 13
بنابراین، float برای مسیر دوم ۱۳ روز است. با استفاده از همین فرآیند، میتوانیم float را برای مسیرهای دیگر نیز محاسبه کنیم.
Float مسیر سوم برابر است با: ۳۱ – ۲۶ = ۵
Float مسیر چهارم برابر است با ۳۱ – ۱۳ = ۱۸Float
مسیر پنجم برابر است با: ۳۱ – ۱۶ = ۱۵
شروع زود هنگام، پایان زود هنگام، شروع دیر هنگام و پایان دیر هنگام را محاسبه کنید
ما مسیر بحرانی و مدتزمان مسیرهای دیگر را شناسایی کردهایم. اکنون وقت آن است که به سراغ محاسبات پیشرفتهتر برویم: شروع زود هنگام، پایان زود هنگام، شروع دیر هنگام و پایان دیر هنگام. محاسبه شروع زود هنگام (ES) و پایان زود هنگام (EF)
برای محاسبه تاریخهای شروع زود هنگام و پایان زود هنگام، از مسیر رو به جلو استفاده میکنیم؛ از اول شروع میکنیم و تا پایان ادامه میدهیم. شروع زودهنگام (ES) برای اولین فعالیت در هر مسیر ۱ خواهد بود. زیرا نمیتوانید فعالیت را قبل از روز اول پروژه خود شروع کنید.
نقطه شروع برای هر فعالیتی، نقطه پایانی فعالیت قبلی در همان مسیر (به علاوه یک) است. فرمول مورد استفاده برای محاسبه تاریخهای شروع زود هنگام و پایان زود هنگام:
- شروع زودهنگام فعالیت = پایان زود هنگام فعالیت قبلی + ۱
- پایان زودهنگام فعالیت = مدت فعالیت + شروع زودهنگام فعالیت – ۱
تاریخ شروع زودهنگام و پایان زودهنگام برای مسیر Start -> A -> B -> C -> End
شروع زودهنگام فعالیت A برابر است با ۱ (چون اولین فعالیت در مسیر است).
پایان زودهنگام فعالیت A برابر است با شروع زودهنگام فعالیت A + مدت زمان فعالیت – ۱:
۱ + ۱۰ – ۱ = ۱۰شروع زودهنگام فعالیت B برابر است با پایان زودهنگام فعالیت قبلی + ۱:
۱۰ + ۱ = ۱۱پایان زودهنگام فعالیت B برابر است با شروع زودهنگام فعالیت B + طول فعالیت -۱:
۱۱ + ۱۲ – ۱ = ۲۲شروع زودهنگام فعالیت C برابر است با پایان زودهنگام فعالیت قبلی + ۱:
۲۳ + ۹ – ۱ = ۳۱
شروع زودهنگام و پایان زودهنگام برای مسیر Start -> D -> E -> F -> End
شروع زودهنگام فعالیت D برابر است با ۱ (چون اولین فعالیت در مسیر است).
پایان زودهنگام فعالیت D برابر است با:
۱ + ۵ – ۱ = ۵شروع زودهنگام فعالیت E برابر است با پایان زودهنگام فعالیت قبلی +۱
از آنجایی که فعالیت E دو فعالیت قبلی دارد، کدام یک را انتخاب میکنید؟ پاسخ، فعالیتی با تاریخ پایان بزرگتر است. پایان اولیه فعالیت D ۵ است و پایان اولیه فعالیت G ۳ است (بعدا آن را محاسبه خواهیم کرد).
بنابراین، ما پایان زودهنگام فعالیت D را برای پیدا کردن آغاز زودهنگام فعالیت E انتخاب میکنیم.
شروع زودهنگام فعالیت E برابر است با پایان زودهنگام فعالیت قبلی + ۱:۵ + ۱ = ۶پایان زودهنگام فعالیت E = 6 + 7 – 1 = 12
شروع زودهنگام فعالیت F = 12 + 1 = 13
پایان زودهنگام فعالیت F = 13 + 6 – 1 = 18
شروع زودهنگام و پایان زودهنگام برای مسیر Start -> G -> H -> I -< End
شروع زودهنگام فعالیت G برابر است با ۱ (زیرا اولین فعالیت در مسیر است).
- پایان زودهنگام فعالیت G = 1 + 3 – 1 = 3
- شروع زودهنگام فعالیت H = 3 + 1 = 4
- پایان زودهنگام فعالیت H = 4 + 4 – 1 = 7
- شروع زودهنگام فعالیت I = 7 + 1 = 8
- پایان زودهنگام فعالیت I = 8 + 6 – 1 = 13
محاسبه شروع دیرهنگام (LS) و پایان دیرهنگام (LF)
ما تاریخهای شروع اولیه و پایان اولیه همه فعالیتها را محاسبه کردهایم. حالا وقت آن است که تاریخهای شروع دیرهنگام و پایان دیرهنگام کار را محاسبه کنیم.
تاریخ نهایی آخرین فعالیت، در همه مسیرها یکسان خواهد بود زیرا هیچ فعالیتی پس از تکمیل پروژه نمیتواند ادامه یابد.
فرمول مورد استفاده برای تاریخهای شروع دیرهنگام و پایان دیرهنگام:
شروع دیرهنگام یک فعالیت = پایان دیرهنگام فعالیت – طول مدت فعالیت + ۱
پایان دیرهنگام یک فعالیت = شروع دیرهنگام فعالیت بعدی – ۱
برای محاسبه شروع دیرهنگام و پایان دیرهنگام، از مسیر رو به عقب استفاده میکنیم؛ یعنی از آخرین فعالیت شروع میکنیم و به سمت فعالیت اول برمیگردیم.
شروع دیرهنگام و پایان دیرهنگام فعالیتها روی مسیر Start -> A -> B -> C -> End
در یک مسیر بحرانی، تاریخهای شروع دیرهنگام و پایان دیرهنگام مشابه تاریخهای شروع زودهنگام و پایان زودهنگام خواهند بود.
شروع دیرهنگام و پایان دیرهنگام برای مسیر Start -> D -> E -> F -> End
پایان دیرهنگام فعالیت F برابر است با ۳۱ (چون نمیتوانید هیچ فعالیتی را به بعد از تاریخ تکمیل پروژه موکول کنید.)
شروع دیرهنگام فعالیت F = پایان دیرهنگام فعالیت F – مدتزمان فعالیت + ۱
۳۱ – ۶ + ۱ = ۲۶پایان دیرهنگام فعالیت E برابر است با شروع دیرهنگام فعالیت بعدی – ۱
۲۵ – ۷ + ۱ = ۱۹پایان دیرهنگام فعالیت D برابر است با شروع دیرهنگام فعالیت بعدی – ۱
اگر به نمودار شبکه نگاه کنید، متوجه خواهید شد که فعالیت D دو فعالیت جانشین دارد، B و E. کدام را انتخاب میکنید؟
فعالیت را با تاریخ شروع قبلی (حداقل) انتخاب کنید. در اینجا، شروع دیرهنگام فعالیت B برابر ۱۱ است، و شروع دیرهنگام فعالیت E برابر ۱۹ است.
بنابراین، شما فعالیت B را انتخاب خواهید کرد، که تاریخ شروع دیرهنگام قبلی را دارد. به همین دلیل:
پایان دیرهنگام فعالیت D برابر است با شروع زودهنگام فعالیت B – ۱
۱۱ – ۱ = ۱۰شروع دیرهنگام فعالیت D برابر است با پایان دیرهنگام فعالیت D – مدتزمان فعالیت + ۱
۱۰ – ۵ + ۱ = ۶شروع دیرهنگام و پایان دیرهنگام برای مسیر Start -> G -> H -> I -> End
پایان دیرهنگام فعالیت I برابر است با ۳۱ (چون نمیتوانید هیچ فعالیتی را به بعد از تاریخ اتمام پروژه موکول کنید.)
شروع دیرهنگام فعالیت I = 31 – 6 + 1 = 26
پایان دیرهنگام فعالیت H = ۲۶ – ۱ = ۲۵
شروع دیرهنگام فعالیت H = 25 – 4 + 1 = 22
پایان دیرهنگام فعالیت G = 19 – 1 = 18
(شروع دیرهنگام فعالیت E را در نظر میگیریم؛ چون شروع دیرهنگام فعالیت E از شروع دیرهنگام فعالیت H سریعتر اتفاق میافتد.)
شروع دیرهنگام فعالیت G = 18 – 3 + 1 = 16
مزایای روش مسیر بحرانی
در زیر برخی از مزایای روش مسیر بحرانی به صورت خلاصه آورده شدهاست:
- این نمودار، یک نمای گرافیکی از پروژه را نشان میدهد.
- با کمک آن، میتوانید وابستگیها را کشف و تصویرسازی کنید.
- به برنامهریزی، زمانبندی و کنترل پروژه کمک میکند.
- این کار به انجام برنامهریزی احتمالی کمک میکند.
- میتوانید مسیر بحرانی را ببینید و فعالیتهای بحرانی را پیدا کنید.
- کمک میکند به فعالیتها float بدهید وبه فعالیتهای float انعطاف ببخشید.
- نشان میدهد که کجا میتوانید دست به عمل بزنید تا پروژهها را به برنامه زمانی برگردانید.
معایب روش مسیر بحرانی
اگر چه مسیر بحرانی یک ابزار بسیار مفید در برنامهریزی پروژه است، اما معایبی هم دارد. از قبیل:
- روش مسیر بحرانی یک ابزار برنامهریزی بهینه است و فرض میکند که تمام منابع، همیشه برای پروژه در دسترس هستند.
- وابستگی منابع را در نظر نمیگیرد.
- احتمال استفاده نامناسب از float یا slack وجود دارد.
- توجه کمتری به فعالیتهای غیر بحرانی میشود؛ اگرچه گاهی اوقات آنها به فعالیتهای بحرانی تبدیل میشوند.
- پروژههای مبتنی بر مسیر بحرانی اغلب سر وقت تمام نمیشوند.
- در پروژههای پیچیده باید از نرمافزار مدیریت پروژه برای توسعه زمانبندی مسیر بحرانی که به پروژه شما هزینه اضافه میکند، استفاده کنید.
برای غلبه بر این کاستیها، روش زنجیره بحرانی (CCM) توسعه داده شد.
خلاصه
روش مسیر بحرانی به بسیاری از مدیران و سرپرستان پروژه در توسعه و مدیریت برنامهها کمک کردهاست. این روش یک ابزار ارتباطی خوب است و به ذینفعان کمک میکند. نمودار شبکه مسیرهای زیادی دارد، اما تنها باید بر روی یک نمودار بحرانی تمرکز کنید. هرگونه تاخیر در انجام فعالیت بحرانی، زمانبندی پروژه را تحت تاثیر قرار میدهد. Float روی مسیرهای دیگر را در نظر بگیرید؛ زیرا اگر float به صفر برسد، آن مسیر به یک مسیر بحرانی تبدیل خواهد شد و باید از این اتفاق اجتناب کنید. به عنوان مدیر پروژه یا سرپرست تیم باید نمودار شبکه خود را تحت نظر داشته باشید و در صورت نیاز فورا اقدام اصلاحی انجام دهید. این مقاله با همراهی تیم PMO شرکت آسا منتشر شده است.
منابع:
دیدگاهتان را بنویسید