The "Story" Of Managing and Prioritizing the ART Backlog

 

الفصل الجديد – “مزرعة الأولويات”

بعد ما كريم حط الرؤية، والاستراتيجية، والـ Roadmap، بدأ يدخل في واحدة من أصعب مسؤولياته…
إدارة وترتيب الـ ART Backlog.

الفريق كان ضخم، وده ART كامل (Agile Release Train)، مش مجرد Squad صغيرة.
تقريبًا 80 شخص شغالين على نفس المنتج:
Developers – QA – UX – Business Owner – Architects – Release Manager – Trainers … إلخ.

فكان لازم كريم يحوّل الـ Backlog من “قائمة Features” إلى آلة توصل للنتائج.


1) جمع المدخلات من كل الأطراف — “The Intake Stream”

أول خطوة أخدها كريم إنه فتح “بوابة منظمة” للطلبات بدل ما كل واحد يبعت Feature على Slack.

المدخلات كانت بتيجي من:

  • المديرين

  • المدربين

  • المتدربين اللي شاركوا في الـ Pilot

  • فريق الدعم الفني

  • الــ Business Owner

  • الــ Architects

  • الـ UX Team

وكل طلب لازم يعدي على 3 أسئلة:

  1. هو بيحل Pain؟

  2. بيحقق Gain؟

  3. ولّا مجرد Nice to have؟

وأي Feature مش محسوبة… تتحط في Parking Lot.


2) تحويل الطلبات إلى Epics و Features — “Structure Before Chaos”

كريم اكتشف إن 70% من الطلبات كانت مكتوبة بشكل… مهزوز.

زي:

  • “عايزين Dashboard أقوى.”

  • “عايزين Chat جوه الـ LMS.”

  • “المتدربين مش عاجباهم الصفحة الأولى.”

فكان بيعمل جلسة Refinement مع صاحب كل طلب.
ويحوّل الطلب لـ:

  • Epic لو كبير جدًا

  • Feature لو متوسط

  • Story لو واضح وصغير

  • Spike لو محتاج بحث: يعني الفريق مش عارف حاجة مهمة قبل ما يشتغل في الـ Feature.

    فبيعمل Spike لمدة يومين–ثلاثة مثلاً علشان:

    • يجرب فكرة

    • يفهم تقنية جديدة

    • يشوف الـ API بيدعم إيه

    • يقيس الوقت اللي هتحتاجه ميزة معينة

    • يحسم “نقدر نعملها؟ ولا لأ؟”

    Spike = تجربة صغيرة قبل ما نطبخ الطبخة.

  • Enabler لو متعلق بالمعمارية: Enabler = حاجة مش بيشوفها العميل…

    لكن لو ما تعملتش، كل النظام هيقع.
    هي “الشغل اللي تحت السطح”.

    Enablers عادة بتبقى:

    • تحسين معماري

    • Refactoring

    • Security work

    • Performance enhancements

    • تجهيز API

    • بناء بنية تحتية Feature محتاجاها

    Enabler = أساس البيت اللي ماحدش شايفه.

وبكده بقى الـ Backlog مفهوم ومترتب بدل ما يكون حديقة مليانة ورق.


3) استخدام Weighted Shortest Job First (WSJF) — “لما الرياضيات تدخل الفن”

علشان الـ ART يعرف يرتّب أولوياته، كريم استخدم WSJF.

قعد مع الـ Business Owner والـ Architects وقيموا كل Feature باستخدام:

  • Business Value ده ببساطة:

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

    • هتحل مشكلة مهمة؟

    • هتزود إنتاجية؟

    • هتوفّر فلوس؟

    • هتريح المتدربين؟

    • هتقلل وقت؟

    • هتخليهم سعداء؟

    • هتزود نسبة الالتزام؟

    كل ما القيمة أكبر → الترتيب أعلى.

  • Time Criticality
    هل الميزة لازم تتسلم بسرعة؟

    هل ورانا موعد نهائي محدد؟
    هل تأخيرها هيعمل ضرر؟

    يعني:
    لو اتأخرت… هتخسر؟ ولا عادي؟

  • Risk Reduction / Opportunity Enablement تقليل المخاطر أو فتح فرص

    الميزة دي:

    • بتقلل خطر؟

    • بتمنع مشكلة كبيرة قدام؟

    • بتفتح باب لفرص مستقبلية؟

    • بتخلّينا نقدر نضيف Features أكبر بعدين؟

    لو الإجابة نعم → قيمتها أعلى.

  • Effort (Job Size) حجم الجهد

    الشغل ده هياخد قد إيه؟

    ده مقياس “الحجم”، مش “التعقيد” فقط:

    • عدد الأيام

    • عدد المطورين

    • وجود Testing كتير

    • محتاج UX ولا لأ

    • محتاج Integration

    • محتاج Backend وFrontEnd؟

    • محتاج بحث؟

    كل ما الميزة أصغر → الـ WSJF أعلى
    لأن:
    القيمة العالية + المدة القصيرة = أولويات قصوى

والنتيجة؟
بدل ما العميل يطلب “الأكتر إللي يعجبه”، بقى في معادلة عادلة.

مثال:

FeatureBVTCRR/OESizeWSJF
Smart Reports2010857.6
Gamification103281.8

وبكده اتضح إن Smart Reports لازم تيجي قبل اللعب والشارات.


4) اجتماع الأولويات مع الـ ART — “Alignment Is Everything”

في أول ART Sync بعد وضع WSJF:

  • الـ UX كان عايز يحط Gamification بدري

  • الـ Architect كان عايز يبدأ بالـ Scalability

  • الـ QA كان خايف من features معقدة

  • الـ Business Owner كان عايز تقارير فورًا

كريم قال الجملة اللي حسمت الاجتماع:

“إحنا ما بنرتّب بالمزاج… إحنا بنرتّب على قيمة.”

عرض أرقام WSJF، وربط كل Feature بالرؤية والاستراتيجية.
فلاقى إن كل الأطراف ابتدت تهز راسها بالموافقة من غير شد وجذب.


5) إدارة Dependencies — “لعبة الدومينو”

كريم فتح لوحة Dependencies وبدأ يربط:

  • Attendance Automation محتاجة Data Pipeline الأول

  • Dashboard محتاج Reports جاهزة

  • Learning Paths محتاجة Content Uploader

  • Mobile Enhancements محتاجة refactor للـ API

وبقى بيراجعها في كل PI Planning.

وبكده قلّل احتمالية إن Feature تتبني وتتقلّب بكرة “مش شغالة”.


6) إعداد الـ PI Planning — “يوم الامتحان”

لما وصل يوم PI Planning، كريم كان جاهز:

  • Backlog مرتب

  • WSJF واضح

  • Dependencies mapped

  • Vision متراجعة

  • Risks مكتوبة

  • Roadmap متحدّث

خلال الجلسة:

  • كل فريق أخذ Features مناسبة ليه

  • كل Feature اتقسّمت لـ Stories

  • اتحددت الـ Iterations

  • اتعملت Commitments واضحة

  • واتكتبت Objectives قابلة للقياس

وفي آخر اليوم…
الـ ART كله كان متحمس ويقول:

“الخطة ماشية… مش ماشية بينا.”


7) متابعة التنفيذ — “Backlog مش إعلان… ده كائن حي”

مع كل Sprint:

  • كريم يراجع الأولويات

  • يشيل Features فقدت قيمتها

  • يعلي Features اتطلبت بشكل عاجل

  • يحدّث الـ WSJF

  • يربط كل Story بالـ Outcome المناسب

  • يعمل Re-alignment مع الـ Business Owner

الـ Backlog كان بيتنفس حرفيًا.


8) مشاركة التقدم مع العميل — “Transparency Builds Trust”

كل أسبوع كان كريم يعمل:

  • Demo صغير

  • Highlight لأهم المخرجات

  • تحديث على الـ Backlog

  • قرارات الأولوية اللي اتغيرت وليه

  • تأثير كل Feature على الـ KPIs

والعميل قال له:

“أول مرة نبقى شايفين خطة ماشية على الأرض بالشكل ده.”


🎬 النهاية: Backlog مش بوفيه… Backlog خطة حياة

بفضل إدارة كريم للـ ART Backlog:

  • قلّت الطلبات العشوائية

  • اتحط نظام عادل للأولويات

  • اتحولت الداتا لأداة قرار

  • مشي ART كامل في اتجاه واحد

  • والـ LMS اتبنى بالسرعة والقيمة المطلوبة

وبقى كلام الشركة على كريم:

“اللي يمسك Backlog بالطريقة دي… يمسك بلد.”

Comments

Popular posts from this blog

Maxpooling vs minpooling vs average pooling

Best Practices for Storing and Loading JSON Objects from a Large SQL Server Table Using .NET Core

Generative AI - Prompting with purpose: The RACE framework for data analysis