جاهزية الإصدار وقرار المضي أو التوقف
جاهزية الإصدار (Release Readiness) هي الحالة التي يمكن فيها أن يصل الإصدار إلى مستخدميه مع مخاطر يعرفها المسؤولون عنه وقبلوها. والحكم عليها يحتاج إلى أدلة تتجاوز الاختبار وحده: هل يعمل المنتج؟ وهل يمكن نشره ومراقبته والتراجع عنه؟ وهل يستطيع فريق الدعم مساعدة المستخدمين فيه؟ وهل الأعمال مستعدة لإطلاقه؟ وقد ينجح الإصدار في كل اختباراته ولا يكون جاهزاً مع ذلك: فميزة الدفع الجديدة في تطبيق حجوزات قد تنجح في كل اختباراتها بينما لم يُجرَّب التراجع عن تغيير قاعدة البيانات الخاص بها قط.
وقرار المضي أو التوقف (Go/No-Go) هو اللحظة التي تُراجَع فيها هذه الأدلة، ويختار فيها صاحب قرار محدد بالاسم: المضي (Go)، أو التوقف (No-Go)، أو المضي المشروط (Conditional Go) الذي يستمر فيه الإصدار ما دامت شروط محددة تتحقق. وكثير من الفرق تدير بوابة الإصدار التي رأيتها في درس بوابات الجودة في صورة اجتماع للمضي أو التوقف، ومدخلاه الرئيسيان تقرير إتمام الاختبار (Test Completion Report) وبيان المخاطر المتبقية (Residual-Risk Statement) الموصوفان في الدرس السابق. ولا يعرّف منهج ISTQB للمستوى التأسيسي هذا الاجتماع؛ فهو ممارسة شائعة في الصناعة تُسمّى أيضاً مراجعة جاهزية الإصدار (Release Readiness Review).
لماذا يهم
تفشل الإصدارات لأسباب لا تفحصها أي حالة اختبار: ترحيل بيانات لا يمكن التراجع عنه، أو تنبيه لم يضبطه أحد، أو مكتب دعم يعرف بتغيّر شاشة من عملاء غاضبين. ومراجعة الجاهزية تسأل عن هذه الأمور قبل أن يكتشفها المستخدمون، وتحوّل سؤال «هل نحن جاهزون؟» من انطباع إلى قرار له معايير وأدلة ومالك.
وبالنسبة إلى المختبِر، هذه هي اللحظة التي يُستثمر فيها عمله.فمنهج ISTQB للمستوى التأسيسي يذكر من أهداف الاختبار تزويد أصحاب المصلحة بالمعلومات التي تمكّنهم من اتخاذ قرارات مستنيرة. والمختبِر الذي يعرض الأدلة والمخاطر المتبقية بوضوح، بدلاً من عبارة غامضة مثل «فريق الجودة يوافق»، يكسب الثقة، والقرار المسجّل يبيّن من قبِل أي مخاطرة.
الجاهزية أكثر من نتائج الاختبار
تجمع قائمة فحص الجاهزية (Readiness Checklist) المعايير في مجالات، لكل منها مسؤول يجيب عنه. وتختلف التسميات، وبعض المؤسسات تعقد مراجعة منفصلة للجاهزية التشغيلية، لكن معظم القوائم تغطي أربعة مجالات، ويذكر كل معيار فيها الدليل الذي يُقرأ منه:
- المنتج: معايير الخروج من الاختبار متحققة؛ ولا عيوب حاجبة (Blocker) أو حرجة (Critical) مفتوحة؛ وللمشكلات المعروفة حل بديل؛ والأهداف غير الوظيفية متحققة. الدليل: تقرير الاختبار ونظام تتبع العيوب.
- التشغيل: خطوات النشر والتراجع (Rollback) مكتوبة وجرى التمرّن عليها؛ وترحيلات البيانات قابلة للعكس أو تغطيها خطة استعادة؛ والمراقبة والتنبيهات تغطي الأجزاء الجديدة؛ وهناك مهندس مناوب. الدليل: سجل التمرين ولوحات المراقبة.
- الدعم: أُحيط الفريق بالتغييرات، ولديه ملاحظة بالمشكلات المعروفة وحلولها البديلة، ويعرف إلى من يصعّد. الدليل: الملاحظة المنشورة.
- الأعمال: ملاحظات الإصدار ورسائل المستخدمين معتمدة؛ والموافقات القانونية أو التعاقدية قائمة؛ والشركاء والمزوّدون جاهزون. الدليل: الموافقات.
من بوابات الجودة إلى اجتماع المضي أو التوقف
تذكّر من درس بوابات الجودة: البوابة تفحص معايير متفقاً عليها عند نقطة ثابتة، وبوابة الإصدار يملكها شخص يقرّر. واجتماع المضي أو التوقف يقرأ نتائج البوابات السابقة بدلاً من تكرارها؛ وما يضيفه هو أدلة لا ينتجها خط الأنابيب، من التشغيل والدعم والأعمال، وحكم على المخاطرة الباقية.
صنّف كل معيار إلزامياً (Must-have) أو مرغوباً (Should-have) عند كتابة القائمة، لا أثناء الاجتماع. فالمعيار الإلزامي غير المتحقق يعني التوقف، إلا إذا قبل صاحب القرار صراحةً مضياً مشروطاً؛ أما المعيار المرغوب غير المتحقق فيُعرض بوصفه مخاطرة قد يقبلها صاحب القرار.
اعقد الاجتماع قبل الإصدار بيوم أو يومين، مع فحص نهائي قصير قبل النشر مباشرةً لما بقي مفتوحاً. يرأسه صاحب القرار ويقرّر، وغالباً هو مالك المنتج أو مدير الإصدار، ويحضره مسؤولو الجودة والهندسة والتشغيل والدعم. ويتسلّم الجميع القائمة وتقرير إتمام الاختبار وبيان المخاطر المتبقية مسبقاً: فالمفاجأة في الاجتماع تعني أن الإبلاغ قد فشل.
اجتماع المضي أو التوقف، الإصدار 2.8 (30 دقيقة)
صاحب القرار: مالك المنتج
المدخلات تُرسل قبل 24 ساعة: القائمة، تقرير إتمام الاختبار،
بيان المخاطر المتبقية، العيوب المفتوحة
1. النطاق: ما الذي يشمله الإصدار، وما الذي سُحب منه منذ الخطة
2. المعايير: حالة كل معيار ورابط دليله، والإلزامية أولاً
3. العيوب والمخاطر المفتوحة: الأثر على المستخدمين، الحل البديل، التخفيف
4. مسؤولو المجالات (المنتج، التشغيل، الدعم، الأعمال): جاهز أم لا
5. القرار: مضيّ أو مضيّ مشروط أو توقف، يعلنه صاحب القرار
6. التسجيل والإرسال: القرار، الشروط، المالكون، المواعيد، البدائلجرّبها: منسّق Markdown جرّبها: مولّد الاختبار المبني على المخاطر
المضي والتوقف والمضي المشروط
المضي يعني أن كل معيار إلزامي متحقق، وأن صاحب القرار يقبل المخاطر المتبقية المعروفة. والتوقف يعني أن معياراً إلزامياً لم يتحقق ولا يمكن احتواؤه في الوقت المتاح؛ وهو قرار وليس فشلاً، ويذكر ما الذي يلزم تغييره ومتى يقرّر الفريق من جديد.
أما المضي المشروط فيعني أن الإصدار يمضي فقط إذا تحققت شروط مسمّاة. وقد يسري الشرط قبل النشر؛ أو أثناء الطرح، حين يصل الإصدار أولاً إلى منطقة واحدة أو إلى نسخة كناري (Canary)، ولا يتّسع إلا ما دامت الإشارات المتفق عليها سليمة (ويصف كتاب The Site Reliability Workbook الصادر عن Google الإطلاقَ الكناري بأنه نشر جزئي ومحدود زمنياً لتغيير ما مع تقييمه)؛ أو بعد الإصدار، كإصلاح مشكلة معروفة بحلول تاريخ محدد. وعبارة «نمضي ونصلحه لاحقاً» ليست شرطاً. فللشرط الحقيقي خمسة أجزاء:
- نتيجة يمكن فحصها: «ينجح تمرين التراجع على staging»، لا «يبدو التراجع سليماً».
- مالك يُبلغ حين يتحقق الشرط.
- موعد نهائي أو محفّز: قبل النشر، أو عند خطوة في الطرح، أو في تاريخ محدد.
- بديل إذا لم يتحقق: التوقف، أو إيقاف الطرح، أو التراجع، أو تعطيل علم الميزة (Feature Flag).
- قبول صاحب القرار المسجَّل للمخاطرة ما دام الشرط مفتوحاً.
الإجابة: نعم
النتيجة: المضي (Go)يقبل صاحب القرار المخاطر المتبقية المعروفة. سجّل القرار وانشر كما هو مخطط.نجاحالإجابة: لا
سؤال 2: هل يمكن احتواء كل فجوة بشرط؟نتيجة يمكن فحصها، لها مالك وموعد نهائي وبديل إذا لم تتحقق.الإجابة: لا
النتيجة: التوقف (No-Go)سجّل ما يلزم تغييره ومن يملكه ومتى يقرّر الفريق من جديد.فشلالإجابة: نعم
سؤال 3: هل يقبل صاحب القرار المخاطرة الباقية ما دامت الشروط مفتوحة؟الإجابة: لا
النتيجة: التوقف حالياًقد يقلّص الفريق النطاق أو يجمع أدلة أكثر، ثم يقرّر من جديد.فشلالإجابة: نعم
النتيجة: المضي المشروط (Conditional Go)سجّل كل شرط مع مالكه وموعده النهائي وبديله، وتابع كل شرط حتى يتحقق أو يُطبَّق بديله.تنبيه
يجيب صاحب القرار المحدد بالاسم عن كل سؤال؛ ويقدّم قائد فريق الجودة ومسؤولو المجالات الأخرى الأدلة.
مثال تطبيقي: قرار المضي أو التوقف للإصدار 2.8
يخطط تطبيق ويب لحجز مواعيد العيادات لإطلاق الإصدار 2.8 يوم الخميس الساعة 22:00: دفع عربون الحجز عبر الإنترنت (ميزة جديدة خلف علم ميزة يمكن تفعيله لكل عيادة على حدة)، و14 إصلاحاً. وفي اجتماع المضي أو التوقف يوم الأربعاء يعرض قائد فريق الجودة: نجح 286 من 286 اختبار انحدار، ولكل معيار قبول ضمن النطاق اختبار ناجح، ولا عيوب حاجبة أو حرجة مفتوحة. ويبقى عيب رئيسي (Major) واحد مفتوحاً: DEF-417، إذ يُغفل بريد الإيصال عنوان العيادة في الحجوزات التي تتم بالعربية.
وتبقى فجوتان: لم يُجرَ تمرين التراجع عن تغيير قاعدة البيانات الذي يضيف جدول المدفوعات، وهو معيار إلزامي؛ وإحاطة فريق الدعم مقررة يوم الخميس الساعة 09:00. ويضيف قائد فريق الجودة مخاطرة متبقية: اختُبرت المدفوعات على بيئة الاختبار لدى مزوّد الدفع، ولم يُفعَّل حساب الإنتاج إلا أمس. ويقرّر مالك المنتج: مضيّ مشروط.
- الشرط C1، قبل النشر: ينجح تمرين التراجع على staging بحلول الخميس الساعة 16:00. المالك: قائد الفريق الهندسي. وإلا: توقف، والنافذة التالية يوم الأحد.
- الشرط C2، قبل النشر: إحاطة فريق الدعم ونشر ملاحظة بالمشكلة المعروفة DEF-417. المالك: قائد فريق الدعم. وإلا: يبقى العربون معطّلاً.
- الشرط C3، أثناء الطرح: يُفعَّل العربون لعيادة واحدة، ويُجري قائد فريق الجودة دفعة حقيقية صغيرة واستردادها في بيئة الإنتاج؛ ولا تتبعها بقية العيادات صباح اليوم التالي إلا إذا لم يُظهر المزوّد أي عملية دفع فاشلة أو مكررة خلال الليل. المالك: قائد فريق الجودة مع المهندس المناوب. وإلا: يُعطَّل العلم، وتستمر الحجوزات دون عربون.
- الشرط C4، بعد الإصدار: إصلاح DEF-417 في الإصدار 2.8.1 خلال سبعة أيام. المالك: قائد الفريق الهندسي. وإلا: يعيد مالك المنتج النظر في المخاطرة المقبولة، وتبقى ملاحظة المشكلة المعروفة منشورة حتى يصدر الإصلاح. المخاطرة المقبولة: بعض رسائل الإيصال العربية تخلو من العنوان.
- الفحص النهائي، الخميس الساعة 17:00: تحقق C1 وC2 مع روابط الأدلة، فيؤكد مالك المنتج المضي، ويُرسَل سجل القرار إلى جميع أصحاب المصلحة.
أخطاء شائعة
- التعامل مع الجاهزية على أنها «نجحت كل الاختبارات» دون السؤال عن التراجع والمراقبة والدعم والموافقات.
- تحديد المعايير الإلزامية أثناء الاجتماع وتحت ضغط الموعد.
- استخدام الاجتماع لاكتشاف المشكلات بدلاً من مراجعة أدلة أُرسلت مسبقاً.
- شروط بلا مالك أو موعد نهائي أو بديل، فيتحول المضي المشروط بصمت إلى مضيّ عادي.
- أن يعتمد المختبِر الجودة وحده: فالمختبِر يقدّم الأدلة والتوصية، وصاحب القرار يقرّر.
- غياب سجل مكتوب للقرار والمخاطر المقبولة وما إذا تحققت الشروط.
من منظور ضمان الجودة
ابدأ العمل على الجاهزية عند التخطيط للإصدار: اقترح القائمة مع المسؤولين الآخرين، وحدّد المعايير الإلزامية، واتفقوا على من يقرّر. وأثناء الاختبار حدّث جزء المنتج باستمرار حتى تروي القائمة وتقارير الاختبار التي تكتبها القصة نفسها.
في الاجتماع تحدّث بلغة الأدلة والأثر على المستخدم، وقدّم توصية واضحة (مضيّ، أو مضيّ مشروط بهذه الشروط، أو توقف)، وقل ما الذي قد يغيّرها. وبعد المضي المشروط تابع الشروط كما تتابع حالات الاختبار، وأبلغ عن كل شرط تحقق أو فات موعده. ومع الوقت قارن القرارات بنتائجها: فنسبة فشل التغييرات (Change Fail Rate) لدى DORA، أي نسبة عمليات النشر التي تحتاج إلى تدخل فوري كالتراجع أو الإصلاح العاجل (Hotfix)، يبيّن هل تصمد قرارات المضي.
تمرين عملي
قرّر مصير الإصدار 4.1 لمنصة الرسوم المدرسية
أنت قائد فريق الجودة في اجتماع المضي أو التوقف يوم الثلاثاء للإصدار 4.1 من منصة الرسوم المدرسية، والمخطط إطلاقه يوم الخميس الساعة 21:00. يضيف الإصدار خطط تقسيط الرسوم، وليس لها علم ميزة، وتسعة إصلاحات. القائمة أدناه. ويقترح مدير الفريق الهندسي: «نمضي، ونصلح DEF-905 في السبرنت القادم».
أوصِ بقرار، واكتب السجل الذي يمكن لمالك المنتج اعتماده.
الإصدار 4.1 من منصة الرسوم المدرسية، المخطط: الخميس 21:00
المعايير الإلزامية: لا عيوب حاجبة أو حرجة مفتوحة؛ تمرين التراجع منجز؛
تنبيهات للمكوّنات الجديدة
المعايير المرغوبة: بقية البنود
المنتج: نجح 518 من 520 اختبار انحدار؛ الاختباران الفاشلان: DEF-905 وDEF-902
المنتج: DEF-905 (حرج): مجموع الأقساط يزيد 1 ريال على الرسوم حين لا تقبل
الرسوم القسمة على 3؛ لم تؤكد المالية قاعدة التقريب بعد (اجتماع الأربعاء 10:00)
المنتج: DEF-902 (ثانوي): الشعار في غير مكانه في إيصالات PDF العربية؛ النص صحيح
المنتج: زمن p95 لواجهة الدفع 610 ms عند الذروة المتوقعة (الهدف: 800 ms كحد أقصى)
التشغيل: تمرين التراجع على staging ناجح، 12 دقيقة
التشغيل: تنبيهات مُجدوِل الأقساط الجديد غير مضبوطة
الدعم: أُحيط الفريق؛ الأسئلة الشائعة لأولياء الأمور مسودة بانتظار الاعتماد
الأعمال: رسالة بريد لأولياء الأمور تعلن التقسيط معتمدة، وتُرسل يوم الجمعة- صنّف البنود إلى متحقق وغير متحقق، وحدّد البنود الإلزامية غير المتحققة.
- اختبر اقتراح مدير الفريق الهندسي مقابل الأجزاء الخمسة للشرط.
- اختر المضي أو المضي المشروط أو التوقف، وعلّل اختيارك بالأدلة.
- اكتب كل شرط مع مالكه وموعده النهائي وبديله، ثم المخاطر المقبولة.
إظهار الإجابة النموذجية
غير متحقق: DEF-905 (إلزامي: لا عيوب حاجبة أو حرجة مفتوحة)، وتنبيهات المُجدوِل (إلزامي: تنبيهات للمكوّنات الجديدة)، والأسئلة الشائعة لأولياء الأمور (مرغوب). واختبارا الانحدار الفاشلان هما DEF-905 وDEF-902؛ وDEF-902 ثانوي، فلا يشمله أي معيار إلزامي. وكل ما عدا ذلك متحقق: نجح تمرين التراجع، وزمن p95 لواجهة الدفع 610 ms مقابل حد أقصى 800 ms.
الاقتراح ليس شرطاً. فبمقياس الأجزاء الخمسة لا نتيجة فيه يمكن فحصها قبل أن يتأثر المستخدمون، ولا مالك مسمّى، ولا موعد نهائي واضح («السبرنت القادم» عبارة مبهمة)، ولا بديل، ولا قبول مسجّل للمخاطرة. ولأن الميزة بلا علم ميزة، فلا شيء يحتوي العيب: فابتداءً من ليلة الخميس سيدفع أولياء الأمور ريالاً زائداً إذا اختاروا التقسيط لرسوم لا تقبل القسمة على 3. وقبول ذلك قرار مالك المنتج، مسجّلاً، وأنت توصي بعدمه.
أوصِ بمضيّ مشروط مع فحص نهائي يوم الخميس الساعة 16:00. الشرط C1: تؤكد المالية قاعدة التقريب يوم الأربعاء، ويُصلَح DEF-905 وينجح في اختبار التأكيد وفي إعادة تشغيل حزمة الانحدار بحلول الخميس الساعة 15:00 (المالك: قائد الفريق الهندسي). الشرط C2: ضبط تنبيهات المُجدوِل واستلام تنبيه تجريبي بحلول الخميس الساعة 15:00 (المالك: المهندس المناوب). وإذا فات أيٌّ منهما: توقف، والنافذة التالية الأحد الساعة 21:00، وتُؤجَّل رسالة الجمعة إلى أولياء الأمور.
الشرط C3: اعتماد الأسئلة الشائعة قبل رسالة الجمعة (المالك: قائد فريق الدعم)، وإلا يجيب الدعم استناداً إلى إحاطته. المخاطرة المقبولة، مسجّلة بموافقة مالك المنتج: DEF-902، ويُصلح في الإصدار 4.1.1.
أسئلة شائعة
من يتخذ قرار المضي أو التوقف؟
صاحب قرار محدد بالاسم ومتفق عليه مسبقاً، وعادةً مالك المنتج أو مدير الإصدار أو مالك الأعمال، لأنه المسؤول عن مخاطر الأعمال. أما مسؤولو الجودة والهندسة والتشغيل والدعم فيقدّمون الأدلة والتوصيات. وإذا لم يُسمَّ أحد قبل الاجتماع، فاحسموا ذلك أولاً.
هل المضي المشروط هو نفسه استثناء البوابة؟
لا، وإن ظهرا معاً كثيراً. الاستثناء، كما في درس بوابات الجودة، يتجاوز معياراً واحداً مع سبب مسجّل وتاريخ انتهاء. أما المضي المشروط فقرار يعتمد على ما يحدث بعد الاجتماع: إذا لم يتحقق شرط بحلول موعده، يُطبَّق البديل المتفق عليه، كالتوقف أو تعطيل علم الميزة.
هل تعقد الفرق التي تنشر مرات عدة في اليوم اجتماعات المضي أو التوقف؟
ليس لكل تغيير عادةً. ففي النشر المستمر تُبنى معايير الجاهزية في بوابات خط الأنابيب الآلية وأعلام الميزات والطرح التدريجي، ويكون كل تغيير صغيراً. لكن الاجتماع يبقى شائعاً للتغييرات عالية المخاطر على الأعمال، مثل إطلاق مرتبط بموعد تسويقي، أو تغيير تنظيمي، أو ترحيل بيانات، أو مزوّد دفع جديد.
ماذا لو اختار صاحب القرار المضي خلافاً لتوصيتي؟
هذا قراره ما دام قد اطّلع على الأدلة. تأكّد أن السجل يذكر توصيتك والمخاطرة بلغة أثرها على المستخدم ومن قبِلها، ثم ساعد في تقليلها بالمراقبة وبحل بديل للدعم وبموعد للإصلاح. ولا تصعّد إلا إذا عُرضت الأدلة على غير حقيقتها أو تُجووز معيار إلزامي دون تسجيل.
المراجع
- ISTQB Certified Tester Foundation Level (CTFL) v4.0المنهج التأسيسي لاختبار البرمجيات: مستويات الاختبار وأنواعه وتقنيات تصميم الاختبارات وإدارة الاختبار والأدوات.
- Canarying Releases — The Site Reliability Workbookإطلاق التغيير لنسبة صغيرة من الحركة أولاً ومقارنته بخط الأساس قبل التعميم — التحقق من النشر كما يُمارس في هندسة موثوقية المواقع.
- DORA's software delivery performance metricsمقاييس DORA للتسليم — زمن تنفيذ التغيير وتكرار النشر وزمن التعافي من النشر الفاشل ونسبة فشل التغييرات وما يتصل بها — مجمّعة حسب الإنتاجية وعدم الاستقرار.
تدرّب بأدوات متقن
قيّم الميزات حسب الاحتمالية والأثر، ثم ولّد خطة اختبار مبنية على المخاطر ومرتّبة حسب الأولوية.
أنشئ جداول القرار من الشروط والإجراءات، وولّد جميع تركيبات القواعد، واختزل المستحيل منها.
افحص عدة نقاط نهاية لصحة API دفعة واحدة واحصل على الحالة وزمن الاستجابة وملخّص نجاح/فشل.
توحيد تنسيق Markdown (العناوين والقوائم والجداول والتأكيد) ومعاينة النتيجة المعروضة.
حوّل ملفات Markdown (md.) إلى PDF في متصفحك: العناوين والقوائم والجداول وكتل الشيفرة والاقتباسات والروابط والصور منسّقة بخطوط مضمّنة.
للتعمّق أكثر
تقدّمك في هذا الموضوع
سجّل الدخول لتتابع تقدّمك
علّم الموضوعات مكتملة، وتابع من حيث توقفت، وافتح امتحانات التخصص.