মূল কনটেন্টে যান

টাস্কের নির্ভরতার ব্যাখ্যা

নির্ভরতা কাজের যৌক্তিক ক্রম নির্ধারণ করে। এগুলো যেকোনো গ্যান্ট চার্টের মেরুদণ্ড, আর শিডিউলিং সফটওয়্যারের অস্তিত্বের কারণও এগুলোই — এগুলো ছাড়া একটি টাস্কের দেরি আরও ৫০টি টাস্কে কীভাবে ছড়িয়ে পড়ে, তা হাতে হিসাব রাখা অসম্ভব।

নির্ভরতা কেন গুরুত্বপূর্ণ

টাস্কগুলোকে নির্ভরতা দিয়ে যুক্ত করলে LoopGantt শুধু একটি ক্যালেন্ডার থাকে না, হয়ে ওঠে একটি শিডিউলিং ইঞ্জিন। কোনো টাস্কের সময়কাল বদলান বা একটি তারিখ সরান — পরবর্তী পুরো সময়সূচি সঙ্গে সঙ্গে নতুন করে হিসাব হয়ে যায়। একে বলে শিডিউল ক্যাসকেড, আর অনিবার্য পরিধি-পরিবর্তনের পরে এটি হাতে-কলমে নতুন পরিকল্পনার ঘণ্টার পর ঘণ্টা বাঁচিয়ে দেয়।

নির্ভরতা আপনার প্রকল্পের ক্রিটিক্যাল পাথ-ও দেখিয়ে দেয় — পরস্পরনির্ভর টাস্কের দীর্ঘতম শৃঙ্খল। ক্রিটিক্যাল পাথে যেকোনো দেরি প্রকল্পের শেষের তারিখও পিছিয়ে দেয়। যে টাস্কগুলো ক্রিটিক্যাল পাথে নেই, সেগুলোর ফ্লোট (স্ল্যাক) থাকে — ডেলিভারির তারিখে প্রভাব না ফেলেই সেগুলো কিছুটা পিছিয়ে যেতে পারে।

চার ধরনের নির্ভরতা

FS — শেষ-থেকে-শুরু (সবচেয়ে প্রচলিত)

Task A ████████
                Task B ████████
টাস্ক A শেষ না হওয়া পর্যন্ত টাস্ক B শুরু হতে পারে না।

ক্রমানুসারী কাজের জন্য ব্যবহার করুন: “রিপোর্ট লিখুন” → “রিপোর্ট পর্যালোচনা করুন”। এটিই ডিফল্ট ধরন এবং বাস্তবের ~৮০% নির্ভরতা এতেই পড়ে।

SS — শুরু-থেকে-শুরু

Task A ████████████
   Task B    ████████
টাস্ক A শুরু না হওয়া পর্যন্ত টাস্ক B শুরু হতে পারে না।

এমন সমান্তরাল কাজের জন্য ব্যবহার করুন, যা একসঙ্গে শুরু হতে পারে কিন্তু সমন্বয় দরকার। উদাহরণ: “আর্কিটেকচার ডিজাইন” আর “API স্পেসিফিকেশন” একই সময়ে শুরু হতে পারে, কিন্তু স্পেসিফিকেশন নির্ভর করে আর্কিটেকচারের কাজ চলমান থাকার ওপর।

“A শুরু হওয়ার ৩ দিন পরে B শুরু হয়” বোঝাতে একটি বিরতি (SS+3) যোগ করুন — B শুরুর আগে A-এর কিছু অংশ শেষ হওয়া দরকার হলে এটি কাজে লাগে।

FF — শেষ-থেকে-শেষ

Task A ████████████
      Task B ████████
টাস্ক A শেষ না হওয়া পর্যন্ত টাস্ক B শেষ হতে পারে না।

দুটি টাস্ক একসঙ্গে শেষ হওয়া দরকার হলে ব্যবহার করুন। উদাহরণ: “QA টেস্টিং” আর “বিটা টেস্টিং” একই সময়ে শেষ হওয়া উচিত, যাতে দল একসঙ্গে সাবমিশনের দিকে এগোতে পারে।

SF — শুরু-থেকে-শেষ (বিরল)

             Task A ████████
Task B ████████
টাস্ক A শুরু না হওয়া পর্যন্ত টাস্ক B শেষ হতে পারে না।

সবচেয়ে বিরল ধরন। জাস্ট-ইন-টাইম ও শিফট-হস্তান্তরের ক্ষেত্রে কাজে লাগে। উদাহরণ: দিনের শিফটের কর্মী (A) না আসা পর্যন্ত রাতের শিফটের কর্মী (B) যেতে পারেন না। বেশিরভাগ সফটওয়্যার প্রকল্পে SF আপনার কদাচিৎ দরকার হবে।

বিরতি ও আগাম সময়

প্রতিটি নির্ভরতায় একটি বিরতি (ধনাত্মক সংখ্যা) বা আগাম সময় (ঋণাত্মক সংখ্যা) থাকতে পারে:

সংকেতঅর্থ
FS+2A শেষ হওয়ার ২ দিন পরে B শুরু হয়
FS-1A শেষ হওয়ার ১ দিন আগে B শুরু হয় (ওভারল্যাপ)
SS+5A শুরু হওয়ার ৫ দিন পরে B শুরু হয়
FF+0A যখন শেষ হয়, B-ও ঠিক তখনই শেষ হয়

আগাম সময় (ঋণাত্মক বিরতি) দিয়ে আপনি বাস্তবসম্মত সমান্তরাল কাজ মডেল করতে পারেন — যেমন, ডেভেলপমেন্ট আনুষ্ঠানিকভাবে শেষ হওয়ার ২ দিন আগেই ইন্টিগ্রেশন টেস্টিং শুরু করা।

LoopGantt-এর নিয়ম

  • পর্যায়ের কোনো নির্ভরতা থাকতে পারে না। তার বদলে পর্যায়ের ভেতরের টাস্কগুলো যুক্ত করুন।
  • চক্রাকার নির্ভরতা (A → B → A) আপনা থেকেই শনাক্ত ও প্রত্যাখ্যাত হয়।
  • একটি টাস্কের একাধিক পূর্বসূরি থাকতে পারে — সব পূর্বসূরি তাদের শর্ত পূরণ করার পরেই সেটি শুরু হবে।

কীভাবে নির্ভরতা যোগ করবেন

  1. টাস্ক এডিটর খুলতে উত্তরসূরি টাস্কে ক্লিক করুন।
  2. নির্ভরতা অংশে যান।
  3. পূর্বসূরি নির্বাচন করুন… খুলে পূর্বসূরি টাস্কটি বেছে নিন।
  4. ধরন (FS/SS/FF/SF) বেছে নিতে তার ধরনের ব্যাজে, আর বিরতির দিন নির্ধারণ করতে তার বিরতিতে ক্লিক করুন (ঐচ্ছিক)।
  5. এডিটর বন্ধ করুন। পরিবর্তন করার সঙ্গে সঙ্গেই সেগুলো সংরক্ষিত হয়, আর চার্টের সময়সূচি তখনই নতুন করে সাজানো হয়।

আপনি গ্যান্টে সরাসরি একটি নির্ভরতার রেখা টেনেও তৈরি করতে পারেন: কোনো বারের ডান প্রান্তে পয়েন্টার রাখুন যতক্ষণ না সংযোগের আইকন দেখা যায়, তারপর সেটি লক্ষ্য টাস্ক পর্যন্ত টেনে আনুন।

এই নিবন্ধটি কি সহায়ক ছিল?