ما المقصود بإطار Scrum؟
Scrum هو إطار إدارة تستخدمه الفرق في التنظيم الذاتي والعمل نحو تحقيق هدف مشترك. يصف هذا الإطار مجموعةً من الاجتماعات والأدوات والأدوار لتحقيق الكفاءة في تسليم المشاريع. الأمر يشبه تمامًا الفريق الرياضي الذي يتمرّن لخوض مباراة كبيرة، حيث إن التمرس على استخدام Scrum يتيح للفرق الإدارة الذاتية، والتعلّم من التجارب السابقة، والتكيّف مع التغير. تستخدم فرق البرمجيات إطار Scrum في إيجاد حلول مستدامة وميسورة التكلفة للمشكلات المعقدة.
ما هي منهجية إطار Scrum؟
في ما يلي بعض المبادئ والقيم التي تميز منهجية إطار Scrum:
مبادئ إطار Scrum لنجاح المشاريع
الشفافية
يعمل الفرق في بيئة يدرك فيها الجميع التحديات التي قد يواجهها الآخرون. تمنع المحادثات المنتظمة وجهًا لوجه بين أعضاء الفريق المتعدد الوظائف وأصحاب المشروع سوء التواصل والصعوبات في الأداء القائمة على المعلومات.
الانعكاس
يتم تضمين نقاط الانعكاس المتكررة في إطار العمل بهدف السماح لأعضاء الفريق باستعراض مدى تقدّمهم. يستخدم مدراء المشاريع الرؤى من اجتماعات الاستعراض هذه لوضع التقديرات والخطط المستقبلية. نتيجة لذلك، يمكن العمل على المشاريع بكفاءة أكبر وضمن حدود الميزانية ووفق الجدول الزمني المحدد.
التكيّف
يمكن لأعضاء الفريق إعادة ترتيب أولويات المهام بناءً على متطلبات العملاء المتغيرة. فيمكنهم أن يحددوا المهام التي يجب إكمالها أولاً وتلك التي يجب العمل عليها في المستقبل.
قيم Scrum لفرق المشاريع
تلتزم فرق Scrum بخمس قيم أساسية.
الالتزام
يلتزم أعضاء فريق Scrum بالمهام والأهداف التي يجب إنجازها وتحقيقها في أوقات محددة، ويكرسون جهودهم في سبيل التحسين المستمر لإيجاد أفضل الحلول.
الشجاعة
تظهر فرق Scrum الشجاعة من خلال طرح أسئلة مفتوحة وصعبة. وهي تجري مناقشات صادقة وشفافة للتوصل إلى أفضل حل.
التركيز
خلال أي فترة معينة، سيعمل أعضاء الفريق على إنجاز المهام وفق قائمة مهام المنتج (Product Backlog). وسيركزون على المهام المحددة لإتمامها في وقت محدود.
الانفتاح
أعضاء فريق إطار Scrum منفتحون على الأفكار والفرص الجديدة التي تدعم التعلم الفردي وجودة المشروع الشاملة.
الاحترام
يحترم أعضاء الفريق بعضهم البعض ومدراء المشروع وعملية إطار Scrum. تخلق ثقافة الاحترام هذه روحًا من التعاون المتبادل والتعاون داخل الفريق الواحد.
آلية عمل إطار Scrum
Scrum هو إطار عمل يسهل تعلّمه ولكن يصعب إتقانه. وضع مخترعا الإطار Scrum، وهما جيف سذرالند وكين شوابر، المفاهيم الأساسية في دليل The Scrum Guide. يقدم الدليل نظرة عامة مفصلة على عمليات إطار Scrum وكيفية تنفيذها بشكل فعال.
يرتكز Scrum في جوهره على فريق ذاتيّ التنظيم يقدم قيمةً للعملاء في فترة زمنية محددة تسمى Sprint ("السبرنت"). يحدد Scrum الأدوات والأدوار والفعاليات المرتبطة بكل Sprint. لنلقِ نظرة إلى هذه المفاهيم بالتفصيل في ما يلي:
ما هي أدوات إطار Scrum؟
تستخدم فرق Scrum أدوات تسمى Scrum Artifacts ("أدوات إطار Scrum") لحل المشاكل وإدارة المشاريع. توفر أدوات إطار Scrum معلومات مهمة عن التخطيط والمهام لأعضاء الفريق وأصحاب المصلحة. هناك ثلاث أدوات أساسية:
قائمة مهام المنتج (Product Backlog)
قائمة مهام المنتج هي قائمة ديناميكية بالميزات والمتطلبات والتحسينات والإصلاحات التي يجب إكمالها لضمان نجاح المشروع. وهي في الأساس قائمة بمهام الفريق تتم مراجعتها باستمرار وإعادة ترتيب أولوياتها للتكيف مع تغيرات السوق. يحتفظ مالك المنتج بالقائمة ويحدّثها، ويزيل بنود العمل غير المناسبة أو يضيف طلبات جديدة من العملاء.
قائمة مهام Sprint (Sprint Backlog)
قائمة مهام Sprint هي قائمة ببنود العمل التي يتعين على فريق التطوير إنجازها في دورة Sprint الحالية. قبل بدء كل Sprint، يختار الفريق بنود العمل التي سينجزها من قائمة مهام المنتج. تعد قائمة مهام Sprint مرنة ويمكن أن تتطور وتتغير أثناء دورة Sprint.
المنتجات الجزئية (Increment)
المنتجات الجزئية هي خطوة نحو هدف أو رؤية. وهي المنتج النهائي القابل للاستخدام بعد انتهاء دورة Sprint. يمكن للفرق اعتماد طرق مختلفة لتحديد أهداف Sprint الخاصة بهم وإظهارها. على الرغم من مرونة أهداف Sprint، لا يمكن المساومة على هدف Sprint الأساسي، أي النتائج المرجوّة من دورة Sprint الحالية التي حددها الفريق.
على سبيل المثال، تختار بعض الفرق إطلاق منتج لعملائها في نهاية دورة Sprint، وبالتالي يتم إنجاز هدف Sprint بمجرد نشر التغييرات في البرنامج. قد تعمل الفرق الأخرى على إكمال مجموعة من الميزات التي سيتم إطلاقها في الوقت نفسه. في هذه الحالة، سيتم إكمال هدف Sprint عند اختبار الميزة بنجاح.
ما هي أدوار Scrum؟
يحتاج فريق Scrum إلى ثلاثة أدوار محددة: مالك المنتج (Product Owner)، وقائد Scrum، وفريق تطوير.
مالك المنتج
يركز مالك المنتج على ضمان تعظيم القيمة التي يقدمها فريق التطوير للشركة. فهو يفهم الاحتياجات المتغيرة للمستخدمين النهائيين والعملاء ويرتّبها بحسب الأهمية. يقوم مالكو المنتج الفعّالون بما يلي:
- منح الفريق إرشادات واضحة حول الميزات التالية التي يجب تقديمها.
- سد الفجوة بين احتياجات العمل وفهم الفريق.
- تحديد وقت وآلية إصدار الميزات أو المنتجات.
قائد Scrum
- جدولة الموارد اللازمة لكل Sprint.
- تيسير فعاليات Sprint واجتماعات الفريق الأخرى.
- قيادة التحول الرقمي داخل الفريق.
- تسهيل أي تدريب للفريق عند استخدام تقنيات جديدة.
- التواصل مع المجموعات الخارجية لحل أي تحديات قد يواجهها الفريق ككل.
فريق تطوير Scrum
يتكون فريق Scrum من المختبرين والمصممين والمتخصصين في تجربة المستخدم ومهندسي العمليات والمطورين. يمتلك أعضاء الفريق مجموعات مهارات مختلفة ويدرّبون بعضهم البعض، ما يساعد كل منهم على تفادي مواجهة الصعوبات وعرقلة عملية تقديم المهام.
يوصي جيف بيزوس، مؤسس Amazon، بقاعدة علبتين من البيتزا عند تحديد حجم الفريق: يجب أن يكون الفريق صغيرًا بما يكفي لمشاركة علبتين من البيتزا.
تقوم فرق تطوير Scrum بما يلي:
- العمل بشكل تعاوني لضمان إكمال Sprint بنجاح.
- ريادة ممارسات التنمية المستدامة.
- التنظيم الذاتي والعمل بروح الفريق الواحد عند إنجاز المشاريع.
- توجيه التخطيط وتقدير كمية العمل الممكن إنجازها خلال كل دورة Sprint.
ما هي فعاليات Scrum؟
فعاليات Scrum أو احتفالات Scrum هي مجموعة من الاجتماعات المتسلسلة التي تجريها فرق Scrum بانتظام. تتضمن بعض فعاليات إطار Scrum ما يلي:
التخطيط لدورة Sprint (Sprint Planning)
في هذه الفعالية، يقدّر الفريق العمل المُتوقّع إنجازه في دورة Sprint القادمة. يضع الأعضاء أهداف دورة Sprint التي تكون محددة وقابلة للقياس والتحقيق. في نهاية اجتماع التخطيط، يكون كل عضو Scrum قد اكتسب فهمًا عن كيفية تسليم كل من المنتجات الجزئية في دورة Sprint.
دورة Sprint
Sprint هي الفترة الزمنية الفعلية التي يعمل خلالها فريق Scrum معًا لتقديم منتجات جزئية. عادةً ما تبلغ المدة النموذجية لدورة Sprint أسبوعين، ولكن يمكن أن تختلف باختلاف احتياجات المشروع والفريق. كلما كان العمل أكثر تعقيدًا وكلما زادت التحديات غير المعروفة بعد، تكون دورة Sprint أقصر.
اجتماع Scrum اليومي أو الاجتماع وقوفًا
اجتماع Scrum اليومي هو اجتماع قصير يقوم فيه أعضاء الفريق بالمشاركة والتخطيط لليوم. كما يبلغون عن العمل المنجز ويشاركون أي تحديات في تحقيق أهداف Sprint. يطلق عليه اسم "الاجتماع وقوفًا" لأنه يهدف إلى جعل الاجتماع قصيرًا وعمليًا بنفس الوقت، كما هو الحال عندما يقف الجميع.
مراجعة Sprint
في نهاية دورة Sprint، يجتمع الفريق في جلسة غير رسمية لمراجعة العمل المنجز وعرضه على أصحاب المصلحة. قد يقوم مالك المنتج أيضًا بتعديل قائمة مهام المنتج بناءً على نتائج دورة Sprint الحالية.
استعراض نتائج Sprint السابقة
يجتمع الفريق معًا لتوثيق الإنجازات والإخفاقات أثناء دورة Sprint ومناقشتها. يتم استخدام الأفكار المطروحة لتحسين أداء دورات Sprint المستقبلية.
ما أهمية إطار Scrum في تطوير البرمجيات؟
جميع أنواع الفرق، مثل الموارد البشرية والتسويق والتصميم، تستخدم Scrum بفعالية. ومع ذلك، فإن إطار Scrum أكثر انتشارًا في فرق تطوير البرمجيات والهندسة. هذا يسمح للفرق بالاستجابة بسرعة أكبر للمتطلبات المتغيرة مع تتبّع التكاليف وعدم تجاوز الميزانية الموضوعة. يُعتبر هذا الإطار مهمًا للأسباب التالية:
القدرة على الحفاظ على الجودة في المواقف الصعبة.
تضمين فحوصات ضمان الجودة في إطار عمل إطار Scrum. تحديد الفرق للمتطلبات في بداية كل دورة Sprint. إجراء الفرق أيضًا لتقييم شامل للبرنامج أو دورة حياة المنتج أثناء وضع رؤية الفريق المتعلقة ببنود العمل. وبالتالي، تظل المتطلبات ملائمة وقابلة للتحقيق في إطار زمني قصير. تسمح ملاحظات مالك المنتج المنتظمة ومراجعات دورة Sprint بتحسين الفريق باستمرار طوال مدة المشروع.
زيادة العائد على الاستثمار
تحدد فرق Scrum المتطلبات بناءً على قيمة العميل وتحليل المخاطر. ينصب التركيز على تطوير منتج عمل أوّلي يمكن طرحه في السوق بهدف جمع ملاحظات العملاء في مرحلة مبكرة. يتميز تطوير إطار Scrum بعيوب أقل تكلفة، وكفاءة الفريق، ونهج تحديد المنتجات التي لن تنجح بسرعة، ما يوفّر المال على المدى الطويل.
فرق أكثر سعادة وإنتاجية
المقاييس ذات الصلة التي تساهم في تحسين التقديرات.
تختار فرق Scrum المقاييس الخاصة بها لقياس أداء المشروع. فيعمل أفراد الفريق على تقدير الجداول الزمنية والميزانيات ومقاييس الجودة بناءً على خبرتهم وقدراتهم. يتحكّم مالك المنتج بالعملية لأن التقديرات نسبية. تحصل الفرق على مزيد من الدعم في بداية المشروع، وبطبيعة الحال، تزداد سرعة عملها بمرور الوقت. يراجع أصحاب المصلحة في المشروع منتجات العمل ويقدمون ملاحظات منتظمة لضمان بقاء المشروع على المسار الصحيح.
أوجه الاختلاف بين إطار Scrum ومنهجية Agile
Agile هي عبارة عن عقلية أو طريقة تفكير في تطوير البرمجيات. إنها فلسفة تم تبنيها على المستوى التنظيمي لجعل كل عضو في الفريق يركز على التحسين المستمر وتقديم القيمة للعملاء. أمّا Scrum، فهو إطار لإنجاز العمل وفق منهجية Agile. يستخدم إطار Scrum جميع المبادئ الأساسية التي تعتمدها منهجية Agile لتحديد أساليب تسهيل إنجاز المشروع. ومع ذلك، تجدر الإشارة إلى أنّ منهجية Agile لا تشير دائمًا إلى إطار Scrum. تعتمد العديد من المنهجيات المختلفة مبادئ Agile لإدارة المشاريع.
كيف يمكن لفرق تطوير Scrum اعتماد DevOps؟
- أتمتة اختبار البرمجيات وكتابة اختبارات جديدة لكل عملية تطوير ميزة
- استخدام حزم التقنيات والأدوات التي تدعم النشر المستمر
- إطلاق التغييرات في المنتجات عند نهاية كل دورة Sprint