بابان وبوابة واحدة: الحوكمة لما وراء EDD
غالبًا ما تبدو قواعد التهيئة (Onboarding) واحتكاك المطورين وكأنهما مشكلة واحدة، لكنهما ليستا كذلك.
عندما يتوسع فريقك ليصل إلى أربعين مطورًا، لا يمكنك استخدام نفس أساليب التدريب للجميع. فبعض المطورين خبراء في التعامل مع وكلاء الذكاء الاصطناعي (AI agents)، بينما لا يزال آخرون مبتدئين. إذا وضعت مجموعة واحدة من القواعد للجميع، فستفشل.
المطورون ذوو الخبرة سيتجاهلون القواعد، بينما سيعاني المطورون الجدد في التعامل معها.
يجب عليك تقسيم نهجك إلى طبقتين متمايزتين:
أدوات التوعية (Awareness tools) تغير هذه الأدوات ما يعرفه الشخص. تشمل الأمثلة تعليقات مراجعة الذكاء الاصطناعي أو تحذيرات الـ linting. وهي تعمل مثل موظف الاستقبال؛ تلاحظ الأشياء وتقترح الإجراءات، لكنها لا تعمل إلا إذا استمع الشخص إليها.
أدوات الحوكمة (Governance tools) تغير هذه الأدوات ما يمكن للشخص فعله. تشمل الأمثلة حماية الفروع (branch protection) وبوابات الدمج (merge gates). وهي تعمل مثل البوابة الدوارة؛ فهي لا تتفاوض، بل توقف العملية إذا لم يتم استيفاء المتطلبات.
الخطأ يكمن في استخدام موظف استقبال بينما تحتاج إلى بوابة دوارة. فمقترح الذكاء الاصطناعي الذي يتجاهله المطور ليس حوكمة، بل هو مجرد ضجيج.
لإصلاح ذلك، استخدم طبقتين منفصلتين:
طبقة الحوكمة (The Governance Layer) هذه الطبقة صغيرة وشاملة، وتطبق على الجميع بغض النظر عن مهاراتهم. تتضمن قواعد مثل منع الدفع المباشر (direct pushes) إلى الفروع المحمية وفرض المراجعات الإلزامية. الأمر لا يتعلق بالثقة، بل بحماية قاعدة الكود (codebase) من المخاطر العالية للتغييرات التي يقودها الوكلاء (agent-driven changes).
طبقة الهيكلة (The Scaffolding Layer) هذه الطبقة شخصية ومرنة. تتضمن خطوات مثل التخطيط الصريح والتعليل المفصل. يستخدمها المطورون الجدد بكثافة لبناء القدرة على التقدير، بينما يمكن للمطورين ذوي الخبرة تقليل الاعتماد عليها مع تطور مهاراتهم. هذا ليس مكافأة على الأقدمية، بل هي أداة تصبح غير ضرورية مع زيادة المهارة.
يجب عليك أيضًا النظر في مخاطر التغيير نفسه. فالمطور الخبير الذي يعدل على ملف معقد وشديد الترابط يخلق مخاطر أكبر من مطور مبتدئ يعدل على دالة مساعدة (utility function) بسيطة. يجب أن يستجيب النظام للكود، وليس للشخص فقط.
أخيرًا، ركز على الملكية. قد يكتب وكيل الذكاء الاصطناعي الكود، ولكن المطور هو المسؤول عن النتيجة. إذا لم يستطع المطور شرح سبب إجراء التغيير أثناء المراجعة، فلا ينبغي دمج هذا التغيير.
توقف عن تصنيف الأشخاص إلى مستويات. وبدلاً من ذلك، وفر الأدوات التي تسمح لهم بإدارة مخاطرهم بأنفسهم.
Source: https://dev.to/karlheinz_reichel_7ee08d/two-doors-one-gate-navigating-governance-beyond-edd-5clj
Optional learning community: https://t.me/GyaanSetuAi
