التكلفة الخفيّة في الاستعانة بمصادر خارجية لضمان الجودة: دَيْن المعرفة
يُنظَر إلى الاستعانة بمصادر خارجية لضمان الجودة غالبًا على أنها وسيلة فعّالة لخفض التكاليف. إذْ يمكن للمؤسسات خفض النفقات التشغيلية مع الحفاظ على مؤشّرات اختبار ممتازة مثل التغطية العالية لحالات الاختبار. مع ذلك، قد تُخفِي هذه الأرقام مشكلة جوهرية على المدى الطويل: فقدان المعرفة بالمُنْتَج.
يُعرَف هذا الفَقْد الخفِي باسم دَيْن المعرفة (Knowledge Debt) وهو التآكل التدريجي للفهم العميق الذي يكتسبه متخصّصو ضمان الجودة ذوو الخبرة من خلال مشاركتهم المُستمرّة في المُنْتَج. وعلى عكس الدَّيْن التقني الذي يؤثّر على قاعدة التعليمات البرمجية (codebase)، يؤثّر دَيْن المعرفة على قُدْرَة المؤسسة على تحديد المخاطر (identify risks) والتحقيق في العيوب (investigate defects) والحفاظ على جودة البرمجيات بمرور الوقت.
أكبر سوء فَهْم هو الاعتقاد بأن ضمان الجودة يقتصر على تنفيذ حالات اختبار مُحدّدة مسبقًا. في الواقع، يعتمد ضمان الجودة الفعّال على فهم المُنْتَج وأهدافه التجارية وتوقّعات المستخدمين والمشاكل السابقة. يُدرِك المختبرون ذوو الخبرة الأنماط (patterns) ويتوقعون مواطن الخلل المحتملة ويستكشفون سيناريوهات قد لا تغطّيها الاختبارات المكتوبة.
تستطيع فِرَق العمل الخارجية (outsourced teams) تنفيذ حالات الاختبار الموثّقة بنجاح لكنها غالبًا ما تفتقِر إلى السياق اللازم لاكتشاف المشكلات غير المتوقّعة. كما أن اجتياز جميع الاختبارات المُخَطّط لها لا يعني بالضرورة أن المُنْتَج موثوق، بل يؤكّد فقط أن السيناريوهات المُحَدّدة مُسبقًا قد سارت كما هو مُتوقّع.
يصبح هذا الاختلاف مهمًّا بشكل خاص في المنتجات المعقّدة حيث لا يمكن التقاط تجربة المستخدم (user experience) أو منطق الأعمال (business logic) أو التفاعلات بين الوظائف (interactions between features) بشكل كامل عن طريق الاختبار الآلي (automated testing) أو النصّي (scripted testing). غالبًا ما تظهر العيوب الخطيرة في المواقف التي تتطلّب الفضول والحدس والإلمام العميق بالمُنْتَج بدلاً من تنفيذ قائمة التحقّق (checklist execution).
الدافع الرئيسي وراء الاستعانة بمصادر خارجية لضمان الجودة (QA outsourcing) عادةً ما يكون خَفْض التكاليف (cost reduction) وليس تحسين الجودة (improved quality). ورغم أن الاستعانة بمصادر خارجية قد تزيد من كفاءة أنشطة الاختبار المتكرّرة، إلا أن المؤسسات قد تُضحّي دون قَصْد بالمعرفة المتراكمة التي تساعد على منع التراجُعات في وظائف كانت تعمل سابقًا (regressions) وتقليل وقت وجُهْد تحليل الأسباب الجذرية (root-cause analysis) وتحديد المخاطر قبل وصولها إلى العملاء.
نادرًا ما تظهر عواقب فقدان المعرفة بشكل فوري، بل تتجلّى تدريجياً من خلال العيوب المتكرّرة وطُول فترات التحقيق (investigation) وزيادة إعادة العمل (increased rework) وتأخير الإصدارات وتراجع استقرار المُنْتَج. وقد تتجاوز هذه التكاليف الخفيّة في نهاية المطاف التوفير الذي تحقّق من خلال الاستعانة بمصادر خارجية. لا يعني هذا أن تتجنّب المؤسسات الاستعانة بمصادر خارجية تمامًا، بل ينبغي عليها التمييز بين المهام التي تتطلّب معرفة عميقة بالمُنْتَج وتلك التي هي في الغالب إجرائيّة (procedural).
يمكن في كثير من الأحيان الاستعانة بمصادر خارجية لتنفيذ الأنشطة الروتينية بنجاح مثل الـ regression testing وتنفيذ مجموعات الاختبارات المُحدّدة مُسبقًا (predefined test suites). مع ذلك، ينبغي أن تبقى المسؤوليات ذات القيمة العالية (high-value) مثل الاختبارات الاستكشافية (exploratory testing) والتحقّق من صحّة الإصدار (release validation) واستراتيجية الجودة (quality strategy) ومسؤولية تجربة المستخدم (user experience) مرتبطة ارتباطًا وثيقًا بفريق المُنْتَج الداخلي أو بشركاء موثوق بهم على المدى الطويل والذين يندمجون بِعُمْق في عملية التطوير.
تعتمد جودة البرمجيات المُستدامَة (sustainable software quality) على تحقيق التوازن بين الكفاءة التشغيلية (operational efficiency) وفهم المُنْتَج على المدى الطويل. ينبغي التعامل مع ضمان الجودة بوصفه ركيزة استراتيجية لا كخدمة روتينية. فالمؤسسات التي تحافظ على معرفة المُنْتَج تكون أكثر قدرة على اكتشاف المخاطر مبكرًا وحل المشكلات بكفاءة وتقديم برمجيات موثوقة على المدى البعيد.
وفي الختام
يُعدّ خفض التكاليف أمرًا بالغ الأهميّة ولكن ليس على حساب المعرفة التي تضمن استقرار البرمجيات ورضا المستخدمين. في جودة البرمجيات لا يُعدّ السياق ترفًا، بل أصلًا استراتيجيًا يمنح المؤسسات ميزة تنافسية (context is not a luxury, it is a competitive advantage).
* المصدر والصورة: https://www.softwaretestingmagazine.com/knowledge/the-hidden-knowledge-debt-behind-qa-outsourcing


لا توجد تعليقات