إن بوابة الجودة هي عملية تحقق يجب أن تجتازها الأعمال قبل أن تتقدم. تُعد البوابات الوسيلة التي تجعل معيار «الجاهزية للإرسال» ليس مجرد قرار ذاتي، بل شيئًا يُطبقه النظام بنفس الطريقة في كل مرة.
حجب وإرشادي
كل بوابة تنتمي إلى أحد هذين النوعين، والفرق بينهما هو جوهر التصميم:
- حجب — فإذا فشلت، تتوقف المهمة. ولا تتقدم الأعمال حتى تجتاز الاختبار أو يتدخل إنسان لإلغاء الحجب.
- إرشادي — فإذا فشلت، يتم تسجيل النتيجة كملاحظة وإرفاقها بطلب السحب، لكن المهمة تستمر.
ابدأ بوضع بوابات إرشادية. راقب ما تكتشفه البوابات فعليًا على الأعمال الحقيقية لمدة أسبوع أو اثنين، ثم حوّل تلك التي تستحق ذلك إلى نوع حجب. فالبوابة التي تفرض الحجب من اليوم الأول، دون تعديل مسبق، غالبًا ما تدفع الفرق لتجاوزها.
ما الذي يمكن لبوابات الجودة التحقق منه
تقع البوابات فوق مرحلة التحقق ويمكن أن تشمل:
- نجاح مجموعة اختباراتك الخاصة
- حدود تغطية الكود
- تدقيق الكود والتحليل الثابت
- فحص الأمان
- اختبارات المتصفح على نسخة معاينة قيد التشغيل
- الأدلة الواردة من مزودي خدمات خارجيين المرفقة بـ pull request
أثمن بوابة جودة هي عادةً مجموعة اختباراتك الحالية، لأنها بالفعل تعكس ما قرر فريقك أنّه مهم.
أين يمكن لبوابة الجودة أن توقف العمل
تعمل البوابات أثناء التحقق، بعد انتهاء وكيل المطور وقبل المراجعة. فالفشل في اختبار الحجب يعيد المهمة كعمل إعادة تصحيح، بدلاً من إنتاج طلب سحب pull request ستقوم برفضه.
هذا الترتيب مقصود: فمن الأوفر فشل العملية داخليًا بدلاً من ظهوره على شاشتك.
السياسات
تُجمع البوابات ضمن سياسات، وهي ما تربطه فعليًا بالمشاريع. السياسة عبارة عن مجموعة مسماة من البوابات مع إعدادات الحجب/الإرشادي، حتى تتمكن من تطبيق معيار واحد لخدمات الإنتاج ومعيار أخف للأدوات الداخلية.
السياسات تخضع للتحكم في الإصدارات. عند نشر تغيير، يمكنك العودة إلى الإصدار السابق إذا تبين أن بوابة جديدة متشددة للغاية.
التجاوزات
يمكن تجاوز بوابة الحجب من قبل شخص لديه الصلاحية لذلك. ويتم تسجيل التجاوز — من قام به، متى، وعلى أي مهمة.
هذا التسجيل هو الغاية من الأمر. فالبوابة التي لا يمكن تجاوزها تصبح شيئًا يتجاوزه الناس؛ والبوابة التي يمكن تجاوزها دون تتبع تظل غير فعالة كأداة تحكم. أما التجاوز الذي يترك أثرًا فيُعد قابلًا للاستخدام ومسؤولًا عنه.
ما لا تفعله بوابات الجودة
تتحقق البوابات من الخصائص. لكنها لا تقيّم ما إذا كانت الأعمال تحل المشكلة الصحيحة — وهذا ما تحدده معايير القبول في المواصفات وما تهدف إليه عملية المراجعة.
من الممكن أن تجتاز التغييرات كل البوابات وتظل تغييرًا خاطئًا.