إدارة المشاريع البرمجية الجزء الرابع

تكلمنا سابقاً عن إدارة المشاريع البرمجية واخترنا الحديث عن النوع الأكثر شهرة، وهو الـ SCRUM و تحدثنا بشرح موسع وبسيط تعريفه وأهم المفاهيم الأساسية فيه والان لابد من إكمال المسيرة التي بدأنا فيها، لذلك في هذا المقال سنتحدث عن أهم الأحداث التي نظمها ورسمها هذا النموذج.

:The scrum events 

يتم استخدامها للانشاء والتقليل من الاجتماعات غير المحددة، جميع الاحداث هنا في وقت محدد ومتفق عليه مسبقاً وهي:

:Sprint

الـ sprint هي نبض قلب الـ scrum ، حيث تتحول  الأفكار إلى عمل حقيقي، هي حدث مدته القياسية عادةً شهرواحد أو أقل لتحقيق الاتساق بين بقية ال sprints ، يبدأ الـ sprint الجديد فور الانتهاء من sprint السابق.
كل الأعمال اللازمة لتحقيق هدف المنتج تحدث خلال الـ sprint وهي:

  • Sprint Planning
  • Daily Scrums
  • Sprint Review
  • Sprint Retrospective

- خلال الـ sprint لا يتم إجراء أي تغيير ممكن أن يعرض هدف sprint للخطر.
- الجودة لا تنقص.
- يتم التعديل على الـ Product Backlog حسب الحاجة.
- قد يتم توضيح ال scope وإعادة التفاوض بشأنه مع مالك المنتج Product Owner .
- تتيح ال sprints إمكانية التنبؤ من خلال الفحص الدوري واختبار التقدم نحو هدف المنتج كل شهر تقريبا.
- عندما يكون Sprint طويلًا جدًا ، فقد يصبح هدفه صعب التحقيق ومعقد، وقد يرتفع التعقيد، وتزداد المخاطر.
- يمكن استخدام الـ sprints الأقصر لإنشاء المزيد من دورات العمل والحد من مخاطر التكلفة والجهد في إطار زمني صغير.
- يمكن اعتبار كل sprint مشروعًا قصيرًا.

:Sprint Planning

يبدأ الـ sprint planning بوضع العمل الذي يجب القيام به في ال sprint، يتم إنشاء هذه الخطة عن طريق تعاون فريق الـ scrum بأكمله.
يضمن ال Product Owner أن الفريق مستعد لمناقشة أهم عناصر Product Backlog وكيفية الوصول لهدف المنتج.
قد يقوم فريق scrum أيضًا بدعوة أشخاص اخرين لحضور sprint planning لتقديم المشورة.
يتناول sprint planning الموضوعات التالية:

الموضوع الأول: ما سبب أهمية هذا Sprint ؟

يقترح مالك المنتج كيفية تحسين المنتج وزيادة فائدته في ال sprint الحالية، ثم يتعاون فريق الـ scrum بأكمله لتحديد هدف الـ sprint الذي يوضح سبب أهمية الـ sprint لأصحاب المصلحة "stakeholders" يجب أن يتم الانتهاء من هدف sprint قبل نهاية الـ sprint planning.

الموضوع الثاني: ما الذي يمكن فعله في هذا ال Sprint ؟

من خلال النقاش مع مالك المنتج، يختار المطورون عناصر من Product Backlog لتضمينها في sprint الحالي.
قد يقوم فريق الـ scrum بتنقيح هذه العناصر خلال هذه العملية، مما يزيد التفاهم والثقة.
قد يكون تحديد المدة التي يحتاجها الفريق لإكمال الـ sprint أمرا صعبا، ولكن كلما عرف المطورون عن ادائهم السابق، وزادت خبراتهم، يمكنهم توقع مدة إنهاء الـ sprint بشكل دقيق.

الموضوع الثالث: كيف سينجز العمل؟

يتم إجراء ذلك وفقاً لتقدير المطورين، لا أحد يخبرهم بطريقة إنجاز العمل وكيفية تحويل الـ sprint إلى increment .

تتم عملية ال sprint planning لمدة أقصاها ثماني ساعات كل شهر لكل sprint، إذا كانت مدة ال sprint أقل من شهر تكون مدة ال sprint planning أقصر.

:Daily Scrum

  • الغرض منه هو فحص التقدم نحو هدف الـ sprint والتعديل على الـ Sprint Backlog إن اضطر الأمر.
  • مدته 15 دقيقة تقريباً لمطوري فريق scrum، يتم عقده في نفس الوقت والمكان في كل يوم عمل من الـ sprint، وإذا كان Product Owner أو Scrum Master يعملان مع الفريق المطور على العناصر الموجودة في Sprint Backlog، ف إنهم يحضرون الاجتماع كمطورين.
  • يمكن للمطورين تحديد النماذج والتقنيات التي يريدون العمل عليها.
  • إن ال daily scrum يركز على التقدم نحو هدف الـ sprint و ينتج عنه خطة ذاتية قابلة للتنفيذ لليوم التالي، وهذا ما يخلق التركيز على العمل ويحسن الإدارة الذاتية لكل شخص من الفريق، وتعمل الـ daily scrum على تحسين التواصل و تحديد العوائق و تعزيز اتخاذ القرارات بسرعة و بالتالي لا يوجد هناك اجتماعات أخرى. 

:Sprint Review

  • الغرض من ال sprint review هو فحص نتائج الـ sprint وتحديد التعديلات المستقبلية، يقدم الفريق نتائج عملهم إلى أصحاب المصلحة الرئيسيين، كما تتم مناقشة التقدم نحو هدف المنتج.
  • خلال هذا الحدث، يقوم فريق الـ scrum و أصحاب المصلحة بمراجعة ما تم إنجازه في الـ sprint وما تغير في بيئتهم، بناءً على هذه المعلومات، يتعاون الحاضرون حول ما يجب القيام به بعد ذلك يمكن أيضًا تعديل الـ Product Backlog إن اضطر الأمر.
  • وهي تعتبر جلسة عمل ويجب على فريق الـ scrum تجنب قصرها على عرض تقديمي.
  • تتم عملية الـ sprint review لمدة أقصاها أربع ساعات عند الانتهاء من كل sprint "إصدار Increment"
    وتتضمن ال sprint review العناصر التالية: 

    - يشمل الحضور فريق الـ scrum و أصحاب المصلحة الرئيسيين الذين دعاهم مالك المنتج.
    - يشرح "مالك المنتج" عناصر الـ Product Backlog التي تم تنفيذها وما لم يتم إنجازه.
    - يناقش المطورون الأمور التي سارت بشكل جيد أثناء الـ sprint، والمشكلات التي واجهتهم، وكيف تم حل هذه المشكلات.
    - يوضح المطورون العمل الذي تم إنجازه ويجيبون على الأسئلة حول الـ increment .
    - يناقش مالك المنتج الـ Product Backlog كما هي، ويخبرهم عن الأهداف القادمة وتواريخ التسليم بناءً على التقدم حتى الان.
    - المجموعة بأكملها تتعاون في ما يجب القيام به بعد ذلك، بحيث توفر ال sprint review مدخلات تفيد في الـ sprint planning القادمة.
    - مراجعة كيفية التسويق أو الاستخدام المحتمل للمنتج وما هو الشيء الأكثر أهمية الذي يجب القيام به بعد ذلك.
    - مراجعة الجدول الزمني والميزانية والسوق للإصدارات المتوقعة التالية للمنتج.

:Sprint Retrospective

- الغرض من الـ sprint retrospective هو زيادة الجودة والفعالية ضمن فريق المطورين.
- يقوم فريق الـ scrum بفحص كيفية سير اخر sprint فيما يتعلق بالأفراد والتفاعلات والعمليات والأدوات، ويناقش الأمور التي سارت بشكل جيد خلالها، والمشكلات التي واجهتها، وكيف تم حل هذه المشكلات ( أو لم يتم حلها بعد).
- يحدد فريق الـ scrum أكثر التغييرات فائدةً لتحسين فعاليته.
- تتم عملية الـ sprint retrospective لمدة أقصاها ثلاث ساعات عند الانتهاء من كل sprint بعد عملية الsprint review.
- خلال ال sprint retrospective، يناقش الفريق:

  • ما هي الأمور التي سا رت بشكل جيد خلال الـ Sprint.
  • ما هي الأمور التي يمكن تحسينها.
  • ما هي الأمور التي سنلتزم بتحسينها في الـ Sprint القادم.

لم نكتفِ من الحديث عند هذا الحد، بل هناك الكثير الذي يجب إيصاله لكل مهندس ومبرمج مستعد للدخول لسوق العمل، وإن كنت من هؤلاء لابد من قراءة المزيد حول هذا الموضوع والاطلاع على موقع الـ SCRUM، ومتابعة سلسلة مقالاتنا حول إدارة المشاريع البرمجية.