# نسبة فشل التغيير (Change Failure Rate)

> نسبة عمليات النشر التي تسبّبت في تدهور خدمة أو استوجبت تراجعًا أو إصلاحًا عاجلًا، إلى إجمالي النشر.

- **المجال:** تقنية المعلومات (IT Operations)
- **الوحدة:** %
- **تكرار القياس:** شهري
- **الاتجاه المرغوب:** أقل أفضل
- **النوع:** تابع (Lagging)
- **الرابط:** https://kpihub.co/k/it-change-failure

## الهدف

حراسة السرعة، فهو المؤشر الذي يمنع النشر المتكرّر من أن يصير مصدر الحوادث بدل أن يكون علاجها.

## لماذا هو مهم

- أي مؤشر سرعة بلا هذا المؤشر يكافئ التسرّع ويعاقب الحذر
- الفشل بعد النشر أغلى من الفشل في الاختبار بأضعاف، فالمستخدم يدفع الفرق
- يقيس جودة الاختبار والمراجعة معًا، وهما ما يمكن تحسينه فعلًا

## المعادلة

```
Change Failure Rate % = (Deployments causing degradation or rollback ÷ Total deployments) × 100
```

«فشل» يحتاج تعريفًا مكتوبًا: تراجع، أو إصلاح عاجل، أو تدهور مقيس في الأداء. وبلا تعريف يصير الرقم رأيًا يختلف عليه فريقان.

## مثال محسوب

‏96 عملية نشر في الربع، 13 منها استوجبت تراجعًا أو إصلاحًا عاجلًا. الحساب: (13 ÷ 96) × 100 = 13.5%.

## النطاق الاسترشادي

تحت 15% معتاد، وتحت 5% في الفرق الناضجة. والصفر مشكوك فيه: قد يعني نشرًا نادرًا جدًّا أو تعريفًا فضفاضًا لما يُعدّ فشلًا.

## تحليل الاتجاه

- ارتفاعه مع ارتفاع تكرار النشر يعني تسرّعًا لا نضجًا
- تركّزه في منتج واحد يعني تغطية اختبار ناقصة هناك
- انخفاضه بعد أتمتة الاختبار أثر معروف ومستدام

## أسئلة تشخيصية

- ما تعريفنا المكتوب للفشل؟ وبدونه يختلف فريقان على الرقم نفسه
- ما نسبة التغطية بالاختبار الآلي في المنتج الأعلى فشلًا؟
- كم يستغرق التراجع؟ الرقم يحدّد شدّة أثر كل فشل

## نصائح عملية

- اعرضه دائمًا مع تكرار النشر والمهلة، فالثلاثة يوصفون النظام نفسه
- استثمر في التراجع السريع بقدر ما تستثمر في منع الفشل
- اكتب تعريف الفشل ووقّعه بين الفرق قبل أن تقيس

## العرض المناسب

- خط زمني للنسبة مع خط تكرار النشر
- أعمدة بالمنتج للفشل مع تغطية الاختبار
- باريتو لأسباب الفشل

## تحذيرات وفخاخ

- بلا تعريف مكتوب يصير الرقم موضع خلاف دائم بين الفرق
- خفضه بتقليل النشر يبطئ كل شيء ولا يحسّن الجودة
- قراءته منفصلًا عن تكرار النشر تكافئ الجمود

## أثر التغيير

- خفضه من 13.5% إلى 5% يمنع نحو ثماني حوادث ربعيًّا مصدرها النشر نفسه
- أتمتة الاختبار في المنتج الأعلى فشلًا تعالج غالبًا أغلب الحالات
- التراجع الأسرع يخفض أثر كل فشل حتى قبل أن ينخفض عددها

## احسبه في أداتك

### Excel

```excel
=COUNTIFS(Dep[CausedFailure],"Yes") / COUNTA(Dep[DeploymentID])
```

### Power BI (DAX)

```dax
Change Failure Rate % =
DIVIDE (
    CALCULATE ( COUNTROWS ( 'Deployment' ), 'Deployment'[CausedFailure] = TRUE () ),
    COUNTROWS ( 'Deployment' )
)
```

### Tableau

```
SUM( IF [Caused Failure] THEN 1 ELSE 0 END ) / COUNT([Deployment ID])
```

### SQL

```sql
SELECT product,
       COUNT(*) FILTER (WHERE caused_failure) * 100.0
         / NULLIF(COUNT(*), 0)  AS change_failure_pct,
       AVG(rollback_minutes)    AS avg_rollback_minutes,
       MAX(test_coverage_pct)   AS test_coverage
FROM   deployment
WHERE  deployed_at BETWEEN :from_date AND :to_date
GROUP  BY product
ORDER  BY change_failure_pct DESC;
```

---

المصدر: [KPIHub](https://kpihub.co/k/it-change-failure) · مرجع عربي مجاني لمؤشرات الأداء.
