
ما هي منهجية أجايل (Agile Methodology)؟
إذا سمعت من قبل بكلمتي أجايل (Agile) أو سكروم (Scrum) ولكنك لا تعرف معناهما، فقد وصلت إلى المقال الصحيح.
في الفقرات التالية، أقدم لكم واحدة من أشهر منهجيات إدارة المشاريع التي تجعل عملية إنشاء البرمجيات أسهل بكثير وأكثر متعة.
لمحة تاريخية بسيطة..
قبل بضع سنوات، كانت هناك منهجية تسمى الشلال (Waterfall) تُستخدم بشكل مكثف في صناعة البرمجيات. تقسم هذه المنهجية أنشطة المشروع إلى مراحل متتالية، حيث يجب إكمال كل مرحلة قبل البدء في المرحلة التي تليها. المشكلة في هذه المنهجية هي أن العميل يستلم المنتج في نهاية المشروع ولن يعرف ما إذا كان الحل يلبي ما طلبه أم لا. علاوة على ذلك، فإن العالم يتغير بسرعة، لذا يجب أن تتكيف متطلبات المنتج المثالية مع السوق الحالي.
من أجل الحصول على منهجية أكثر مرونة، تم ابتكار منهجية أجايل (Agile).
ولكن ما هي أجايل؟
منهجية أجايل هي منهجية شهيرة تُستخدم في صناعة البرمجيات، وتعتمد على التطوير التكراري للمتطلبات. في كل أسبوع، يعمل فريق سكروم على إضافة ميزات جديدة إلى منتجك المستقبلي. ومن هذه المنهجية، تم إنشاء العديد من أطر العمل من أجل المساعدة في تطوير الحلول البرمجية. وأحد أكثر هذه الأطر شعبية هو إطار سكروم (Scrum).
ما هو سكروم؟
سكروم هو جزء فرعي من أجايل. وهو إطار عمل لتطوير المنتجات المعقدة وتسليمها واستدامتها.
لماذا يجب علي اختيار أجايل؟
أولاً، لا توجد مخاطر تتعلق بطلبات التغيير أو التكاليف الإضافية. ثانياً، يعتمد العمل على الإنشاء التعاوني للمتطلبات. ثالثاً، توفر المنهجية شفافية عالية من خلال السماح بمعاينة المنتج بعد كل زيادة (Increment).
كيف يمكنني تطبيق أجايل وسكروم في مشروعي؟
يجب أن تبدأ بإنشاء فريق سكروم (Scrum Team). يتكون فريق سكروم من مالك المنتج (Product Owner)، وفريق التطوير (Development Team)، ومسير سكروم (Scrum Master).
مالك المنتج
مالك المنتج هو عضو في فريق أجايل، وهو مسؤول عن تعظيم قيمة المنتج.
يهتم مالك المنتج بسجل متطلبات المنتج (Product Backlog) من خلال التعبير بوضوح عن عناصر السجل والأولويات والقرارات المتعلقة بالمنتج. وهو يمثل مصالح العميل من خلال تقديم الحل المناسب.
فريق التطوير
فريق التطوير هو فريق متعدد الوظائف وذاتي التنظيم، يقوم بتنفيذ المنتج من خلال برمجه واختباره وتصميمه.
يتكون فريق التطوير من 3 إلى 9 أعضاء.
مسير سكروم
يساعد مسير سكروم أعضاء فريق أجايل على فهم واتباع نظرية سكروم وممارساتها وقواعدها وقيمها.
بعد ذلك، سيعمل مالك المنتج (PO) على سجل متطلبات المنتج (Product Backlog) بالتعاون مع أصحاب المصلحة الرئيسيين. الخطوة الأولى لإنشاء سجل متطلبات المنتج هي تحديد المواضيع والملحمات وقصص المستخدمين (themes, epics & user stories). يجب أن تحتوي الملحمات وقصص المستخدمين على **معايير القبول** وأن يتم ترتيبها حسب الأولوية. وتسمى إحدى طرق تحديد أولويات قصص المستخدمين بطريقة **MoSCoW**.
سجل متطلبات المنتج
يحتوي سجل متطلبات المنتج على جميع المواضيع والملحمات وقصص المستخدمين التي تم إنشاؤها من أجل تحقيق رؤية المنتج.
يكون سجل متطلبات المنتج مكتملاً بشكل جيد عندما يكون مفصلاً بشكل مناسب (العناصر ذات الأولويات الأعلى تكون أكثر تفصيلاً من العناصر ذات الأولويات الأدنى)، ومُقدراً، ومتطوراً، ومرتباً حسب الأولوية.
المواضيع والملحمات وقصص المستخدمين
تمثل المواضيع والملحمات وقصص المستخدمين الهيكل الهرمي للمكونات المستخدمة لوصف المنتج.
تُستخدم المواضيع (Themes) في الغالب عند العمل على منتجات أو مشاريع كبيرة، وهي تمثل مجالات النشاط على المستوى الاستراتيجي. وتتكون المواضيع من ملحمات.
تمثل الملحمات (Epics) وظائف أو جوانب معينة من المنتج. وتتكون الملحمات من قصص المستخدمين.
قصص المستخدمين (User Stories) هي عناصر قابلة للتنفيذ. وتستخدم قصص المستخدمين النموذج التالي:
بصفتي [شخصية] أريد أن [أقوم بإجراء ما] حتى يتم [تحقيق شيء ما].
مثال: بصفتي عميلاً، أريد إضافة معلومات الدفع إلى حسابي حتى أتمكن من دفع قيمة الطلبات عبر الإنترنت.
معايير القبول
تحدد معايير القبول ما يجب القيام به لإنهاء عنصر ما. ويتم إنشاؤها على مستوى قصة المستخدم أو الملحمة.
مثال: يجب وضع الشعار في الزاوية اليسرى العليا من الموقع.
طريقة MoSCoW
تمثل طريقة MoSCoW وسيلة تُستخدم لتحديد أولويات العناصر في سجل متطلبات المنتج.
Must (يجب) – العناصر الأساسية التي لا بد من تسليم المنتج بدونها.
Should (ينبغي) – العناصر المهمة، ولكن عند الضرورة، يمكن استخدام المنتج بدونها.
Could (يمكن) – العناصر التي سيكون من اللطيف وجودها.
Won’t (لن يشمل) – العناصر المستبعدة حالياً.
بعد الانتهاء من سجل متطلبات المنتج، يمكن أن يبدأ المشروع. ونظراً لأن أجايل تعتمد على التطوير التكراري، يتم اختيار العناصر من سجل متطلبات المنتج لإنشاء فترات العمل (Sprints). يقوم فريق التطوير بإنشاء سجل أعمال الفترة (Sprint Backlog) في اجتماع يسمى تخطيط فترة العمل (Sprint Planning). ويقومون بتقدير القصص باستخدام نقاط القصص (story points)، مع الأخذ في الاعتبار سرعة إنجازهم (velocity) أيضاً.
فترة العمل (Sprint)
فترة العمل هي دورة تكرارية يتم فيها إنشاء جزء صغير من المنتج.
تتراوح مدة فترة العمل بين أسبوع واحد وشهر واحد.
في نهاية فترة العمل، يتم تسليم الجزء المنجز الحالي وتبدأ فترة عمل جديدة.
سجل أعمال الفترة
سجل أعمال الفترة هو عبارة عن مجموعة صغيرة من العناصر المختارة من سجل متطلبات المنتج، والتي سيتم تطويرها خلال فترة العمل الحالية.
تخطيط فترة العمل
تخطيط فترة العمل هو اجتماع مخصص لإنشاء خطة أكثر تفصيلاً لفترة العمل الحالية. يستمر تخطيط فترة العمل لمدة 8 ساعات (لفترة عمل مدتها شهر واحد)، حيث يحدد فريق سكروم سجل أعمال الفترة وهدف الفترة.
التقدير
التقدير في منهجية أجايل يعني تقدير الجهد المبذول. ويمكن إجراء هذا التقدير من خلال مقارنة القصص ببعضها البعض (القصة (أ) ذات تعقيد مضاعف مقارنة بالقصة (ب)) ووحدة القياس هي نقاط القصص. ويتم حساب الجهد بناءً على سرعة الفريق.
نقاط القصص
نقطة القصة هي مقياس تقديري تستخدمه فرق سكروم، ولكن ليس لها أي علاقة بالساعات الفعلية. وعادةً ما تُستخدم أرقام فيبوناتشي كقيم محتملة (0، 1، 2، 3، 5، 8، إلخ). الهدف من نقاط القصص هو تحديد مدى صعوبة تنفيذ القصة، وليس الوقت المستغرق لتنفيذها.
السرعة
تقيس السرعة حجم العمل الذي تم إنجازه في نهاية فترة العمل.
خلال فترة العمل، يعقد اجتماع يومي يسمى الاجتماع اليومي لسكروم (Daily Scrum) بشكل منتظم.
الاجتماع اليومي لسكروم
الاجتماع اليومي لسكروم هو اجتماع مدته 15 دقيقة، هدفه تكييف وتحسين خطة فترة العمل يومياً. والمشارك فيه هو فريق التطوير، الذي يجيب على الأسئلة التالية: ماذا فعلت بالأمس؟ ماذا سأفعل اليوم؟ هل هناك أي عقبات؟
عند الانتهاء من فترة العمل، يشارك فريق سكروم في اجتماعين، يسميان مراجعة فترة العمل واسترجاع فترة العمل. وتُضاف العناصر التي حالتها "مكتملة" إلى المنتج الفعلي وتبدأ فترة عمل جديدة.
مراجعة فترة العمل
مراجعة فترة العمل هي اجتماع يتم فيه فحص العناصر المكتملة للحصول على ملاحظات وتعديل سجل متطلبات المنتج. يشارك في هذا الاجتماع فريق سكروم وأصحاب المصلحة الرئيسيون وتتراوح مدته بين 2-4 ساعات.
استرجاع فترة العمل
استرجاع فترة العمل هو اجتماع يستغرق من 1.5 إلى 3 ساعات، حيث يطرح فريق سكروم أفكاراً لتحسين تعاونهم.
الزيادة (Increment)
تتكون زيادة المنتج من جميع عناصر سجل متطلبات المنتج التي تمت برمجتها وتجهيزها في فترة العمل الحالية بالإضافة إلى قيمة الزيادات في جميع فترات العمل السابقة.
مصطلحات سكروم وأجايل
فريق سكروم
مالك المنتج (PO)
فريق التطوير
مسير سكروم
أحداث سكروم
فترة العمل (Sprint)
تخطيط فترة العمل
الاجتماع اليومي لسكروم
مراجعة فترة العمل
استرجاع فترة العمل
مخرجات سكروم
سجل متطلبات المنتج
سجل أعمال الفترة
الزيادة (المنتج المنجز)
ملاحظة أخيرة
أفضل طريقة لإتقان أجايل وسكروم هي إلقاء نظرة على "دليل سكروم" والممارسة، ثم الممارسة، ثم الممارسة.
