প্রয়োজনীয়তাসমূহ

প্রয়োজনীয়তাসমূহ নির্ধারণ করে একটি পণ্যকে কী করতে হবে — এটি একটি প্রকল্প বাস্তবায়নের ফলাফল সম্পর্কে নথিভুক্ত প্রত্যাশা। এই নথিতে গ্রাহকের পাশাপাশি ডেভেলপারের প্রত্যাশাগুলিও অন্তর্ভুক্ত থাকে, যা প্রোগ্রাম, এর কার্যাবলি এবং সামগ্রিকভাবে প্রকল্প সম্পর্কিত। প্রয়োজনীয়তাসমূহের মধ্যে বৈশিষ্ট্য, খরচ, সময়সূচি এবং ঝুঁকি অন্তর্ভুক্ত থাকে। এভাবে, প্রয়োজনীয়তাসমূহ হল আপনি কী উন্নয়ন করতে চান তার একটি বিবৃতি, অথবা প্রকল্প বাস্তবায়নের ফলে আপনি কী প্রত্যাশা করেন তার একটি নির্দিষ্ট পরিমাণগত বিবরণ। দুর্বল প্রয়োজনীয়তা নির্ধারণই প্রকল্প বাস্তবায়নের সময় সমস্যার প্রধান কারণ।

প্রয়োজনীয়তাসমূহ নির্দিষ্ট করে কী করতে হবে, কতটা ভালোভাবে করতে হবে এবং কোন সীমাবদ্ধতার অধীনে। প্রয়োজনীয়তাসমূহ ভুল হলে, প্রকল্প এবং পণ্য ত্রুটিপূর্ণ হবে। প্রয়োজনীয়তাসমূহ, সীমাবদ্ধতাসমূহ এবং অনুমানসমূহ সমস্যাকে অংশে বিভক্ত করে। এটিই প্রকল্পের সামগ্রিক সাফল্য নির্ধারণ করে।

প্রয়োজনীয়তার ধরন:

  • কার্যকরী প্রয়োজনীয়তাসমূহ নির্ধারণ করে একটি নির্দিষ্ট সিস্টেম উপাদানকে কী করতে হবে।
  • কার্যক্ষমতা প্রয়োজনীয়তাসমূহ সিস্টেম দ্বারা সম্পাদিত সংশ্লিষ্ট কার্যাবলির পরিমাণগত প্যারামিটার নির্ধারণ করে।
  • সীমাবদ্ধতা প্রয়োজনীয়তাসমূহ পরিচালনার পদ্ধতির সীমাবদ্ধতা, পরিবেশগত অবস্থা, নিরাপত্তা বিবেচনা, অথবা নিয়ন্ত্রক সম্মতি থেকে উদ্ভূত হয়।
  • যাচাইকরণ প্রয়োজনীয়তাসমূহ এই নিশ্চয়তা প্রদান করে যে সিস্টেমটি এর প্রকৃত পরিচালনার পরিবেশে নির্দিষ্ট বৈশিষ্ট্যসমূহের অধিকারী।
  • ইন্টারফেস প্রয়োজনীয়তাসমূহ সকল ইন্টারফেসের কার্যাবলি, বৈশিষ্ট্য, সহনশীলতা এবং সীমাবদ্ধতাসমূহ নির্ধারণ করে।
  • অপারেশনাল প্রয়োজনীয়তাসমূহ সিস্টেমের পরিচালনাগত প্রস্তুতি নির্দিষ্ট করে, সিস্টেমের কার্যকারিতার উপর দৃষ্টি নিবদ্ধ করে, পাশাপাশি সিস্টেমটি ব্যবহারকারীদের সাথে কীভাবে মিথস্ক্রিয়া করে তাও নির্ধারণ করে।

ইংরেজি-ভাষার সাহিত্যে, ভালো প্রয়োজনীয়তার বৈশিষ্ট্যগুলি মনে রাখার জন্য SMART সংক্ষিপ্ত রূপটি ব্যবহৃত হয়।

  • Specific (নির্দিষ্ট) — প্রয়োজনীয়তাসমূহকে অবশ্যই প্রকল্পের শুধুমাত্র একটি বৈশিষ্ট্য বা সিস্টেমের একটি বৈশিষ্ট্যের সমাধান করতে হবে। এগুলি কী করতে হবে এবং কতটা ভালোভাবে করতে হবে তার পরিভাষায় প্রণয়ন করা উচিত, কিন্তু কখনোই একটি সম্ভাব্য সমাধানের পরিভাষায় নয় — অর্থাৎ কীভাবে করতে হবে তার নয়।
  • Measurable (পরিমাপযোগ্য) — একটি পরিমাপযোগ্য প্যারামিটার বস্তুনিষ্ঠভাবে এবং পরিমাণগতভাবে প্রকাশ করা হয়।
  • Achievable (অর্জনযোগ্য) — একটি প্রয়োজনীয়তা যুক্তিসঙ্গত খরচে প্রযুক্তিগতভাবে অর্জনযোগ্য হতে হবে।
  • Relevant (প্রাসঙ্গিক) — একটি প্রয়োজনীয়তা সিস্টেমের নির্বাচিত স্তরের সাথে সামঞ্জস্যপূর্ণ হতে হবে।
  • Traceable (অনুসরণযোগ্য) — নিম্ন-স্তরের প্রয়োজনীয়তাসমূহকে অবশ্যই উচ্চ-স্তরের প্রয়োজনীয়তাসমূহ থেকে স্পষ্টভাবে উদ্ভূত হতে হবে এবং/অথবা তাদের দ্বারা সমর্থিত হতে হবে। “অভিভাবক” প্রয়োজনীয়তা ছাড়া প্রয়োজনীয়তাসমূহকে “এতিম” হিসেবে বিবেচনা করা হয় এবং সেগুলির বাস্তবায়নের প্রয়োজনীয়তা মূল্যায়ন করতে হবে।

প্রয়োজনীয়তা। কোনো প্রয়োজনীয়তার প্রয়োজন আছে কি না তা নিয়ে সন্দেহ থাকলে, কেবল জিজ্ঞাসা করুন: “এই প্রয়োজনীয়তাটি তালিকায় অন্তর্ভুক্ত না করলে সিস্টেমের কী ক্ষতি হবে?” যদি আপনার কাছে কোনো উত্তর না থাকে, তাহলে প্রয়োজনীয়তাটি সম্ভবত অপ্রয়োজনীয়।

যাচাইযোগ্যতা। একটি প্রয়োজনীয়তা প্রণয়ন করার সাথে সাথেই, এটি কীভাবে যাচাই করা যায় তা নির্ধারণ করা প্রয়োজন। এর জন্য, একটি উপযুক্ত সম্মতি মানদণ্ড নির্বাচন করতে হবে।

অর্জনযোগ্যতা। অর্জনযোগ্য হওয়ার জন্য, একটি প্রয়োজনীয়তা অতিরিক্ত সীমাবদ্ধতা সাপেক্ষে প্রদত্ত সময়সূচি ও বাজেটের মধ্যে প্রযুক্তিগতভাবে সম্ভবপর হতে হবে। কোনো প্রয়োজনীয়তার প্রযুক্তিগত সম্ভাব্যতা সম্পর্কে অনিশ্চয়তা থাকলে, একটি উপযুক্ত গবেষণা বা আরও অনুসন্ধান পরিচালনা করতে হবে। এরপরও অনিশ্চয়তা থেকে গেলে, একটি প্রয়োজনীয়তার পরিবর্তে একটি লক্ষ্য প্রণয়ন করা উচিত। এটি স্পষ্ট যে, একটি প্রয়োজনীয়তা প্রযুক্তিগতভাবে সম্ভবপর হলেও, খরচ, সময়সূচি, অথবা ওজনের মতো অন্যান্য সীমাবদ্ধতার কারণে এটি অর্জন করা অসম্ভব হতে পারে। যা সম্পন্ন করা অসম্ভব তার জন্য একটি প্রয়োজনীয়তা প্রণয়ন করা অর্থহীন; বাস্তববাদী হওয়া প্রয়োজন।

স্পষ্টতা। প্রতিটি প্রয়োজনীয়তাকে অবশ্যই একটি একক ধারণা প্রকাশ করতে হবে এবং সংক্ষিপ্ত ও সরল হতে হবে। প্রয়োজনীয়তাটি স্পষ্ট এবং দ্ব্যর্থহীন হওয়া গুরুত্বপূর্ণ। ভালো প্রয়োজনীয়তার জন্য প্রায়শই সরল বাক্যের বেশি কিছুর প্রয়োজন হয় না।

একটি প্রয়োজনীয়তা ইতিবাচক পদ্ধতিতে বিবৃত করা উচিত এবং কখনোই নেতিবাচক শব্দ দিয়ে শুরু করা উচিত নয়। এটি ব্যাকরণগতভাবে সঠিক হতে হবে এবং টাইপোগ্রাফিক ত্রুটি ও বাদ পড়া অংশ মুক্ত হতে হবে। সিস্টেম-এর সকল স্তরে সামঞ্জস্যপূর্ণ পরিভাষা ব্যবহার করতে হবে।