दो दरवाजे, एक गेट: EDD से परे गवर्नेंस
ऑनबोर्डिंग नियम और डेवलपर संबंधी बाधाएं (friction) अक्सर एक ही समस्या की तरह लगती हैं। लेकिन वे एक नहीं हैं।
जब आप चालीस डेवलपर्स तक पहुँचते हैं, तो आप सभी के लिए एक ही प्रशिक्षण पद्धति का उपयोग नहीं कर सकते। कुछ डेवलपर्स AI एजेंट्स के विशेषज्ञ होते हैं। अन्य नए होते हैं। यदि आप सभी के लिए नियमों का एक ही सेट लिखते हैं, तो आप विफल हो जाएंगे।
अनुभवी डेवलपर्स नियमों को नज़रअंदाज़ कर देंगे। नए डेवलपर्स उनके साथ संघर्ष करेंगे।
आपको अपने दृष्टिकोण को दो अलग-अलग परतों (layers) में विभाजित करना चाहिए:
जागरूकता उपकरण (Awareness tools) ये उपकरण इस बात को बदलते हैं कि एक व्यक्ति क्या जानता है। उदाहरणों में AI रिव्यू कमेंट्स या लिंटिंग (linting) चेतावनियाँ शामिल हैं। वे एक रिसेप्शनिस्ट की तरह कार्य करते हैं। वे चीजों पर ध्यान देते हैं और कार्यों का सुझाव देते हैं। वे तभी काम करते हैं जब व्यक्ति उनकी बात सुनता है।
गवर्नेंस उपकरण (Governance tools) ये उपकरण इस बात को बदलते हैं कि एक व्यक्ति क्या कर सकता है। उदाहरणों में ब्रांच प्रोटेक्शन और मर्ज गेट्स शामिल हैं। वे एक टर्नस्टाइल (turnstile) की तरह कार्य करते हैं। वे कोई समझौता नहीं करते। यदि आवश्यकताएं पूरी नहीं होती हैं, तो वे प्रक्रिया को रोक देते हैं।
गलती तब होती है जब आपको टर्नस्टाइल की आवश्यकता हो और आप रिसेप्शनिस्ट का उपयोग कर रहे हों। एक AI सुझाव जिसे डेवलपर नज़रअंदाज़ कर देता है, वह गवर्नेंस नहीं है। वह केवल शोर (noise) है।
इसे ठीक करने के लिए, दो अलग-अलग परतों का उपयोग करें:
गवर्नेंस लेयर (The Governance Layer) यह परत छोटी और सार्वभौमिक है। यह कौशल की परवाह किए बिना सभी पर लागू होती है। इसमें प्रोटेक्टेड ब्रांचों पर सीधे पुश न करने और अनिवार्य रिव्यू जैसे नियम शामिल हैं। यह भरोसे के बारे में नहीं है। यह एजेंट-संचालित परिवर्तनों के उच्च जोखिम से कोडबेस की रक्षा करने के बारे में है।
स्कैफोल्डिंग लेयर (The Scaffolding Layer) यह परत व्यक्तिगत और लचीली है। इसमें स्पष्ट योजना और विस्तृत तर्क (verbose reasoning) जैसे चरण शामिल हैं। नए डेवलपर्स निर्णय लेने की क्षमता विकसित करने के लिए इसका भारी उपयोग करते हैं। अनुभवी डेवलपर्स जैसे-जैसे बढ़ते हैं, वे इसे कम कर सकते हैं। यह वरिष्ठता के लिए कोई पुरस्कार नहीं है। यह एक ऐसा उपकरण है जो कौशल बढ़ने के साथ अनावश्यक हो जाता है।
आपको परिवर्तन के जोखिम पर भी ध्यान देना चाहिए। एक वरिष्ठ डेवलपर द्वारा किसी जटिल, अत्यधिक कपल्ड (highly coupled) फ़ाइल को छूना, एक जूनियर डेवलपर द्वारा किसी साधारण यूटिलिटी फ़ंक्शन को छूने की तुलना में अधिक जोखिम पैदा करता है। सिस्टम को केवल व्यक्ति पर नहीं, बल्कि कोड पर प्रतिक्रिया देनी चाहिए।
अंत में, स्वामित्व (ownership) पर ध्यान केंद्रित करें। एक AI एजेंट कोड लिख सकता है, लेकिन परिणाम का मालिक डेवलपर होता है। यदि कोई डेवलपर रिव्यू के दौरान यह नहीं समझा सकता कि परिवर्तन क्यों किया गया था, तो उस परिवर्तन को मर्ज नहीं किया जाना चाहिए।
लोगों को स्तरों (tiers) में वर्गीकृत करना बंद करें। इसके बजाय, ऐसे उपकरण प्रदान करें जो उन्हें अपने जोखिम को स्वयं प्रबंधित करने की अनुमति दें।
Source: https://dev.to/karlheinz_reichel_7ee08d/two-doors-one-gate-navigating-governance-beyond-edd-5clj
Optional learning community: https://t.me/GyaanSetuAi
