দুটি দরজা, একটি গেট: EDD-এর বাইরে গভর্ন্যান্স
অনবোর্ডিং নিয়ম এবং ডেভেলপারদের কাজের বাধার (friction) বিষয়গুলো প্রায়ই একই সমস্যার মতো মনে হয়। কিন্তু আসলে তা নয়।
যখন আপনার ডেভেলপার সংখ্যা চল্লিশ জনে পৌঁছে যায়, তখন আপনি সবার জন্য একই প্রশিক্ষণ পদ্ধতি ব্যবহার করতে পারবেন না। কিছু ডেভেলপার AI agents ব্যবহারে দক্ষ। অন্যরা একদম নতুন। আপনি যদি সবার জন্য একই নিয়ম তৈরি করেন, তবে আপনি ব্যর্থ হবেন।
অভিজ্ঞ ডেভেলপাররা নিয়মগুলো উপেক্ষা করবেন। আর নতুন ডেভেলপাররা সেগুলো নিয়ে হিমশিম খাবেন।
আপনাকে আপনার পদ্ধতিকে দুটি আলাদা স্তরে বিভক্ত করতে হবে:
Awareness tools এই টুলগুলো একজন মানুষের জ্ঞান বা ধারণা পরিবর্তন করে। উদাহরণস্বরূপ, AI review comments বা linting warnings। এগুলো একজন রিসেপশনিস্টের মতো কাজ করে। তারা বিষয়গুলো লক্ষ্য করে এবং পদক্ষেপ নেওয়ার পরামর্শ দেয়। এগুলো তখনই কাজ করে যখন মানুষ সেগুলো শোনে।
Governance tools এই টুলগুলো একজন মানুষের কাজ করার ক্ষমতা বা সুযোগ পরিবর্তন করে। উদাহরণস্বরূপ, branch protection এবং merge gates। এগুলো একটি টার্নস্টাইলের (turnstile) মতো কাজ করে। এগুলো কোনো আপস করে না। প্রয়োজনীয় শর্ত পূরণ না হলে এগুলো প্রক্রিয়াটি থামিয়ে দেয়।
ভুলটি হলো, যখন আপনার একটি টার্নস্টাইল প্রয়োজন, তখন আপনি একজন রিসেপশনিস্ট ব্যবহার করছেন। একজন ডেভেলপার যদি কোনো AI suggestion উপেক্ষা করেন, তবে সেটি গভর্ন্যান্স নয়; সেটি কেবল একটি অপ্রাসঙ্গিক শব্দ বা noise।
এটি সমাধানের জন্য দুটি আলাদা স্তর ব্যবহার করুন:
The Governance Layer এই স্তরটি ছোট এবং সর্বজনীন। দক্ষতার কথা বিবেচনা না করেই এটি সবার জন্য প্রযোজ্য। এর মধ্যে রয়েছে protected branches-এ সরাসরি পুশ না করা এবং বাধ্যতামূলক রিভিউ-এর মতো নিয়ম। এটি বিশ্বাসের বিষয় নয়; এটি এজেন্ট-চালিত পরিবর্তনের উচ্চ ঝুঁকি থেকে codebase-কে রক্ষা করার বিষয়।
The Scaffolding Layer এই স্তরটি ব্যক্তিগত এবং নমনীয়। এর মধ্যে রয়েছে সুনির্দিষ্ট পরিকল্পনা এবং বিস্তারিত যুক্তির (verbose reasoning) মতো ধাপগুলো। নতুন ডেভেলপাররা বিচারবুদ্ধি বা সিদ্ধান্ত নেওয়ার ক্ষমতা অর্জনের জন্য এটি ব্যাপকভাবে ব্যবহার করেন। অভিজ্ঞ ডেভেলপাররা দক্ষতা বাড়ার সাথে সাথে এটি কমিয়ে আনতে পারেন। এটি অভিজ্ঞতার পুরস্কার নয়; এটি এমন একটি টুল যা দক্ষতা বাড়ার সাথে সাথে অপ্রয়োজনীয় হয়ে পড়ে।
আপনার পরিবর্তনের ঝুঁকির দিকেও নজর দেওয়া উচিত। একজন জুনিয়র ডেভেলপার একটি সাধারণ utility function নিয়ে কাজ করার চেয়ে একজন সিনিয়র ডেভেলপার একটি জটিল এবং উচ্চমাত্রায় কাপলড (highly coupled) ফাইল নিয়ে কাজ করলে বেশি ঝুঁকি তৈরি হয়। সিস্টেমের উচিত কোডের ওপর ভিত্তি করে প্রতিক্রিয়া জানানো, কেবল ব্যক্তির ওপর নয়।
পরিশেষে, মালিকানার (ownership) দিকে মনোযোগ দিন। একটি AI agent কোড লিখতে পারে, কিন্তু ফলাফলের জন্য ডেভেলপারই দায়ী। যদি একজন ডেভেলপার রিভিউ চলাকালীন কোনো পরিবর্তন কেন করা হয়েছে তা ব্যাখ্যা করতে না পারেন, তবে সেই পরিবর্তনটি merge করা উচিত নয়।
মানুষকে বিভিন্ন স্তরে বা টিয়ারে (tiers) ভাগ করা বন্ধ করুন। পরিবর্তে, এমন টুল প্রদান করুন যা তাদের নিজস্ব ঝুঁকি মোকাবিলা করতে সাহায্য করে।
Source: https://dev.to/karlheinz_reichel_7ee08d/two-doors-one-gate-navigating-governance-beyond-edd-5clj
Optional learning community: https://t.me/GyaanSetuAi
