تکنیک ارزیابی و بازنگری برنامه - Program Evaluation and Review Technique

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
تکنیک ارزیابی و بازنگری برنامه (Program Evaluation and Review Technique) یا تکنیک ارزیابی و بازنگری پروژه (Project Evaluation and Review Technique) که مخفف آن پرت (PERT) می‌شود یک ابزار آماری در مدیریت پروژه است که برای تحلیل و مشخص کردن وظایف مربوط به تکمیل یک پروژه به کار می‌رود و معمولا در کنار روش مسیر بحرانی (critical path method) یا CPM مورد استفاده قرار می‌گیرد.

Pert_chart.svg.png
شبکه PERT برای یک پروژه هفت ماهه با پنج مایل‌استون (از 10 تا 50) و شش فعالیت(از A تا F)


PERT روشی است برای تحلیل وظایف موجود در تکمیل یک پروژه، مخصوصا زمان مورد نیاز برای تکمیل هر وظیفه و برای نشان دادن حداقل زمان مورد نیاز برای تکمیل کل پروژه. روش PERT توانایی این را دارد که در زمانی که به صورت دقیق جزییات و مدت زمان تمام فعالیت‌ها را نمی‌دانیم، بتوانیم بر این عدم اطمینان غلبه کنیم و برای پروژه یک زمان‌بندی ایجاد نماییم. این روش بیش‌تر از این که یک تکنیک بر مبنای استارت و تکمیل باشد، رویداد محور (event-oriented technique) است و بیش‌تر در پروژه‌هایی که زمان فاکتور اصلی‌تری نسبت به هزینه است به کار برده می‌شود. این روش برای پروژه‌های زیر ساختی و تحقیق و توسعه‌ای پیچیده در مقیاس بسیار بزرگ و زمان مشخص به کار می‌رود. یک مثال برای این نوع پروژه‌ها، المپیک زمستانی 1968 در گرنوبل فرانسه بود که از سال 1965 تا زمان شروع بازی‌ها در 1968 از روش PERT استفاده کردند.

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

PERT برای مدیریت در جایی که وظایف مختلف به صورت هم‌زمان انجام می‌شوند و برای کاهش تکرار کار بسیار با ارزش است.




تعریف‌های مربوط به روش PERT



  • رویداد پرت (PERT event): نقطه‌ای است که شروع و تکمیل یک یا چند فعالیت را مشخص می‌کند. رویداد هیچ زمان یا منابعی مصرف نمی‌کند. اگر رویداد نشان‌دهنده یک یا چند وظیفه باشد، تا زمانی که تمام فعالیت‌های منجر به آن رویداد تکمیل نشده باشند، به آن نخواهیم رسید (رخ نخواهد داد).
  • رویداد پیشین (predecessor event): رویدادی است که بی‌درنگ قبل از یک رویداد و بدون هیچ رویداد میانی وجود داشته باشد. یک رویداد می‌تواند چند رویداد پیشین داشته باشد و می‌تواند رویداد پیشین چند رویداد باشد.
  • رویداد پسین (successor event): رویدادی است که بی‌درنگ پس از یک رویداد دیگر و بدون هیچ رویداد میانی وجود داشته باشد. یک رویداد می‌تواند چندین رویداد پسین داشته باشد و می‌تواند رویداد پسین چندین رویداد باشد.
  • فعالیت پرت (PERT activity): انجام واقعی یک وظیفه می‌باشد که زمان مصرف می‌کند و نیاز به منابعی همانند نیروی کار، مواد اولیه، فضا و ماشین‌آلات دارد. می‌توان آن را با مشخص کردن زمان، تلاش و منابع مورد نیاز، برای حرکت از یک رویداد به رویداد دیگر در نظر گرفت. تا زمانی که رویداد پیشین رخ دهد، نمی‌توان یک فعالیت PERT را انجام داد.
  • زمان خوش‌بینانه (optimistic time) یا O: حداقل زمان ممکن مورد نیاز برای تکمیل یک فعالیت با فرض این است که همه چیز بهتر از آن‌چه که انتظار می‌رفت به پیش می‌رود.
  • زمان بدبینانه (pessimistic time ) یا P: ماکزیمم زمان مورد نیاز برای تکمیل یک فعالیت با فرض این است که همه چیز به مشکل بر بخورد؛ در حالی که فاجعه‌های اصلی را در نظر نگیریم.
  • زمان بسیار محتمل (most likely time) یا M: بهترین زمان تخمینی مورد نیاز برای تکمیل یک تسک با فرض این که همه چیز به صورت معمول پیش برود.
  • زمان مورد انتظار (expected time) یا T[SUB]E[/SUB]: بهترین تخمین زمان مورد نیاز برای تکمیل یک وظیفه با حساب کردن بر روی این که کارها همیشه به صورت معمول انجام نمی‌شوند. زمان مورد انتظار، میانگین زمان مورد نیاز تسک است در صورتی که تسک چند بار در یک بازه زمانی تکرار شود.


TE = (O + 4M + P) ÷ 6


  • شناوری (float) یا لقی (slack): مقیاسی است برای زمان و منابع اضافه برای تکمیل یک تسک؛ به عبارت دیگر میزان زمانی است که یک تسک پروژه می‌تواند بدون ایجاد تاخیر در تسک‌های بعدی (شناوری آزاد) یا تمام پروژه (شناوری کلی) دچار تاخیر شود. لقی مثبت نشان‌دهنده جلو بودن از زمان‌بندی می‌باشد؛ لقی منفی نشان‌دهنده عقب بودن از زمان‌بندی و لقی صفر نشان دهنده طبق برنامه بودن است.
  • مسیر بحرانی (critical path): طولانی‌ترین مسیر پیوسته ممکن از رویداد ابتدایی تا رویداد انتهایی می‌باشد که تعیین کننده تقویم زمانی کلی مورد نیاز برای پروژه است و به همین دلیل هر تاخیر زمانی در طول مسیر بحرانی باعث تاخیر در رسیدن به رویداد انتهایی به حداقل همان میزان می‌شود.
  • فعالیت بحرانی (critical activity): فعالیتی است که شناوری آن برابر با صفر است. یک فعالیت با شناوری صفر لزوما بر روی مسیر بحرانی نیست زیرا مسیر آن ممکن است طولانی‌ترین نباشد.
  • زمان پیشی (Lead time): زمانی است که در آن رویداد پیشین باید تکمیل شده باشد تا زمان کافی برای فعالیت‌هایی که باید تا پیش از یک رویداد PERT مشخص منقضی شوند وجود داشته باشد.
  • زمان پسی (lag time): زودترین زمانی است که پس از آن یک رویداد پسین می‌تواند یک رویداد خاص PERT را دنبال کند.
  • ردیابی سریع (fast tracking): انجام فعالیت‌های بحرانی بیش‌تر به صورت موازی
  • مسیر بحرانی شکننده (crashing critical path): کاهش زمان فعالیت‌های بحرانی
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
پیاده‌سازی PERT
قدم اول در زمان‌بندی پروژه، تعیین تسک‌هایی است که پروژه نیاز دارد و نیز ترتیبی است که باید تکمیل شوند. برای برخی از تسک‌ها، ترتیب ممکن است ساده باشد، مثلا برای ساختن خانه، زمین باید قبل از فونداسیون ریزی تسطیح شود، در حالی که برای برخی مشکل است، مثلا در صورتی که نیاز به تسطیح دو ناحیه باشد ولی بولدوزر‌های موجود برای یکی کافی باشند. به علاوه، تخمین‌های زمانی معمولا بازتاب‌دهنده زمان نرمال و غیر عجله‌ای هستند. بسیاری از مواقع، زمان مورد نیاز برای اجرای یک تسک را می‌توان با هزینه بیش‌تر و یا کاهش کیفیت کاهش داد.
در مثال زیر، هفت تسک تحت نام‌های A تا G وجود دارند. برخی از تسک‌ها را می‌توان به صورت هم‌زمان انجام داد مانند A و B در حالی که بقیه را تا زمانی که تسک قبلی تکمیل نشده است نمی‌توان انجام داد؛ به عنوان مثال نمی‌توان تا زمانی که A تکمیل شود، C را شروع کرد. علاوه بر آن هر تسک دارای سه تخمین زمانی است: تخمین زمانی خوش‌بینانه (O)، تخمین زمانی بسیار محتمل یا نرمال (M) و تخمین زمانی بدبینانه (P). زمان مورد انتظار (T[SUB]E[/SUB]) از رابطه O + 4M + P ÷ 6 محاسبه می‌شود.

ActivityPredecessorTime estimatesExpected time
(Opt. (O(Normal (M(Pess. (P
A2464.00
B3595.33
CA4575.17
DA46106.33
EB, C4575.17
FD3484.50
GE3585.17


زمانی که این قدم تکمیل شد، می‌توان یک گانت چارت (Gantt chart) یا دیاگرام شبکه (network diagram) رسم کرد.

Pert_example_gantt_chart.jpg
در یک گانت چارت که در نرم‌افزار Microsoft Project یا MSP ترسیم شده است. مسیر بحرانی قرمز است ، خطوط مشکی اتصال‌دهنده فعالیت‌های غیر بحرانی، لقی‌ها هستند، از آن‌‌جایی که شنبه و یکشنبه روزهای کاری نیستند، از زمان‌بندی خارج شده‌اند، برخی از ستون‌های گانت‌چارت، در صورتی که در آخر هفته تعطیل شوند، طولانی‌تر خواهند شد.​


در یک گانت چارت که در نرم‌افزاری Microsoft Project یا MSP ترسیم شده است. مسیر بحرانی قرمز است ، خطوط مشکی اتصال‌دهنده فعالیت‌های غیر بحرانی، لقی‌ها هستند، از آن‌‌جایی که شنبه و یکشنبه روزهای کاری نیستند، از زمان‌بندی خارج شده‌اند، برخی از ستون‌های گانت‌چارت، در صورتی که در آخر هفته تعطیل شوند، طولانی‌تر خواهند شد.
می‌توان دیاگرام شبکه را با دست و یا با استفاده از نرم‌افزار رسم کرد. دو نوع دیاگرام شبکه وجود دارد، فعالیت روی فلش (activity on arrow) یا AOA و فعالیت روی گره (activity on node) یا AON. رسم و تفسیر دیاگرام‌های فعالیت روی گره معمولا ساده‌تر است. برای تولید یک دیاگرام AON، توصیه می‌شود (ولی نیاز نیست) که از یک گره به نام استارت شروع کنیم. این فعالیت دارای مدت زمان صفر است. سپس می‌توان تمام فعالیت‌هایی که فعالیت پیشین ندارند همانند A و B در این مثال را رسم کرد و آن‌ها را به وسیله یک فلش از نقطه استارت به هر گره متصل کرد. سپس از آن‌جایی که C و D دارای A به عنوان فعالیت پیشین هستند، گره‌های آن‌ها به وسیله فلش‌هایی که از نقطه A می‌آید رسم می‌شوند. فعالیت E دارای پیش‌فعالیت B و C است و بنابراین گره E به وسیله فلش‌هایی که از B و C می‌آیند کشیده می‌شود که مشخص‌کننده این است که تا زمانی که B و C هر دو تکمیل نشده باشند، نمی‌توان E را شروع کرد. به همین ترتیب می‌توان فعالیت F و G را نیز رسم کرد. از آن‌جایی که فعالیتی که پس از F و G وجود ندارد، توصیه می‌شود (ولی لزومی ندارد) که آن‌ها را به نقطه‌ای که نام آن پایان است رسم کنند.

Pert_example_network_diagram.jpg
یک دیاگرام شبکه با استفاده از در نرم‌افزار Microsoft Project یا MSP. مسیر بحرانی قرمز می‌باشد.​

دیاگرام شبکه‌ای که در بالا تصویر شده است به خودی خود اطلاعات بیش‌تری نسبت به گانت چارت نمی‌دهد،‌البته می‌توان از آن انتظار اطلاعات بیش‌تری داشت. معمول‌ترین اطلاعاتی که نشان داده می‌شود، شامل موارد زیر می‌شود:

  • نام فعالیت
  • مدت زمان نرمال
  • زمان شروع زود (ES)
  • زمان پایان زود (EF)
  • زمان شروع دیر (LS)
  • زمان پایان دیر (LF)
  • لقی
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
Pert_example_node_legend.GIFبرای تعیین این اطلاعات، فرض می‌شود که فعالیت‌ها و مدت زمان نرمال داده شده‌اند. قدم اول تعیین ES و EF است. ES به صورت حداکثر EF تمام فعالیت‌های پیشین تعریف می‌شود مگر این که فعالیت مورد نظر اولین فعالیت باشد که برای آن ES صفر خواهد بود. EF برابر است با ES به علاوه مدت زمان انجام وظیفه (EF = ES + duration).

  • ES برای استارت صفر است زیرا اولین فعالیت است. به دلیل این که مدت زمان صفر است، EF نیز صفر می‌شود. این EF برای A و B به عنوان ES به کار می‌رود.
  • ES برای A صفر است. مدت زمان (4 روز کاری) به ES اضافه می‌شود و EF آن برابر با صفر می‌شود. این EF به عنوان ES برای C و D به کار می‌رود.
  • ES برای B صفر است. مدت زمان (5.33 روز کاری) به این ES اضافه می‌شود تا EF برابر با 5.33 به دست آید.
  • ES برای C چهار است. مدت زمان (5.17 روز کاری) به این ES اضافه می‌شود تا EF برابر با 9.17 به دست آید.
  • ES برای D چهار است. مدت زمان (6.33 روز کاری) به این ES اضافه می‌شود تا EF برابر با 10.33 به دست آید.
  • ES برای E برابر است با بزرگ‌ترین EF برای فعالیت‌های پیش از آن (B و C). به دلیل این که EF برای B برابر است با 5.33 و EF برای C باربر است با 9.17، در نتیجه ES برای E برابر خواهد بود با 9.17. مدت زمان آن (5.17 روز کاری) به ES اضافه می‌شود تا EF آن 14.34 به دست آید. این EF به عنوان ES فعالیت G به کار می‌رود.
  • به همین ترتیب می‌توان ES و EF تمام فعالیت‌ها را محاسبه نمود.
در صورت عدم وقوع رویدادهای پیش‌بینی نشده، مدت زمان تکمیل پروژه 19.51 روز کاری خواهد بود. قدم بعدی، تعیین شروع زود (LS) و پایان دیر (LF) برای هر فعالیت خواهد بود. این کار در نهایت نشان خواهد داد که کدام فعالیت‌ها دارای لقی هستند. LF به عنوان حداقل LF تمام فعالیت‌های پیشین تعریف می‌شود مگر این که فعالیت، آخرین فعالیت باشد که برای آن LF با EF برابر خواهد بود. LS برابر است با LF منهای مدت زمان انجام وظیفه (LS = LF - duration).

  • LF برای پایان برابر است با EF (19.51 روز کاری) زیرا آخرین فعالیت پروژه است. از آن‌جایی که مدت زمان آن صفر است، LS نیز 19.51 روز کاری خواهد شد. این مقدار به عنوان LF برای F و G به کار می‌رود.
  • LF برای G برابر است با 19.51 روز کاری. مدت زمان آن (5.17 روز کاری) از LF کم می‌شود تا LS آن برابر با 14.34 روز کاری به دست آید. این مقدار به عنوان LF برای E استفاده می‌شود.
  • به همین ترتیب می‌توان LS و LF را برای تمام فعالیت‌ها محاسبه کرد.
قدم بعدی این است که مسیر بحرانی را محاسبه و تعیین کنیم که آیا فعالیت‌ها دارای لقی هستند. مسیر بحرانی، مسیری است که بیش‌ترین زمان را برای تکمیل نیاز دارد. برای تعیین زمان مسیرها، مدت زمان وظایف را برای تمام مسیرهای موجود با هم جمع می‌کنیم. فعالیت‌های دارای لقی را می‌توان بدون تغییر در زمان کلی پروژه با تاخیر انجام داد. لقی را می‌توان با دو راه محاسبه نمود:

slack = LF – EF
یا

slack = LS – ES
فعالیت‌هایی که در روی مسیر بحرانی هستند دارای لقی صفر می‌باشند.

مسیر بحرانی، ACEG است که زمان بحرانی را برابر با 19.51 روز کاری می‌دهد. باید توجه کرد که می‌توانیم در پروژه‌های پیچیده‌تر، بیش از یک مسیر بحرانی داشته باشیم و یا این که مسیر بحرانی می‌تواند تغییر کند. به عنوان مثال فرض کنیم که فعالیت‌های D و F به جای زمان مورد انتظار، دارای زمان‌های بدبینانه خود باشند. در این صورت اکنون مسیر بحرانی، مسیر ADF با 22 روز کاری خواهد بود. از طرف دیگر، اگر فعالیت C را بتوان به یک روز کاری کاهش داد، زمان مسیر ACEG به 15.34 روز کاری کاهش می‌یابد که کمی کمتر از زمان مسیر بحرانی جدید شامل BEG با 15.67 روز کاری خواهد بود.
با فرض این که هیچ کدام از این سناریوها رخ ندهند، ‌می‌توان لقی هر فعالیت را محاسبه نمود.

  • استارت و پایان مایل‌استون هستند و طبق تعریف هیچ مدت زمانی ندارند، در نتیجه دارای هیچ لقی نیستند (0 روز کاری).
  • فعالیت‌های روی مسیر بحرانی طبق تعریف دارای لقی صفر هستند؛ البته در زمانی که محاسبات را به صورت دستی انجام می‌دهیم، ایده خوبی است که محاسبات خود را چک نماییم. • فعالیت B دارای LF برابر با 9.17 و EF برابر با 5.33 است، بنابراین لقی آن 3.84 روز کاری خواهد بود.
  • به همین صورت می‌توان لقی فعالیت‌های دیگر را محاسبه نمود.
  • به این دلیل می‌توان فعالیت B را بدون ایجاد تاخیر در پروژه برای حدود 4 روز کاری با تاخیر انجام داد.


مزایای روش PERT


  • چارت PERT به صورت صریح وابستگی‌های بین عناصر ساختار تفکیک کار یا WBS را تعریف و قابل دیدن می‌کند (روابط اولویتی)
  • PERT باعث سادگی در شناسایی مسیر بحرانی و مشخص شدن آن می‌شود
  • PERT شناسایی شروع زود، شروع دیر و لقی هر فعالیت را ساده می‌کند
  • PERT به دلیل کاهش بالقوه مدت زمان پروژه در اثر درک بهتر وابستگی‌ها، باعث بهبود در همپوشانی فعالیت‌ها و وظایف در جاهایی که امکان‌پذیر است می‌شود
  • برای استفاده در تصمیم‌سازی، می‌توان حجم زیاد داده‌های پروژه را در دیاگرام سازمان‌دهی و ارائه نمود


معایب روش PERT

ممکن است به صورت بالقوه صدها هزار فعالیت و روابط وابستگی وجود داشته باشد

  • PERT برای پروژه‌های ساده‌تر به سادگی قابل مقیاس شدن نیست
  • نمودارهای شبکه می‌توانند به شدت بزرگ و سنگین شوند و نیاز به صفحات زیادی برای پرینت گرفتن و یا صفحات ویژه با سایز بسیار بزرگ دارند
  • فقدان چارچوب زمانی در بیشتر نمودارهای PERT/CPM باعث سختی در نشان دادن حالت آن می‌شود، با این وجود می‌توان از رنگ‌ها استفاده کرد (مثلا رنگ‌های خاص برای گره‌های تکمیل شده)
  • زمانی که نمودارهای PERT/CPM سنگین شوند، دیگر برای مدیریت پروژه کاربردی ندارند.


عدم اطمینان در زمان‌بندی پروژه

در زمان اجرای پروژه، یک پروژه واقعی هیچ‌گاه دقیقا بر اساس برنامه اجرا نمی‌شود که دلیل آن وجود عدم اطمینان (uncertainty) است. عدم اطمینان می‌تواند ابهام ناشی از تخمین موضوعی باشد که در معرض خطاهای انسانی است و یا تغییر‌پذیری ناشی از رویدادها و یا ریسک‌های پیش‌بینی نشده باشد. دلیل اصلی این که PERT اطلاعات غیر دقیقی درباره زمان تکمیل پروژه فراهم می‌کند همین عدم اطمینان در زمان‌بندی است. این عدم اطمینان آن‌قدر بزرگ است که باعث شود چنین تخمین‌هایی به اندازه کافی مفید نباشند.
یک احتمال برای به حداکثر رساند استحکام این روش این است که در زمان‌بندی بیس‌لاین یک حاشیه اطمینان وارد کنیم تا مشکلات پیش‌بینی نشده را جذب نماییم. به این کار زمان‌بندی پیش‌گیرانه (proactive scheduling) می‌گویند. یک زمان‌بندی کاملا پیش‌گیرانه بسیار آرمانی خواهد بود. به کار بردن حاشیه اطمینان در زمان‌بندی بیس‌لاین که امکان غلبه بر مشکلات احتمالی را می‌دهد منجر به یک زمان‌بندی بیس‌لاین با دهانه‌های بسیار بزرگ خواهد شد.
روش دوم،‌ زمان‌بندی واکنشی (reactive scheduling) است که روندهایی را برای واکنش به مشکلاتی که نمی‌توان آن‌ها را با زمان‌بندی بیس‌لاین جذب کرد تعریف می‌کند.

Pert_example_network_diagram_visio.jpg

یک دیاگرام شبکه تکمیل شده با استفاده از Microsoft Visio. مسیر بحرانی قرمز می‌باشد.
 

Similar threads

بالا