আনুমান হলো একটি কাজ সম্পূর্ণ করতে, ফিচার ডেভেলপ করতে বা পুরো প্রকল্প সরবরাহ করতে প্রয়োজনীয় প্রচেষ্টার পরিমাণগত মূল্যায়ন। মোবাইল ডেভেলপমেন্টে, আনুমান ব্যবহার করা হয় স্প্রিন্ট পরিকল্পনা, খরচ নির্ধারণ এবং ক্লায়েন্টের প্রত্যাশা ব্যবস্থাপনার জন্য। Project Management Institute, 2024 অনুসারে, প্রকল্পের প্রাথমিক পর্যায়ে আনুমান ত্রুটি 100% পর্যন্ত পৌঁছাতে পারে, যা আনুমানকে ডেভেলপমেন্টের সবচেয়ে কঠিন শাখাগুলির একটি করে তোলে।
মুখ্য বিষয়
আনুমান (ইংরেজি estimate থেকে — মূল্যায়ন) হলো একটি কাজ সম্পূর্ণ করতে প্রয়োজনীয় সময় বা প্রচেষ্টার পরিমাণের পূর্বাভাস। মোবাইল ডেভেলপমেন্টে, আনুমান ঘন্টা, দিন, স্টোরি পয়েন্ট বা আর্থিক পরিভাষায় প্রকাশ করা যেতে পারে। আনুমানের উদ্দেশ্য সঠিক ভবিষ্যদ্বাণী নয়, বরং সিদ্ধান্ত গ্রহণের জন্য অনিশ্চয়তা কমানো।
আনুমান হলো ত্রুটির সম্ভাবনা সহ একটি পূর্বাভাস। প্রতিশ্রুতি হলো একটি নির্দিষ্ট তারিখের মধ্যে কাজ সম্পূর্ণ করার অঙ্গীকার। পার্থক্যটি গুরুত্বপূর্ণ: আনুমান বলে «সম্ভবত ৫ দিন», প্রতিশ্রুতি বলে «আমরা এটি ৫ দিনে করব»। ব্যবস্থাপকরা প্রায়শই এই ধারণাগুলিকে গুলিয়ে ফেলেন, আনুমানকে ত্রুটির কোনো সুযোগ ছাড়াই সময়সীমায় পরিণত করেন।
আনুমান প্রক্রিয়াটি এর ফলাফলের চেয়ে কম গুরুত্বপূর্ণ নয়। যখন দল একটি কাজের আনুমান নিয়ে আলোচনা করে, তখন লুকানো প্রয়োজনীয়তা, নির্ভরতা এবং ঝুঁকি সামনে আসে।即使 চূড়ান্ত সংখ্যাটি ভুল হলেও, আলোচনা সমস্ত অংশগ্রহণকারীদের কাজটি বুঝতে সাহায্য করে। এই কারণেই দলগত আনুমান পদ্ধতি (Planning Poker) ব্যক্তিগত পদ্ধতির চেয়ে বেশি কার্যকর।
বেশ কয়েকটি আনুমান পদ্ধতি বিদ্যমান, প্রতিটি প্রকল্পের বিভিন্ন পর্যায় এবং বিবরণের স্তরের জন্য উপযুক্ত। পদ্ধতির পছন্দ উপলব্ধ তথ্য এবং প্রয়োজনীয় নির্ভুলতার উপর নির্ভর করে।
| পদ্ধতি | ধরন | নির্ভুলতা | কখন ব্যবহার করবেন |
|---|---|---|---|
| Planning Poker | বিশেষজ্ঞ, দলগত | উচ্চ (স্প্রিন্টে) | স্প্রিন্ট কাজের আনুমান |
| T-Shirt sizing | বিশেষজ্ঞ, দ্রুত | মধ্যম | প্রাথমিক এপিক আনুমান |
| সাদৃশ্যমূলক আনুমান | ইতিহাস-ভিত্তিক | মধ্যম | অতীতের অনুরূপ কাজ |
| তিন-বিন্দু (PERT) | সম্ভাব্যতাভিত্তিক | গড়ের উপরে | উচ্চ অনিশ্চয়তার কাজ |
| প্যারামেট্রিক | সূত্র-ভিত্তিক | তথ্যের ওপর নির্ভরশীল | পুনরাবৃত্তিমূলক পরিমাপযোগ্য কাজ |
Planning Poker হলো Agile-এ সবচেয়ে জনপ্রিয় আনুমান পদ্ধতি। প্রতিটি ডেভেলপার ফিবোনাচি সংখ্যা (1, 2, 3, 5, 8, 13, 21) সম্বলিত কার্ডের একটি ডেক পান। কাজ নিয়ে আলোচনার পর, সবাই একসাথে তাদের কার্ড দেখান। যদি আনুমান ভিন্ন হয়, তাহলে সর্বনিম্ন এবং সর্বোচ্চ আনুমানযুক্ত ডেভেলপাররা তাদের যুক্তি ব্যাখ্যা করেন, তারপর পুনরায় ভোট হয়। এই পদ্ধতি কর্তৃত্বের পক্ষপাত দূর করে এবং আরও নির্ভুল আনুমান দেয়।
T-Shirt sizing হলো টি-শার্টের আকার (XS, S, M, L, XL, XXL) অনুসারে মোটামুটি আনুমান। এই পদ্ধতিটি বড় কাজের (এপিক) দ্রুত আনুমানের জন্য প্রাথমিক পর্যায়ে ব্যবহার করা হয় যখন বিবরণ অজানা থাকে। পরে, এই জাতীয় প্রতিটি কাজ বিভাজিত করা হয় এবং Planning Poker-এ আনুমান করা হয়। T-Shirt sizing প্রতি কাজে ৫-১০ মিনিট সময় নেয়, কিন্তু শুধুমাত্র মাত্রার ক্রম প্রদান করে।
PERT তিনটি আনুমান ব্যবহার করে: আশাবাদী (O), হতাশাবাদী (P), এবং সবচেয়ে সম্ভাব্য (M)। চূড়ান্ত আনুমান সূত্র (O + 4M + P) / 6 দ্বারা গণনা করা হয়। এই পদ্ধতি অনিশ্চয়তা বিবেচনায় নেয় এবং একক আনুমানের চেয়ে বেশি বাস্তবসম্মত ফলাফল দেয়। PERT বিশেষ করে উচ্চ ঝুঁকি বা নতুন প্রযুক্তির কাজের জন্য উপযোগী।
আনুমানের নির্ভুলতা প্রকল্পের পর্যায় এবং জানা তথ্যের পরিমাণের ওপর নির্ভর করে। যত তাড়াতাড়ি আনুমান করা হয়, ত্রুটির পরিধি তত বেশি — এটি স্বাভাবিক এবং পরিকল্পনায় বিবেচনা করা উচিত।
অনিশ্চয়তার শঙ্কু (Cone of Uncertainty) একটি মডেল যা বর্ণনা করে যে প্রকল্প অগ্রসর হওয়ার সাথে সাথে আনুমান ত্রুটি কীভাবে কমে। ধারণা পর্যায়ে, ত্রুটির পরিধি 400% (একটি কাজ 1 থেকে 4 মাস সময় নিতে পারে)। স্প্রিন্ট পর্যায়ে, এটি 20% (1-1.2 মাস) হয়। এই মডেল বোঝা প্রাথমিক পর্যায়ে সঠিক আনুমান দাবি না করতে সাহায্য করে।
আপেক্ষিক আনুমান (স্টোরি পয়েন্টে) পরম আনুমানের (ঘন্টায়) চেয়ে বেশি নির্ভুল কারণ মানুষ সময় আনুমান করার চেয়ে কাজ তুলনা করতে বেশি পারদর্শী। «এই কাজটি ওটির চেয়ে দ্বিগুণ জটিল» «এই কাজটি ৮ ঘন্টা সময় নেবে» এর চেয়ে বেশি নির্ভরযোগ্য রায়। আপেক্ষিক আনুমান কোনো নির্দিষ্ট ডেভেলপারের ওপর নির্ভর করে না এবং নির্বাহক পরিবর্তন হলে নির্ভুলতা বজায় রাখে।
আনুমানের নির্ভুলতা পদ্ধতিগত পদ্ধতি, দলগত আলোচনা এবং অতীতের ভুল বিশ্লেষণের মাধ্যমে উন্নত করা যেতে পারে। বেশ কিছু প্রমাণিত অভ্যাস আছে।
২ দিনের বেশি আনুমান করা যেকোনো কাজকে উপ-কাজে বিভাজিত করা উচিত। নীতি: যদি একটি কাজ ৫০% এর বেশি নির্ভুলতার সাথে আনুমান করা না যায়, তবে এটি খুব বড়। এটিকে ধাপে ভাগ করুন, যার প্রতিটি বোধগম্য এবং আনুমানযোগ্য। বিভাজনের পর, মোট আনুমান প্রায়শই প্রাথমিক আনুমানের চেয়ে ১.৫-২ গুণ বড় হয়।
আনুমানের ইতিহাস বজায় রাখুন এবং প্রকৃত প্রচেষ্টার সাথে তুলনা করুন। উদাহরণ: «৩ স্টোরি পয়েন্টে আনুমান করা কাজ গড়ে ৪ দিন সময় নেয়, ২ নয়»। পূর্বাভাসের জন্য দলের velocity ব্যবহার করুন: যদি দল প্রতি স্প্রিন্টে ২০ স্টোরি পয়েন্ট সম্পূর্ণ করে, তাহলে ৩০ পরিকল্পনা করবেন না। অতীতের আনুমান নির্ভুলতার বিশ্লেষণ আনুমান দক্ষতার জন্য সেরা প্রশিক্ষণ।
নোঙ্গর একটি মনস্তাত্ত্বিক প্রভাব যেখানে প্রথম উচ্চারিত আনুমান সমস্ত অংশগ্রহণকারীদের প্রভাবিত করে। Planning Poker-এ নোঙ্গর এড়াতে, সবাই পালাক্রমে নয় বরং একসাথে তাদের কার্ড দেখান। ক্রমাঙ্কন হলো আনুমানের প্রকৃত ফলাফলের সাথে নিয়মিত তুলনা: ১০-২০ স্প্রিন্টের পর, দল প্রতিক্রিয়ার মাধ্যমে আরও নির্ভুল আনুমান করতে শেখে।
প্রতিটি কাজে লুকানো ঝুঁকি থাকে: ডেভেলপারের অসুস্থতা, API সমস্যা, প্রয়োজনীয়তা পরিবর্তন। আপনার আনুমানে ঝুঁকি-সমন্বিত ফ্যাক্টর যোগ করুন: উচ্চ ঝুঁকির কাজের জন্য ১.৫-২ এর গুণক, কম ঝুঁকির জন্য ১.১-১.২। ক্লায়েন্টকে স্বচ্ছভাবে দেখান কোন ঝুঁকিগুলি বিবেচনায় নেওয়া হয়েছে এবং সেগুলি সময়সীমাকে কীভাবে প্রভাবিত করে।
আনুমানের ভুলগুলি বেশিরভাগ দলে পুনরাবৃত্তি হয়, তাদের পরিপক্কতা নির্বিশেষে। এই ভুলগুলি জানা সেগুলি সংশোধনের প্রথম পদক্ষেপ।
সবচেয়ে সাধারণ ভুল হলো সর্বোত্তম পরিস্থিতি অনুসারে আনুমান করা: «যদি সবকিছু নিখুঁতভাবে হয়, আমরা এটি ৩ দিনে করব»। বাস্তবে, কিছুই নিখুঁতভাবে হয় না: বাগ, প্রয়োজনীয়তা নিয়ে প্রশ্ন, নির্ভরশীল কাজ। সমাধান: আশাবাদীর পরিবর্তে সবচেয়ে সম্ভাব্য পরিস্থিতি অনুসারে আনুমান করুন। পরিবর্তনশীলতা বিবেচনায় নিতে PERT ব্যবহার করুন।
যখন ব্যবস্থাপক বলেন «আমাদের শুক্রবারের মধ্যে দরকার», ডেভেলপার অবচেতনভাবে সেই সময়সীমার সাথে আনুমান সামঞ্জস্য করেন। চাপের মধ্যে আনুমান সবসময় কম হয় এবং সময়সীমা মিস করে। সমাধান: আনুমান সময়সীমার আগে হওয়া উচিত, উল্টো নয়। প্রথমে দল আনুমান করে, তারপর পক্ষগুলি সময়সীমায় সম্মত হয়।
কাজের জটিলতা (কতটা ভাবতে হবে) এবং সময় (কতটা করতে হবে) ভিন্ন মেট্রিক। একটি কাজ সহজ কিন্তু সময়সাপেক্ষ হতে পারে (১০টি স্ক্রিন তৈরি করা) বা জটিল কিন্তু দ্রুত (লিগ্যাসি কোডে বাগ খুঁজে পাওয়া)। স্টোরি পয়েন্ট সাধারণত জটিলতা আনুমান করে, যখন সময় দলের velocity থেকে প্রাপ্ত হয়।
একজন ডেভেলপার একটানা ৮ ঘন্টা একটি কাজে কাজ করেন না: মিটিং, কোড পর্যালোচনা, সহকর্মীদের সাহায্য এবং প্রশাসনিক কাজ কাজের সময়ের ৩০-৫০% গ্রাস করে। প্রসঙ্গ পরিবর্তন আনুমানে বিবেচনায় নেওয়া উচিত: বাস্তবে, একজন ডেভেলপার প্রতিদিন ৩-৪ ঘন্টা কোড লেখেন।
প্রায়শই জিজ্ঞাসিত প্রশ্ন
ডেভেলপমেন্ট উচ্চ অনিশ্চয়তা সহ একটি সৃজনশীল প্রক্রিয়া। নির্মাণ বা উৎপাদনের বিপরীতে, যেখানে প্রতিটি পদক্ষেপ জানা, আইটিতে প্রতিটি কাজ অনন্য। অজানা অজানা (unknown unknowns) ভুলের প্রধান কারণ। এমনকি অভিজ্ঞ দলও ৩০-৫০% আনুমানে ভুল করে। এটি স্বাভাবিক এবং পরিকল্পনায় বিবেচনা করা উচিত।
স্টোরি পয়েন্ট স্প্রিন্ট পরিকল্পনার জন্য ভাল কারণ এগুলি আপেক্ষিক এবং নির্বাহকের ওপর নির্ভর করে না। ঘন্টা চুক্তি এবং বাহ্যিক প্রতিবেদনের জন্য প্রয়োজনীয় কিন্তু কম নির্ভুল। সর্বোত্তম সংমিশ্রণ: কাজগুলি স্টোরি পয়েন্টে আনুমান করা হয়, এবং সময়সীমা দলের velocity এর মাধ্যমে ক্যালেন্ডার দিনে রূপান্তরিত হয়।
অজানা প্রযুক্তির কাজের জন্য, প্রথমে Spike (সময়-বদ্ধ গবেষণা) ব্যবহার করুন। গবেষণার পর, দল জটিলতা বুঝতে পারে এবং বাস্তবসম্মত আনুমান দিতে পারে। সাধারণ আনুমানে ২-৩ এর গুণক প্রয়োগ করুন এবং অপ্রত্যাশিত সমস্যার জন্য ৫০% বাফার যোগ করুন।
ভাঙ্গন দেখান — কাজটি পৃথক আনুমান সহ উপ-কাজে ভাগ করুন। ব্যাখ্যা করুন সময় কী নিয়ে গঠিত: ডেভেলপমেন্ট, পরীক্ষা, কোড পর্যালোচনা, ডকুমেন্টেশন। বিকল্প প্রস্তাব করুন: পরিধি কমান, কার্যকারিতা সরল করুন, বা ধাপে ভাগ করুন। প্রয়োজনীয়তা না বদলিয়ে কখনও আনুমান কমানো যাবে না।
পুনর্মূল্যায়ন প্রয়োজন যখন কাজ সম্পর্কে নতুন তথ্য আসে: অতিরিক্ত প্রয়োজনীয়তা আবিষ্কৃত হয়, প্রযুক্তিগত সীমাবদ্ধতা পাওয়া যায়, বা অগ্রাধিকার পরিবর্তন হয়। স্প্রিন্টের মধ্যে, কাজগুলি পুনর্মূল্যায়ন করা হয় না — ফোকাস সম্পূর্ণ করার ওপর। স্প্রিন্টের মধ্যে, grooming এর সময় ব্যাকলগ পুনর্মূল্যায়ন করা হয়।
সারাংশ
আমরা একটি মোবাইল অ্যাপ্লিকেশন টার্নকি তৈরি করব
IT Sectr 2017 সাল থেকে স্টার্টআপ এবং ব্যবসার জন্য iOS এবং Android অ্যাপ্লিকেশন তৈরি করে। আমরা আপনাকে পরামর্শ দেব এবং সেরা সমাধান প্রস্তাব করব।
আরও পড়ুন