# تكرار النشر (Deployment Frequency)

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

- **المجال:** تقنية المعلومات (IT Operations)
- **الوحدة:** عدد
- **تكرار القياس:** أسبوعي
- **الاتجاه المرغوب:** أعلى أفضل
- **النوع:** قائد (Leading)
- **الرابط:** https://kpihub.co/k/it-deploy-frequency

## الهدف

قياس قدرة الفريق على إيصال التغيير، فدفعة كبيرة كل ربع أخطر وأبطأ من دفعات صغيرة متكرّرة.

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

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

## المعادلة

```
Deployment Frequency = Successful production deployments ÷ Weeks in period
```

اقرأه مع نسبة فشل التغيير دائمًا. النشر أكثر مع فشل أعلى ليس نضجًا بل تسرّعًا، والمؤشران يُقرآن معًا أو لا يُقرآن.

## مثال محسوب

‏96 عملية نشر ناجحة في 12 أسبوعًا على أربعة منتجات. الحساب: 96 ÷ 12 = 8 أسبوعيًّا، لكن منتجًا واحدًا يمثّل 61 منها والثلاثة الباقية 35.

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

النشر اليومي أو الأسبوعي هو الممارسة الناضجة في تطوير البرمجيات، والنشر الشهري أو الربعي يشير إلى اختبار يدوي أو خوف من التغيير. والمعيار يتبع نوع النظام.

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

- ارتفاعه مع ثبات نسبة الفشل هو النضج المطلوب بالضبط
- ارتفاعه مع ارتفاع الفشل يعني تسرّعًا سيعود حوادث
- انخفاضه بعد حادثة كبرى نمط معروف: الخوف يبطّئ أكثر مما يحمي

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

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

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

- اقرأه بالمنتج لا كمجموع، فالمجموع يخفي منتجًا لم يُنشَر منذ شهور
- استثمر في التراجع الآلي قبل زيادة التكرار، فهو ما يجعل السرعة آمنة
- اعرضه مع نسبة الفشل في الرسم نفسه دائمًا

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

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

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

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

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

- الانتقال من نشر شهري إلى أسبوعي يقصّر وصول أي إصلاح للمستخدم ثلاثة أسابيع
- الدفعات الأصغر تجعل تشخيص أي عطل أسرع لأن التغيير المشتبه به أقلّ
- كشف منتج لم يُنشَر منذ شهور يفتح نقاشًا عن نظام متروك

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

### Excel

```excel
=COUNTIFS(Dep[Succeeded],"Yes") / WeeksInPeriod
```

### Power BI (DAX)

```dax
Deployment Frequency =
DIVIDE (
    CALCULATE ( COUNTROWS ( 'Deployment' ), 'Deployment'[Succeeded] = TRUE () ),
    [Weeks In Period]
)
```

### Tableau

```
SUM( IF [Succeeded] THEN 1 ELSE 0 END ) / COUNTD([Week])
```

### SQL

```sql
SELECT product,
       COUNT(*) FILTER (WHERE succeeded) * 1.0
         / NULLIF(COUNT(DISTINCT week), 0) AS deploys_per_week,
       COUNT(*) FILTER (WHERE NOT succeeded) AS failed_deploys
FROM   deployment
WHERE  deployed_at BETWEEN :from_date AND :to_date
GROUP  BY product
ORDER  BY deploys_per_week DESC;
```

---

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