مرکزی مواد پر جائیں

ٹاسک کے انحصارات کی وضاحت

انحصارات کام کی منطقی ترتیب طے کرتے ہیں۔ یہ کسی بھی Gantt چارٹ کی ریڑھ کی ہڈی ہیں اور شیڈولنگ سافٹ ویئر کے وجود کی وجہ بھی — ان کے بغیر یہ دستی طور پر دیکھنا ناممکن ہے کہ ایک ٹاسک میں تاخیر کس طرح 50 دوسرے ٹاسکس تک پھیلتی ہے۔

انحصارات کیوں اہم ہیں

جب آپ ٹاسکس کو انحصارات کے ذریعے جوڑتے ہیں تو LoopGantt محض ایک کیلنڈر نہیں رہتا بلکہ شیڈولنگ انجن بن جاتا ہے۔ کسی ٹاسک کا دورانیہ بدلیں یا کوئی تاریخ آگے پیچھے کریں، اور بعد کا پورا شیڈول فوراً دوبارہ حساب ہو جاتا ہے۔ اسے شیڈول کیسکیڈ کہتے ہیں، اور یہ دائرہ کار میں ناگزیر تبدیلیوں کے بعد دستی طور پر دوبارہ منصوبہ بندی کے گھنٹوں بچاتا ہے۔

انحصارات آپ کے پروجیکٹ کا کریٹیکل پاتھ بھی ظاہر کرتے ہیں — ایک دوسرے پر منحصر ٹاسکس کا سب سے لمبا سلسلہ۔ کریٹیکل پاتھ پر کوئی بھی تاخیر پروجیکٹ کی اختتامی تاریخ کو آگے دھکیل دیتی ہے۔ جو ٹاسکس کریٹیکل پاتھ پر نہیں ہوتے ان کے پاس فلوٹ (سلیک) ہوتا ہے — وہ ڈیلیوری کی تاریخ کو متاثر کیے بغیر پیچھے کھسک سکتے ہیں۔

انحصار کی چار اقسام

FS — اختتام تا آغاز (سب سے عام)

Task A ████████
                Task B ████████
ٹاسک B اس وقت تک شروع نہیں ہو سکتا جب تک ٹاسک A ختم نہ ہو جائے۔

ترتیب وار کام کے لیے استعمال کریں: «رپورٹ لکھیں» ← «رپورٹ کا جائزہ لیں»۔ یہ ڈیفالٹ قسم ہے اور حقیقی دنیا کے تقریباً ~80% انحصارات اسی میں آتے ہیں۔

SS — آغاز تا آغاز

Task A ████████████
   Task B    ████████
ٹاسک B اس وقت تک شروع نہیں ہو سکتا جب تک ٹاسک A شروع نہ ہو جائے۔

ایسے متوازی کام کے لیے استعمال کریں جو ایک ساتھ شروع ہو سکتا ہو مگر اس میں ہم آہنگی ضروری ہو۔ مثال: «آرکیٹیکچر ڈیزائن» اور «API اسپیسفکیشن» ایک ہی وقت میں شروع ہو سکتے ہیں، لیکن اسپیسفکیشن کے لیے ضروری ہے کہ آرکیٹیکچر کا کام شروع ہو چکا ہو۔

یہ کہنے کے لیے کہ «B، A کے شروع ہونے کے 3 دن بعد شروع ہوتا ہے» ایک وقفہ (SS+3) شامل کریں — یہ اس وقت مفید ہے جب B کے شروع ہونے سے پہلے A کا کچھ حصہ مکمل ہونا ضروری ہو۔

FF — اختتام تا اختتام

Task A ████████████
      Task B ████████
ٹاسک B اس وقت تک ختم نہیں ہو سکتا جب تک ٹاسک A ختم نہ ہو جائے۔

اس وقت استعمال کریں جب دو ٹاسکس کو ایک ساتھ مکمل ہونا ہو۔ مثال: «QA ٹیسٹنگ» اور «بیٹا ٹیسٹنگ» ایک ہی وقت پر ختم ہونی چاہئیں تاکہ ٹیم مل کر سبمیشن کی طرف بڑھ سکے۔

SF — آغاز تا اختتام (نایاب)

             Task A ████████
Task B ████████
ٹاسک B اس وقت تک ختم نہیں ہو سکتا جب تک ٹاسک A شروع نہ ہو جائے۔

سب سے نایاب قسم۔ جسٹ اِن ٹائم اور شفٹ کی حوالگی جیسی صورتوں میں مفید۔ مثال: رات کی شفٹ کا کارکن (B) اس وقت تک نہیں جا سکتا جب تک دن کی شفٹ کا کارکن (A) نہ آ جائے۔ زیادہ تر سافٹ ویئر پروجیکٹس میں آپ کو SF کی شاذ و نادر ہی ضرورت پڑے گی۔

وقفہ اور پیشگی وقت

ہر انحصار میں وقفہ (مثبت عدد) یا پیشگی وقت (منفی عدد) ہو سکتا ہے:

علامتمطلب
FS+2A کے ختم ہونے کے 2 دن بعد B شروع ہوتا ہے
FS-1A کے ختم ہونے سے 1 دن پہلے B شروع ہوتا ہے (اوورلیپ)
SS+5A کے شروع ہونے کے 5 دن بعد B شروع ہوتا ہے
FF+0B ٹھیک اسی وقت ختم ہوتا ہے جب A ختم ہوتا ہے

پیشگی وقت (منفی وقفہ) آپ کو حقیقت پسندانہ متوازی کام کا ماڈل بنانے دیتا ہے — مثلاً ڈیولپمنٹ کے باضابطہ طور پر ختم ہونے سے 2 دن پہلے انٹیگریشن ٹیسٹنگ شروع کرنا۔

LoopGantt کے اصول

  • مراحل کے انحصارات نہیں ہو سکتے۔ اس کے بجائے مراحل کے اندر موجود ٹاسکس کو جوڑیں۔
  • دائری انحصارات (A → B → A) خود بخود پکڑے جاتے ہیں اور مسترد کر دیے جاتے ہیں۔
  • ایک ٹاسک کے کئی پیش رو ہو سکتے ہیں — یہ صرف اس وقت شروع ہو گا جب تمام پیش رو اپنی شرائط پوری کر لیں۔

انحصار شامل کرنے کا طریقہ

  1. ٹاسک ایڈیٹر کھولنے کے لیے بعد والے (successor) ٹاسک پر کلک کریں۔
  2. انحصارات سیکشن پر جائیں۔
  3. پیش رو منتخب کریں… کھولیں اور پیش رو ٹاسک چنیں۔
  4. قسم (FS/SS/FF/SF) منتخب کرنے کے لیے اس کے قسم والے بیج پر کلک کریں، اور وقفے کے دن مقرر کرنے کے لیے اس کے وقفے پر کلک کریں (اختیاری)۔
  5. ایڈیٹر بند کریں۔ تبدیلیاں کرتے ہی محفوظ ہو جاتی ہیں، اور چارٹ کا شیڈول فوراً دوبارہ ترتیب پا جاتا ہے۔

آپ Gantt پر براہِ راست انحصار کی لائن ڈریگ بھی کر سکتے ہیں: کسی بار کے دائیں کنارے پر ماؤس لے جائیں یہاں تک کہ کنیکٹر کا آئیکن ظاہر ہو، پھر اسے ہدف ٹاسک تک ڈریگ کریں۔

کیا یہ مضمون مددگار تھا؟