ما هو Backlog؟

هو قائمة منظمة من المهام.

📋

التعريف

Backlog (قائمة الأعمال المتأخرة) هو قائمة مرتبة ومتطورة من جميع المهام والميزات والتحسينات والإصلاحات المطلوبة لتطوير منتج أو مشروع. يُعد Backlog المصدر الوحيد للحقيقة (Single Source of Truth) لكل ما يحتاج الفريق إلى إنجازه.

في Scrum، يُعد الـ Backlog من أهم المنتجات الفنية (Artifacts) التي يعتمد عليها الفريق في التخطيط والتنفيذ. وفقًا لتقرير State of Agile، تعتبر إدارة الـ Backlog من أكبر التحديات التي تواجه فرق أجايل، حيث يعاني 48% من الفرق من صعوبة في ترتيب الأولويات.

🔑

الأهمية

الـ Backlog يخدم عدة أغراض حيوية:

  • مرجع مركزي: مكان واحد لجميع متطلبات المشروع
  • أداة تخطيط: يساعد في تخطيط Sprints والإصدارات
  • تحديد الأولويات: ترتيب المهام حسب القيمة والأهمية
  • الشفافية: رؤية واضحة لحالة العمل لجميع أصحاب المصلحة
  • التعاون: أداة تواصل بين الفريق التقني وأصحاب الأعمال
  • التكيف: يتغير ويتطور مع تغير فهمنا للمنتج والسوق
📦

أنواع الـ Backlog

Product Backlog (قائمة المنتج)

القائمة الرئيسية لكل ما يحتاجه المنتج:

  • يديرها مالك المنتج (Product Owner) في Scrum
  • تحتوي على قصص المستخدم، ميزات، تحسينات، إصلاحات أخطاء، وديون تقنية
  • مرتبة حسب القيمة للعميل والأعمال
  • الالتزام: هدف المنتج (Product Goal)
  • تتطور باستمرار - لا تكتمل أبدًا ما دام المنتج حيًا

Sprint Backlog (قائمة Sprint)

مجموعة العناصر المختارة لـ Sprint الحالي:

  • ينشئها ويديرها المطورون في Scrum
  • تحتوي على عناصر من Product Backlog + خطة التنفيذ
  • الالتزام: هدف Sprint (Sprint Goal)
  • لا يتم تعديلها خلال Sprint (إلا إذا تفاوض الفريق مع مالك المنتج)

Release Backlog (قائمة الإصدار)

مجموعة العناصر المخطط تضمينها في إصدار محدد:

  • مفيدة للتخطيط طويل الأمد والتواصل مع أصحاب المصلحة
  • تتضمن عناصر من عدة Sprints
  • مرتبطة بـ خارطة الطريق
📝

عناصر الـ Backlog

أنواع العناصر

النوع الوصف المثال
Epic مجموعة عمل كبيرة نظام المدفوعات
قصة مستخدم متطلب من منظور المستخدم كمستخدم، أريد الدفع ببطاقة
مهمة (Task) عمل تقني محدد إعداد بوابة الدفع
خطأ (Bug) مشكلة تحتاج إصلاح خطأ في حساب الضريبة
Spike بحث تقني تقييم بوابات الدفع
دين تقني تحسينات تقنية إعادة هيكلة كود المدفوعات

مواصفات عنصر Backlog الجيد (INVEST)

  • I - Independent (مستقل): يمكن تطويره بشكل منفصل
  • N - Negotiable (قابل للتفاوض): ليس عقدًا صارمًا
  • V - Valuable (ذو قيمة): يقدم قيمة للمستخدم أو الأعمال
  • E - Estimable (قابل للتقدير): يمكن تقدير حجمه
  • S - Small (صغير): صغير بما يكفي ليُنجز في Sprint واحد
  • T - Testable (قابل للاختبار): يمكن التحقق من اكتماله
🎯

تحديد الأولويات

يجب ترتيب عناصر الـ Backlog حسب الأولوية. تقنيات شائعة:

MoSCoW

  • Must Have: ضرورية لنجاح المنتج
  • Should Have: مهمة لكن ليست حرجة
  • Could Have: مرغوبة إذا توفر الوقت
  • Won't Have: مؤجلة لوقت لاحق

WSJF (Weighted Shortest Job First)

يُستخدم في SAFe:

WSJF = (قيمة الأعمال + أهمية الوقت + تقليل المخاطر) ÷ حجم العمل

تكلفة التأخير (Cost of Delay)

تقدير الخسارة المالية الناتجة عن تأخير تسليم ميزة معينة.

مصفوفة القيمة/الجهد

تصنيف العناصر في أربع فئات:

  • قيمة عالية / جهد منخفض: أولوية أولى (Quick Wins)
  • قيمة عالية / جهد عالي: مشاريع استراتيجية
  • قيمة منخفضة / جهد منخفض: ملء الوقت
  • قيمة منخفضة / جهد عالي: تجنب
🔄

تنقيح الـ Backlog (Refinement)

تنقيح الـ Backlog (كان يُسمى Grooming) هو عملية مستمرة لتحسين عناصر القائمة:

الأنشطة

  • تفصيل العناصر العليا: إضافة تفاصيل ومعايير القبول
  • تقدير الحجم: باستخدام فيبوناتشي أو بوكر التخطيط
  • إعادة الترتيب: تحديث الأولويات بناءً على معلومات جديدة
  • تقسيم العناصر الكبيرة: تقسيم Epics إلى قصص أصغر
  • إزالة العناصر القديمة: حذف ما لم يعد مطلوبًا

أفضل الممارسات

  • خصص 10% من وقت Sprint للتنقيح
  • شارك المطورين في التنقيح (وليس مالك المنتج فقط)
  • تأكد أن العناصر الثلاثة الأولى جاهزة دائمًا وتستوفي تعريف الجاهزية
  • لا تفصّل العناصر البعيدة جدًا - ستتغير على الأرجح
📊

إدارة الـ Backlog بالأدوات

الأداة الميزة الرئيسية
Jira إدارة Backlog شاملة مع Scrum وKanban
Asana واجهة بسيطة لفرق الأعمال
Azure DevOps تكامل مع بيئة Microsoft
Linear حديث وسريع لفرق التطوير
Trello لوحة Kanban بسيطة ومرئية
Notion مرنة ومتعددة الاستخدامات
🌍

إدارة الـ Backlog في الشرق الأوسط

  • التحدي الثقافي: التحول من "المدير يحدد المتطلبات" إلى "مالك المنتج يدير الـ Backlog بالتعاون مع أصحاب المصلحة"
  • الفرق الموزعة: فرق تطوير موزعة بين الخليج ومصر والأردن تتطلب Backlog واضح ومفصّل
  • التوطين: بعض الفرق تدير الـ Backlog بالعربية، لكن المصطلحات التقنية تبقى بالإنجليزية
  • التنظيم: المؤسسات الكبيرة في السعودية والإمارات تستخدم SAFe مع Backlogs متعددة المستويات
⚠️

أخطاء شائعة

  1. Backlog لا نهائي: تراكم مئات العناصر بدون مراجعة
  2. عدم الترتيب: جميع العناصر بنفس الأولوية
  3. تفاصيل مبكرة: تفصيل عناصر لن تُنفذ لأشهر
  4. عدم إشراك الفريق: مالك المنتج يدير وحده دون التشاور
  5. إهمال الدين التقني: التركيز على الميزات الجديدة فقط
  6. عدم التنقيح: ترك عناصر قديمة وغامضة في القائمة

الأسئلة الشائعة

كم عنصر يجب أن يحتوي الـ Backlog؟

لا يوجد عدد محدد، لكن القاعدة العملية: 2-3 Sprints من العناصر المفصّلة في الأعلى، والباقي بشكل عام. إذا تجاوز 100 عنصر، راجعه واحذف ما لم يعد مطلوبًا.

من المسؤول عن الـ Backlog؟

في Scrum، مالك المنتج (Product Owner) هو المسؤول الرئيسي عن ترتيب الأولويات ومحتوى الـ Backlog. لكن المطورين يشاركون في التفصيل والتقدير، والجميع يمكنهم اقتراح عناصر.

ما الفرق بين Product Backlog وSprint Backlog؟

Product Backlog هو القائمة الكاملة لكل ما يحتاجه المنتج (مديره: مالك المنتج). Sprint Backlog هو مجموعة العناصر المختارة لـ Sprint واحد مع خطة التنفيذ (مديرها: المطورون).

كيف أتعامل مع Backlog كبير جدًا؟

اعقد جلسة "تنظيف" حيث يراجع الفريق كل عنصر: هل ما زال مطلوبًا؟ هل تغيرت الأولوية؟ احذف العناصر التي لم تُلمس لأكثر من 6 أشهر. ركّز على تفصيل أعلى 20% فقط.

هل الـ Backlog ثابت أم متغير؟

الـ Backlog قائمة حية تتغير باستمرار. عناصر جديدة تُضاف، أخرى تُحذف، والأولويات تتغير مع تغير فهمنا للسوق واحتياجات العملاء. هذه المرونة هي قوة أجايل.

🍄

هل تريد معرفة المزيد؟

إذا كنت مهتمًا بمعرفة المزيد عن Backlog، تواصل معي على X. أحب مشاركة الأفكار والإجابة على الأسئلة ومناقشة الفضول حول هذه المواضيع، لذا لا تتردد في زيارة صفحتي. أراك قريبًا!