০৩ ফেব, ২০২৬·6 মিনিট পড়তে

নমনীয় অনুমোদন নীতির জন্য সীমা-ভিত্তিক রাউটিং

সীমা-ভিত্তিক রাউটিং দলগুলোকে পরিমাণ, বিভাগ বা অঞ্চলের ভিত্তিতে অনুমোদন নিয়ম টেবিলে রাখার সুযোগ দেয়, ফলে নীতি পরিবর্তনে কোড এডিটের প্রয়োজন পড়ে না।

নমনীয় অনুমোদন নীতির জন্য সীমা-ভিত্তিক রাউটিং

কেন হার্ড-কোডেড অনুমোদন নিয়ম ভেঙে পড়ে

হার্ড-কোডেড অনুমোদন নিয়ম প্রথমদিকে ভালো মনে হয়। একজন ডেভেলপার কয়েকটি শর্ত যোগ করে, ওয়ার্কফ্লো চলে, এবং দল আগায়।

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

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

গোপন এক্সসেপশনগুলো পরিস্থিতিকে আরো খারাপ করে। সময়ের সাথে দলগুলো এক-অফ নিয়ম যোগ করে: “যদি পরিমাণ $5,000-এর বেশি এবং বিভাগ হলো Sales, Director A-কে পাঠাও” বা “যদি অনুরোধটি ইউরোপ থেকে আসে, এই ধাপ স্কিপ করো।” যখন ঐ নিয়মগুলো ওয়ার্কফ্লোর গভীরে থাকে, কেবল কয়েকজনই সেগুলো দেখতে পারে।

তার ফলে সাধারণ প্রশ্নগুলোও কঠিন হয়ে উঠে:

  • নির্দিষ্ট পরিমাণের উপরে কে ক্রয় অনুমোদন করে?
  • Marketing কি Operations-এর সাথে একই নীতি মেনে চলে?
  • অন্য কোনো অঞ্চলে কী হয়?
  • কোন এক্সসেপশনটি গত ত্রৈমাসিকে যোগ করা হয়েছিল?

যখন কেউ সম্পূর্ণ নিয়ম সেট দেখতে পারে না, ভুল দেখা দেয়। কেউ মনে করে সে নীতি মেনে চলছে, কিন্তু অ্যাপটি এখনও পুরোনো নিয়ম ব্যবহার করছে। একজন নতুন ম্যানেজার এমন অনুরোধ পায় যা তাকে দেখা উচিত নয়, যখন প্রকৃত অনুমোদক বাদ পড়ে যায়।

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

একটি সাধারণ ব্যয় নীতির কল্পনা করুন। $1,000-এর নিচের অনুরোধ টিম লিডের কাছে যায়, $1,000 থেকে $10,000 বিভাগ প্রধানের কাছে যায়, এবং এর উপরে সবকিছু ফাইন্যান্সে যায়। এই সীমাগুলো যদি পরের মাসে বদলে যায়, ব্যবসায়ীর জন‍্য অনুমোদন চলমান রাখতে ডেভেলপার দরকার হওয়া উচিত নয়।

হার্ড-কোডিং সাধারণ নীতি আপডেটকে সফটওয়্যার প্রকল্পে পরিণত করে। এটাই প্রকৃত খরচ।

থ্রেশহোল্ড-ভিত্তিক রাউটিং মানে কী

থ্রেশহোল্ড-ভিত্তিক রাউটিং মানে অনুমোদন পথ সেই মানগুলোর ওপর পরিবর্তিত হয় যেগুলো আপনি আগেই সংজ্ঞায়িত করেছেন। একটি থ্রেশহোল্ড হলো একটি সীমা, যেমন $1,000-এর বেশি পরিমাণ, Finance বিভাগ থেকে আগত অনুরোধ, বা ইউরোপে করা একটি ক্রয়।

এসব নিয়ম সরাসরি অ্যাপে লেখার বদলে, আপনি সেগুলো টেবিলে সংরক্ষণ করেন। ওয়ার্কফ্লো টেবিল পড়ে, মিল থাকা নিয়ম খুঁজে পায়, এবং অনুরোধটি সঠিক ব্যক্তির কাছে পাঠায়।

একটি মৌলিক সেটআপ এরকম দেখাতে পারে:

  • $500-এর নিচের অনুরোধ টিম লিডের কাছে যায়।
  • $500 থেকে $5,000-এর অনুরোধ বিভাগ ম্যানেজারের কাছে যায়।
  • $5,000-এর উপরের অনুরোধ ডিরেক্টরের কাছে যায়।
  • HR অনুরোধ একটি পথ মেনে চলে, আর IT অনুরোধ অন্য একটি পথ।
  • নর্থ আমেরিকা এবং EMEA-এর জন্য ভিন্ন অনুমোদক থাকতেই পারে।

প্রক্রিয়া একই থাকে, কিন্তু তা নিয়ন্ত্রণ করা মানগুলো পরিবর্তনযোগ্য।

লজিককে নীতির থেকে আলাদা রাখুন

এটাই মূল ধারণা। লজিক হচ্ছে সেই অংশ যা বলে, “নিয়মগুলো চেক করো এবং প্রথম মিলটি বেছে নাও।” নীতি ডেটা হচ্ছে নিয়মগুলোর তালিকা: পরিমাণ রেঞ্জ, বিভাগ, অঞ্চল, অনুমোদক, এবং অগ্রাধিকার।

যখন লজিক ও নীতি একসাথে মিশে যায়, একটি ছোট পরিবর্তনের জন্যও একজন ডেভেলপারের ওয়ার্কফ্লো এডিট করা লাগতে পারে। যখন সেগুলো আলাদা রাখা হয়, ওয়ার্কফ্লো স্থিতিশীল থাকে এবং কেবল টেবিলের সারিগুলো বদলায়।

উদাহরণস্বরূপ, যদি APAC-এ Sales עכשיו $3,000-এর উপরে ডিরেক্টর অনুমোদন প্রয়োজন বলে সিদ্ধান্ত নেয়—যা আগে $5,000 ছিল—তাহলে আপনি একটিই টেবিল এন্ট্রি আপডেট করবেন। পুরো অনুমোদন প্রক্রিয়াটি পুনর্নির্মাণ করতে হবে না।

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

নো-কোড প্ল্যাটফর্মে যেমন AppMaster-এ সাধারণত এর মানে হলো একটি রুলস টেবিল তৈরি করা এবং ব্যবসায়িক প্রসেসকে রানটাইমে তা চেক করানো। মডেলটি অ-প্রযুক্তিগত দলের জন্য সহজ কারণ এটি বাস্তবে নীতির লেখার সাথে মেলে: যদি এই শর্ত মিলছে, এখান পাঠাও।

আপনার রুলস টেবিলে কী থাকা উচিত

একটি ভাল রুলস টেবিলকে একটি সহজ প্রশ্নের উত্তর দিতে হবে: যদি একটি অনুরোধ এই শর্তগুলো মেলে, তাহলে কে এটি অনুমোদন করবে?

যদি রাউটিং কোডের ভিতরে লুকানো মানগুলোর ওপর নির্ভর করে, প্রতিটি নীতি আপডেট একটি রিবিল্ডে পরিণত হয়। একটি টেবিল সেই পরিবর্তনগুলো দৃশ্যমান ও পরিচালনাযোগ্য রাখে।

একটি ব্যবহারিক রুলস টেবিল সাধারণত নিম্নলিখিত ক্ষেত্রগুলো দিয়ে শুরু করে:

  • amount
  • currency
  • department
  • region
  • request type
  • approver role

পরিমাণ ও মুদ্রা গুরুত্বপূর্ণ কারণ একই সংখ্যা বিভিন্ন বাজেট বা দেশের ক্ষেত্রে ভিন্ন মানে বোঝাতে পারে। 5,000 USD একটি পথ অনুসরণ করতে পারে, যখন 5,000 EUR বা 500,000 JPY অন্য কোনো পথ চায়।

ডিপার্টমেন্ট এবং অঞ্চল কল্পিত নয়—এগুলো বাস্তবে কিভাবে কোম্পানি কাজ করে তা প্রতিফলিত করে। Finance, HR এবং Operations-এর জন্য একই ব্যয়ের ক্ষেত্রেও আলাদা অনুমোদন পথ থাকতে পারে। অঞ্চলও গুরুত্বপূর্ণ যখন স্থানীয় নিয়ম বা ম্যানেজাররা ভিন্ন হয়।

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

অনুমোদকের জন্য একটি ব্যক্তির নামের বদলে ভূমিকা সংরক্ষণ করুন। Department Manager, Regional Director, বা Finance Controller-এর মতো মান ব্যবহার করুন। কেউ চাকরি বদলে গেলে আপনি একবার ভূমিকা বরাদ্দ আপডেট করবেন, প্রতিটি নিয়ম নয়।

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

একটি অগ্রাধিকার ক্ষেত্রও যোগ করা লাভজনক। “EU + Finance + over 10,000” মতো একটি নিয়ম সাধারণত “all departments + over 10,000”এর চেয়ে জিতে যাওয়া উচিত। স্পষ্ট অগ্রাধিকার রাউটিংকে পূর্বানুমেয় রাখে।

টেবিলটি কিভাবে গঠন করবেন

গঠনটি সহজ রাখুন: এক সারি মানে এক অনুমোদন নিয়ম হওয়া উচিত।

যদি Marketing-এর $2,000-এর উপরে ইউরোপে একটি আঞ্চলিক ম্যানেজার দরকার, সেইটি একটি রেকর্ডে থাকা উচিত। প্রতিটি সারি যখন একটাই পরিষ্কার মান রাখে, সেটআপ আপডেট, টেস্ট এবং অডিট করা সহজ হয়।

প্রধান টেবিলটি কেবল দুই জিনিসে ফোকাস করা উচিত: এমন শর্তগুলো যা একটি নিয়ম ট্রিগার করে এবং আউটকাম যা ওয়ার্কফ্লোককে বলে পরবর্তী করণীয় কী। এটা ব্যবসায়ী ব্যবহারকারী এবং প্রসেস নির্মাতার দুইজনের জন্যই পাঠযোগ্য রাখে।

একটি ব্যবহারিক বিন্যাস

একটি পরিচ্ছন্ন টেবিলে প্রায়শই এই ক্ষেত্রগুলো থাকে:

  • rule ID বা rule name
  • সক্রিয় অবস্থা, সঙ্গে ঐচ্ছিক শুরু ও শেষ তারিখ
  • শর্ত ক্ষেত্রগুলো যেমন minimum amount, maximum amount, department, region, এবং request type
  • আউটকাম ক্ষেত্রগুলো যেমন approver role, approver user, বা পরবর্তী ধাপ
  • অগ্রাধিকার এবং একটি ডিফল্ট-রুল ফ্ল্যাগ

শর্ত কলামের জন্য, সম্ভাব্য হলে ফ্রি টেক্সটের বদলে সঠিক ফিল্ড ব্যবহার করুন। প্রত্যেকবার "Finance" টাইপ করার বদলে একটি department ID ব্যবহার করা নিরাপদ। একই কথা অঞ্চল কোড, অনুরোধের ধরন, এবং কস্ট সেন্টারের ক্ষেত্রেও প্রযোজ্য। বিভাগ, অঞ্চল এবং অনুমোদক ভূমিকার ছোট লুকআপ টেবিল বানালে বানান ভুল এড়ানো যায় এবং ফিল্টার করা সহজ হয়।

আউটকাম কলামের জন্য সিদ্ধান্ত নিন ওয়ার্কফ্লো কী ফিরিয়ে দেবে। কোনো টিমে হয়ত নিয়মটি একটি নির্দিষ্ট ব্যক্তির দিকে নির্দেশ করবে। অন্যত্র, এটি একটি ভূমিকার দিকে রাউট করবে যেমন Regional Manager বা Finance Director। একটি পদ্ধতি বেছে নিন এবং অনবদ্য থাকুন।

অগ্রাধিকার গুরুত্বপূর্ণ কারণ একাধিক নিয়ম একই অনুরোধের সাথে মিলতে পারে। সারি ক্রম বা তৈরি করার তারিখের ওপর নির্ভর করবেন না। একটি নামমাত্রিক অগ্রাধিকার ক্ষেত্র যোগ করুন এবং কার্যবিধি নির্ধারণ করুন—যেমন 1 প্রথমে পরীক্ষা করা হয় এবং 100 পরে।

আপনাকে একটি ফোলব্যাক নিয়মও প্রয়োজন। এটি সেই নিরাপত্তা জাল যা কোন নির্দিষ্ট সারি দ্বারা কভার না হওয়া কিছুকে হ্যান্ডেল করে। একটি ডিফল্ট নিয়ম unmatched অনুরোধগুলোকে operations manager বা অ্যাডমিন রিভিউ কিউ-তে পাঠাতে পারে। এর অভাব হলে অনুরোধ আটকে যেতে পারে।

আপনি যদি এটি AppMaster-এ বানান, তাহলে এই টেবিলগুলো ভিজ্যুয়ালি এডিটেবল থাকতে পারে, ফলে নীতি পরিবর্তন ডেটায় হয় এবং হার্ড-কোডেড ওয়ার্কফ্লো শাখায় নয়।

কিভাবে সেটআপ করবেন

অনুরোধ রাউটিং স্বয়ংক্রিয় করা শুরু করুন
পরিমাণ, বিভাগ এবং অঞ্চলকে পরিষ্কার নো-কোড অনুমোদন নিয়মে রূপান্তর করুন।
নির্মাণ শুরু করুন

টেবিল নয়—নির্ণয় থেকে শুরু করুন। আপনার ওয়ার্কফ্লো কোন সঠিক প্রশ্নগুলোর উত্তর চাইবে তা নোট করুন। কি $5,000-এর উপরে ক্রয় ম্যানেজারের অনুমোদন প্রয়োজন? Finance কি Sales থেকে আসা সবকিছুকে রিভিউ করে? কোন অঞ্চলে ভিন্ন পথ আছে?

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

একটি সাধারণ সেটআপ সাধারণত পাঁচটি ধাপ অনুসরণ করে।

প্রথমত, রাউটিংকে প্রভাবিত করা ক্ষেত্রগুলো নিয়ে একটি approval rules টেবিল তৈরি করুন। সাধারণ কলামগুলোর মধ্যে থাকে amount_min, amount_max, department, region, approver_role, priority, এবং active_status।

দ্বিতীয়ত, নির্ধারণ করুন কোন কোন ক্ষেত্র ফাঁকা থাকতে পারে। একটি ফাঁকা department বা region মানে "এই নিয়মটি সবকিছুর জন্য প্রযোজ্য" হতে পারে যখন আরো নির্দিষ্ট মিল নেই।

তৃতীয়ত, সবচেয়ে নির্দিষ্ট থেকে সবচেয়ে সাধারণ পর্যন্ত নিয়ম যোগ করুন। "Sales + Europe + over $10,000" এর মত একটি নিয়ম বিস্তৃত নিয়মের আগে চেক করা উচিত—যেমন "any department + any region + over $10,000"।

চতুর্থত, লঞ্চের আগে বাস্তব উদাহরণ দিয়ে টেস্ট করুন। ঠিক $5,000, অনুপস্থিত বিভাগ ডেটা, বা এমন একটি অঞ্চল যেখানে কাস্টম নিয়ম নেই—এসব এজ কেস পরীক্ষা করুন।

পঞ্চমত, টেবিল কে সম্পাদনা করতে পারে তা সীমাবদ্ধ করুন। নীতি পরিবর্তন করা সহজ হওয়া উচিত, তবে প্রত্যেকে এটি করতে পারা উচিত নয়।

এখানে একটি সহজ উদাহরণ। উত্তর আমেরিকায় HR থেকে $12,000-এর একটি অনুরোধ প্রথমে সম্ভবত "HR over $10,000" নিয়মটিকে মেলে এবং এটি HR ডিরেক্টরের কাছে পাঠায়। যদি কোন HR-নির্দিষ্ট নিয়ম না থাকে, সিস্টেম একটি বৃহত্তর নিয়মে ফেরত যেতে পারে—যেমন "any department over $10,000"—যা এটিকে ফাইন্যান্সে পাঠাবে।

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

লাইভ যাওয়ার আগে একজন রুল পরিবর্তনের মালিক নিয়োগ করুন, একটি সংক্ষিপ্ত নীতি নথি রাখুন, এবং প্রতিটি আপডেটের পরে আবার টেস্ট করুন। ছোট রাউটিং পরিবর্তনগুলো বড় প্রভাব ফেলতে পারে।

ব্যবহারিক উদাহরণ

ধরে নিন একটি কোম্পানি প্রতিটি দলের জন্য একই পারচেস রিকোয়েস্ট ফর্ম ব্যবহার করে। প্রতিটি অনুরোধে একটি পরিমাণ, একটি বিভাগ, এবং একটি অঞ্চল অন্তর্ভুক্ত থাকে। সিস্টেম ঐ মানগুলোকে একটি রুলস টেবিলের সাথে মিলিয়ে সঠিক অনুমোদক বেছে নেয়।

ধরা যাক কোম্পানির দুটি বিভাগ আছে: Marketing এবং IT। উভয়েই $4,000-এর অনুরোধ জমা দিতে পারে, কিন্তু অনুমোদন পথ একই নাও হতে পারে।

DepartmentRegionAmount rangeApprover
MarketingUS$0 to $5,000Marketing Manager
MarketingUS$5,001+Finance Director
ITUS$0 to $3,000IT Manager
ITUS$3,001+CTO
MarketingEU$0 to $5,000Regional Marketing Lead

একই পরিমাণের দুইটি অনুরোধ তুলনা করুন। US-এ Marketing-এর $4,000 অনুরোধ Marketing Manager-কে যায়। US-এ IT-এর $4,000 অনুরোধ IT Manager-কে ছেড়ে CTO-র কাছে যায়, কারণ IT-র থ্রেশহোল্ড কম।

এর ফলে অঞ্চলও আউটকাম পরিবর্তন করতে পারে। US-এ $2,500 Marketing অনুরোধ Marketing Manager-কে যায়, কিন্তু EU-তে একই অনুরোধ Regional Marketing Lead-কে যায়। ফর্মটি একই থাকে; শুধু মিল থাকা নিয়ম পরিবর্তিত হয়।

এটাই রুলস টেবিলের আসল মূল্য—নীতি ডেটাতে থাকে, ওয়ার্কফ্লো লজিকে নয়।

যদি কোম্পানি পরের মাসে নীতি আপডেট করে, পুরো প্রক্রিয়া পুনর্নিমাণ করতে হবে না। যদি IT সিদ্ধান্ত নেয় যে এখন $2,000-এর উপরে CTO-কে পাঠানো উচিত, আপনি কেবল একটি সারি এডিট করবেন:

  • পুরনো নিয়ম: IT, US, $3,001+, CTO
  • নতুন নিয়ম: IT, US, $2,001+, CTO

বাকি সবই অক্ষত থাকে। নতুন অনুরোধগুলো নতুন নীতি অনুযায়ী সঙ্গে সঙ্গেই চলে যাবে এবং অ্যাপ কাঠামো অপরিবর্তিত থাকবে।

সাধারণ ভুল যা এড়ানো উচিত

প্রথমে একটি ওয়ার্কফ্লো তৈরি করুন
একটি সিঙ্গেল অনুমোদন ফ্লো দিয়ে শুরু করুন এবং নিয়মগুলি সঠিক মনে হলে বাড়ান।
ওয়ার্কফ্লো তৈরি করুন

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

একটি সাধারণ ভুল হলো স্পষ্ট অগ্রাধিকার ছাড়া ওভারল্যাপিং নিয়ম। আপনার কাছে একটি নিয়ম থাকতে পারে যা Marketing-এর সব অনুরোধ $3,000-এর উপরে বিভাগ প্রধানকে পাঠায় এবং আরেকটি যে $5,000-এর উপরে যেকোন অনুরোধকে ফাইন্যান্সে পাঠায়। $6,000-এর Marketing অনুরোধ দুটোর সঙ্গেই মিলে, তাই সিস্টেমে একটি স্পষ্ট জয়ী থাকা উচিৎ। এই অগ্রাধিকারটি রুলস টেবিলে রাখুন, না যে লজিকের ভিতরে লুকিয়ে।

আরেকটি ভুল হলো ব্যক্তির নাম কঠোরভাবে কোড করা। নাম বদলে যায়, দল বদলে যায়। কেউ ছুটিতে গেলে বা পদ পরিবর্তন করলে যদি নিয়ম বলে "Maria Lopez-কে পাঠাও", আপনাকে প্রতিবার এটি এডিট করতে হবে। একটি ভূমিকার দিকে রাউট করা নিরাপদ—তারপর সেই ভূমিকা বর্তমান ব্যক্তির সাথে ম্যাপ করুন।

ফোলব্যাক পথ বাদ দেওয়াও চুপচাপ ব্যর্থতা ঘটে। অচিরেই, কোনো অনুরোধ কোনও নিয়মে মেলবে না—কারণ পরিমাণ অস্বাভাবিক, বিভাগ নতুন, বা কোনো ফিল্ড ফাঁকা। তখনও ওয়ার্কফ্লোকে নিরাপদ কিছু করা উচিত, যেমন ডিফল্ট কিউ বা অ্যাডমিনে পাঠানো।

আঞ্চলিক ব্যতিক্রম আরেক দুর্বল স্থান। একটি দেশের জন্য কাজ করা নীতি অন্য দেশে কাজ নাও করতে পারে—স্থানীয় ব্যয়ের সীমা, ট্যাক্স নিয়ম, বা রিপোর্টিং চাহিদা ভিন্ন হওয়ার কারণে। আপনি যদি কেবল একটি অঞ্চলই টেস্ট করেন, EU, US, বা APAC-এ প্রযোজ্য ভিন্ন পথ মিস করতে পারেন।

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

লঞ্চের আগে চূড়ান্ত চেক

ভঙ্গুর অনুমোদন লজিক প্রতিস্থাপন করুন
AppMaster ব্যবসায়িক প্রসেস ব্যবহার করে রানটাইমে নিয়ম টেবিল পড়ুন এবং ভঙ্গুর লজিক প্রতিস্থাপন করুন।
এখনই চেষ্টা করুন

থ্রেশহোল্ড-ভিত্তিক রাউটিং চালু করার আগে, বাস্তব ব্যবহারকারীর দৃষ্টিকোণ থেকে এটি পর্যালোচনা করুন। প্রতিটি অনুরোধকে সঠিক অনুমোদকের কাছে চলে যেতে হবে কোনো কারিগরি অনুমান ছাড়াই।

চূড়ান্ত পর্যালোচনাটি সহজ রাখুন।

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

ফোলব্যাক পথ আছে কি তা নিশ্চিত করুন। মিসিং বিভাগ, নতুন অঞ্চল, বা অস্বাভাবিক পরিমাণ এমনকি তখনও কোথাও পৌঁছানো উচিত।

নিশ্চিত করুন নীতি আপডেট ডেভেলপারের দরকার ছাড়াই করা যায়। Finance বা Operations যদি সীমা, তারিখ বা অনুমোদক পরিবর্তন করতে চায়, তাদের টেবিলের রেকর্ডগুলো এডিট করে করতে পারা উচিত—কোড নয়।

শুধু মান নয় তারিখও টেস্ট করুন। গতকালের নীতি এবং আগামী মাসের নীতিও প্রত্যাশিতভাবে আচরণ করছে কি তা নিশ্চিত করুন যখন কার্যকর তারিখ ব্যবহার করা হচ্ছে।

ওয়ান পেজে প্লেইন ভাষায় রাউটিং লজিক লেখুন। যদি একজন ম্যানেজার এটি স্পষ্টভাবে ব্যাখ্যা করতে না পারে, সেটি সম্ভবত খুব জটিল।

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

পরবর্তী ধাপ

ছোট থেকে শুরু করুন। এমন একটি অনুমোদন ফ্লো বেছে নিন যা এখন সবচেয়ে বিলম্ব বা বিভ্রান্তি সৃষ্টি করে—যেমন নির্দিষ্ট পরিমাণের উপরে পারচেস রিকোয়েস্ট বা বিভাগীয় Expense দাবী। প্রথমে সেটি বানান, বাস্তব কেস নিয়ে টেস্ট করুন, তারপর আরো নিয়ম ধরন যোগ করুন।

এই পন্থা রাউটিং মডেলকে বিশ্বাসযোগ্য করে তোলে। মানুষ দেখতে পারে নিয়মগুলো কিভাবে কাজ করে, কোথায় এক্সসেপশন আছে, এবং সেটআপ বড় হওয়ার আগে কী পরিবর্তন করা দরকার।

প্রথম রোলআউট চারটি মৌলিক প্রশ্নের উত্তর দেওয়া উচিত:

  • কোন অনুরোধ ধরনটি প্রথমে স্বয়ংক্রিয় করা উচিত?
  • কোন কোন ফিল্ড রাউটিং নিয়ন্ত্রণ করে, যেমন পরিমাণ, বিভাগ, বা অঞ্চল?
  • আজকে প্রতিটি কেস কে অনুমোদন করে?
  • নীতি পরিবর্তন হলে কে নিয়মগুলো আপডেট করবে?

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

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

পর্যালোচনাটি বাস্তবসম্মত রাখুন। সহজ প্রশ্নগুলি জিজ্ঞেস করুন: অনুমোদন সঠিক ব্যক্তির কাছে যাচ্ছে কি, কোনো দল কাঠামো পরিবর্তন করেছে কি, বর্তমান সীমাগুলো ফাইন্যান্স নীতির সাথে মেলে কি, এবং ম্যানুয়াল ওভাররাইড বেশি হয়ে গেছে কি?

আপনি যদি ভিজ্যুয়ালি এটি বানাতে চান, AppMaster রুলস টেবিল, রাউটিং প্রসেস, এবং ডেটা আপডেট করার অ্যাডমিন স্ক্রিন তৈরি করার জন্য উপযুক্ত হতে পারে। এটি পুরো নো-কোড অ্যাপ্লিকেশন ডিজাইন করা জন্য তৈরি, তাই ব্যবসায়িক দলগুলো সরাসরি নীতি পরিচালনা করতে পারলে প্রতিটি আপডেট আবার ডেভেলপারদের কাছে পাঠাতে হবে না।

একটি ফ্লো ভালভাবে কাজ করলে, একই প্যাটার্ন পরবর্তী প্রক্রিয়ায় প্রয়োগ করুন। ছোট, স্পষ্ট ধাপগুলো সাধারণত পুরো রিবিল্ডের চেয়ে ভাল ফল দেয়।

প্রশ্নোত্তর

Threshold-based routing কী?

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

হার্ড-কোডেড অনুমোদন নিয়মগুলো কেন সমস্যা?

সেটি প্রথমে কাজ করে, কিন্তু প্রতিটি নীতি পরিবর্তন অ্যাপ কাজ, টেস্টিং এবং রিলিজে পরিণত করে। একটি নিয়ম টেবিল দ্রুত — কারণ ওয়ার্কফ্লো অপরিবর্তিত থাকে এবং কেবল নীতি মানগুলো বদলায়।

আমি একটি অনুমোদন নিয়ম টেবিলে কি রাখব?

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

আমি অনুমোদকের নাম না রেখে অনুমোদক ভূমিকা রাখব কেন?

ভূমিকা সাধারণত ভালো। যদি আপনি একজন ব্যক্তির নামের বদলে Finance Director বা Department Manager-এর মতো ভূমিকা ব্যবহার করেন, স্টাফিং পরিবর্তনের সময় আপনি শুধু সেই ভূমিকার বরাদ্দ আপডেট করবেন, প্রতিটি নিয়ম নয়।

ওভারল্যাপিং অনুমোদন নিয়মগুলো আমি কিভাবে হ্যান্ডেল করব?

একটি স্পষ্ট অগ্রাধিকার ফিল্ড ব্যবহার করুন এবং নির্ধারণ করুন কোন সংখ্যাটি আগে পরীক্ষা করা হবে। সিস্টেমটি সবচেয়ে নির্দিষ্ট নিয়মটিকে আগে চেক করবে—যেমন EU + Finance + over 10,000 সাধারণ "all departments + over 10,000" নিয়মকে হারায়।

যদি কোনো নিয়ম কোনো অনুরোধের সাথে মিলে না যায় তাহলে?

একটি ফোলব্যাক নিয়ম যোগ করুন। যদি কোনো অনুরোধ কোন নিয়মেই মিলে না যায়, সেটি একটি নিরাপদ কিউ, অ্যাডমিন টিম বা ডিফল্ট অনুমোদকের কাছে পাঠানো উচিত যাতে অনুরোধ আটকে না যায়।

নো-টেকনিক্যাল দলগুলো কি নিজেই অনুমোদন নিয়ম আপডেট করতে পারবে?

হ্যাঁ—যদি আপনার সেটআপটি এইভাবে তৈরি করা হয়। AppMaster-এ নিয়মগুলো টেবিলে রাখা যায় এবং ব্যবসায়িক প্রসেস রানটাইমে সেগুলো পড়ে, ফলে অনুমোদিত স্টাফ অ্যাডমিন স্ক্রিন থেকে নীতির ডেটা আপডেট করতে পারবে কোড ছাড়াই।

কেন নিয়মে শুরু ও শেষ তারিখ যোগ করা উচিত?

কার্যকর তারিখগুলো আপনাকে পরিবর্তনগুলো সময় নির্ধারণ করে চালু বা বন্ধ করার সুযোগ দেয়। এগুলো কোয়ার্টার-এন্ড নিয়ম, বাজেট ফ্রিজ বা পরবর্তী মাসের জন্য নির্ধারিত নীতির ক্ষেত্রে বিশেষভাবে উপকারী।

লঞ্চের আগে থ্রেশহোল্ড-ভিত্তিক রাউটিং কিভাবে টেস্ট করব?

লঞ্চের আগে বাস্তব কেস দিয়ে টেস্ট করুন—বিশেষ করে এড্জ কেস। সঠিক সীমা মান, ফাঁকা ফিল্ড, নতুন বিভাগ, আঞ্চলিক ব্যতিক্রম এবং মেয়াদোত্তীর্ণ নীতি পরীক্ষা করুন যাতে প্রতিটি অনুরোধের একটি স্পষ্ট রুট থাকে।

এই পদ্ধতি ব্যবহার করা শুরু করার সবচেয়ে ভাল উপায় কোনটি?

একটি এমন অনুমোদন ফ্লো দিয়ে শুরু করুন যা এখনই সবচেয়ে বিলম্ব বা বিভ্রান্তি সৃষ্টি করছে, যেমন নির্দিষ্ট পরিমাণের উপর ক্রয় অনুরোধ বা বিভাগভিত্তিক খরচ দাবি। ছোটভাবে শুরু করে সেটি প্রমাণ করুন, তারপর একই প্যাটার্ন অন্যান্য প্রক্রিয়ায় প্রয়োগ করুন।

শুরু করা সহজ
কিছু আশ্চর্যজনকতৈরি করুন

বিনামূল্যের পরিকল্পনা সহ অ্যাপমাস্টারের সাথে পরীক্ষা করুন।
আপনি যখন প্রস্তুত হবেন তখন আপনি সঠিক সদস্যতা বেছে নিতে পারেন৷

এবার শুরু করা যাক