الأجايل Agile: ما هي المنهجية الرشيقة في إدارة المشاريع؟

الأجايل هي منهجية (طريقة) لإدارة المشاريع البرمجية والغير برمجية تركز على بناء المنتج على عدة مراحل وبفترات زمنية قصيرة، وتوّلد كل مرحلة منتجاًً متميزً عن سابقه بخصائص إضافية. ويعتبرهذا المنتج (المرحلي) منتجاً حقيقياً يستطيع الزبون (العميل) التفاعل معه، والغاية من ذلك تقريب المنتج للزبون(العميل)لقياس رضاه بمراحل تطور منتجه، ويتم تطبيق الأجايل بطرق عدة منها الـ Scrum والـ Kanban

ماهي الآجايل Agile:

أحدثت Agile ثورة في إدارة المشاريع الخاصة بالبرمجيات، حيث كانت تستخدم الطرق التقليدية في بناء البرمجيات مثل Waterfall. والتي كانت عبارة عن تسلسل لمجموعة من الخطوات وهي: التحليل وجمع المتطلبات (والتي يتم بها كتابة جميع متطلبات البرنامج)، التصميم (والقصد منه تصميم النظام وليس التصميم الغرافيكي) ، التطوير (البرمجة)، الاختبار والدمج، ثم الصيانة.

 

لم تستطع الطرق التقليدية من مواكبة تطور البرمجيات وتغيرات الحياة السريعة ومواكبة تطوير وتغيير متطلبات المشاريع، فالاعتماد على الطرق التقليدية، فإن المشروع يحتاج إلى وقت طويل لإنجازه، وهذا يتطلب بالضرورة إلى تكلفة كبيرة، وتكون تكلفة إعادة التصميم والتطوير والتغيير(لتلائم تغير المتطلبات) كبيرة جداً.

طريقة Agile مختلفة تماماً عن الطرق التقليدية، فهي تركز على خصائص معينة، يتم تنفيذها بوقت قصير وعرضها على الزبون (العميل)، هنا يستطيع الزبون (العميل) أن يرى أكثر كيف تم تطبيق فكرته، ونستطيع نحن أن نرى ردة فعله عند رؤية المنتج، إن كان هناك تعديلات أو تغييرات فيمكن بسهولة وبسرعة أن نقوم بها، ومن ثم يتم الانتقال إلى خاصية تالية حتى يتم بناء المشروع بشكل كامل.

بشكل عام الزبون (العميل) لايستطيع التعبير عن فكرته ومايريده بالضبط من البداية، يكون لديه فكرة، وشرح عن فكرته وكيف يتخيل البرمجية، ولكن يبقى كيفية تطبيقها والخصائص التي يريدها ضبابية حتى يرى منتج بأم عينيه، ليستطيع التقييم هل هذا مايريد أم لا.

هذا المفهوم، شائع جداً في ريادة الأعمال، ويستخدمه الكثير من رواد الأعمال في بداية مشاريعهم الناشئة، حيث تعتبر طريقة اختبار وقياس أصغر منتج MVP  من أساسيات ريادة الأعمال اللينة leanstartup (أنصحكم بحضور دورة لين ستارت أب على منصة ألِف ستارت أب)

اختبار وقياس أصغر منتج MVP، هي باختصار "بناء منتج قيم أولي MVP"، أي منتج غير مكتمل له خصائص معينة بهدف اختباره مع العميل. أهم أهداف الـ MVP هو إتاحة الفرصة للعملاء لرؤية منتج حقيقي بأقصر وقت ممكن وذلك بغية الحصول على ردود أفعالهم Feedback، وهو بالضبط ماتعنيه منهجية Agile.

تركز منهجية الـ Agile على منتجات أولية حقيقة قابلة للقياس، وليس على المنتج النهائي

فوائد استخدام الأجايل:

لاستخدام منهجية الـ Agile فوائد ومزايا كثيرة في إدارة المشاريع، فهي تساعد فرق العمل على إدارة المشاريع بشكل أكثر كفاءة، مع تقديم منتجات بجودة عالية، والحفاظ على الميزانية ضمن الحدود المتوقع لها، تعمل الفرق كوحدة واحدة متناغمة مع بعضها، وتستجيب إلى التغيير في المتطلبات بشكل فعال، وهنا سنوضح بعض وأهم الفوائد الهامة لاستخدام الـ Agile:

  • ثقة الزبون (العميل) وتقليل المخاطر: وذلك بإشراك صاحب العمل في المشروع في كل مرحلة من المشروع، توفر هذه الخطوة درجة عالية من التعاون بين الفريق والزبون (العميل)، وهذا يعطي فرصة جيدة للفريق على فهم رؤية الزبون (العميل) بشكل أكبر، وفرصة أيضاً للزبون بأن يعطي رأيه وملاحظاته المباشرة ليتم النقاش ويقوم الفريق بالتعديل، وهذا بالنتيجة يعطي ثقة أكبر من ناحية الزبون (العميل) للفريق الذي ينجز مشروعه، كما يتفهم الزبون (العميل) بأن مشروعه قيد العمل وينمو بسرعة كبيرة.

 

  • تسليم مبكر لمنتج أولي: كما ذكرنا سابقاً، وذلك بالاعتماد على مراحل الزمنية في إدارة المشروع، وأن كل مرحلة ينتج عنها منتج أولي قابل للاستخدام، مما يوفر فرصة كبيرة للزبون بأن يقوم بإطلاق مشروعه بوقت مبكر ريثما يتم إطلاق النسخ النهائية منها.

 

  • توقع للتكاليف: كون كل مرحلة محددة بفترة زمنية، ومحددة أيضاً بمهام معينة (أي أن الخصائص التي ستنتج في نهاية المرحلة تم وضعها منذ بداية المرحلة)، فهي قابلة لتوقع التكاليف بشكل كبير، وهذا يعطي العميل معرفة أكبر عن التكلفة التي سيدفعها مقابل كل مرحلة حتى إنهاء المشروع.

 

  • السماح للتغيير في المتطلبات: كون العمل على مراحل، وكل مرحلة لها متطلباتها، فإن العميل قادر على التغيير سواء في نهاية المرحلة (حيث يجد بعض الأخطاء أو المشاكل) أو حتى في مرحلة متقدمة إن كان يريد بعض الإضافات فيتم جدولتها في مرحلة زمنية جديدة.

 

  • التركيز على قيمة العمل: كون الزبون (العميل) منخرط في المشروع منذ بدايته، فإن هذه الخطوة تعطي الفريق فهم أكثر إلى أولويات الزبون (العميل) وماهو ذو قيمة لنشاطه، وهنا يتم العمل على توفير هذه الميزات والخصائص التي تعطي قيمة أكبر للزبون.

 

  • التركيز على المستخدمين: كون كل مرحلة ينتج عنها منتج أولي، فهذا يعطي الزبون (العميل) والفريق فرصة كبيرة للعمل مع مستخدمين حقيقين لتجربة المنتج وإعطاء ردود الأفعال وفهم متطلباتهم بشكل أكبر، وهذا يعطي فرصة كبيرة للتغير للانتهاء من المرحلة خالية من الأخطاء.

 

  • تحسين الجودة: استخدام طريقة الـ Agile ومفهوم المراحل الزمنية وتقسيم المشروع إلى وحدات تضم ميزات معينة، يصبح التركيز على التطوير والاختبار والتعديل كبير جداً، ويتم تحسين الجودة من خلال إيجاد المشاكل والعيوب بسرعة وتحديد إن كان هناك عدم توافق في وقت مبكر.

 

  • منتج عالي الجودة: كون كل منتج مرحلي (أولي) يتم اختباره وتحسينه وفهم متطباته أكثر وتعديله بشكل مباشر، هذا يؤدي بطبيعة الحال إلى بناء منتج نهائي عالي الجودة.

 

  • عائد استثماري سريع:من المراحل الاولى يتم بناء منتج أصغري، وهذا المنتج يحوي المتطلبات الهامة والأساسية بالنسبة للزبون، فإن الزبون (العميل) يستطيع أن يقوم بنشر البرنامج ويبدأ بالربح ، ويزداد الربح في كل مرحلة، كون كل مرحلة تعطي خصائص جديدة للمنتج.

باستخدام منهجية Agile، تعود الفائدة لفريقك، وللزبون أيضاً بإعطائه منتج يعمل من اول مرحلة

سلبيات Agile:

بالتأكيد كل طريقة في إدارة المشاريع لها سلبيات، بعضها يبقى سلبي، وبعضها يتم تلافيه بعد العمل على مجموعة من المشاريع واكتساب الخبرة اللازمة لإدارة المشاريع، نذكر بعض السلبيات هنا:

  • في بداية المشاريع الكبيرة، لايستطيع الفريق بشكل عام تحديد الوقت والتكلفة الحقيقية لدورة حياة المشروع، وخصوصاً إن كان الفريق جديد في العمل في هذه المنهجية.

 

  • الالتزام بالاجتماعات اليومية (والتي تتم وجهاً لوجه) بين أعضاء الفريق كاملاً، نعم هذه الطريقة جيدة جداً، ولكنها مرهقة، يحتاج إلى وقت وجهد كبير من أعضاء الفريق.

 

  • أحياناً يكون صاحب العمل (الزبون أو العميل) غير متفرغ بشكل كامل لكي يقوم بالاجتماعات مع الفريق (كون الأجايل تحتاج إلى اجتماعات دورية وبفترات قريبة بين الفريق والزبون)، وأحياناً أخرى يقوم بندب أحد الأشخاص من طرفه ليتابع سير العمل، وتكون قراراته أو ملاحظاته في غير مكانها. وهذا يؤدي إلى التأخر في المشروع والإحباط لدى فريق العمل والتغيير الدائم في المتطلبات.

 

  • إن عدم وجود توثيق (Documentation) مفصل لمراحل المشروع، يؤدي إلى صعوبة في دمج أعضاء الفريق الجدد في العمل.

 

  • التغيير في متطلبات المشروع، أحياناً، تؤدي إلى تغيير مسار المنتج بشكل كامل إن كان الزبون (العميل) متجدد جداً في أفكاره.

 

  • عدم وضوح الزبون (العميل) بتعليقاته وملاحظاته على المنتجات الاولية، يؤدي أحياناً إلى التركيز على خصائص معينة من فريق العمل غير التي يطمح لها الزبون (العميل).

 

طرق ومنهجيات تطبيق الآجايل:

يوجد العديد من المنهجيات لتطبيق الAgile، سنقوم بذكر الأكثر انتشاراً واستخداماً.

سكرام Scrum:

هي من أكثر الطرق المستخدمة لتطبيق منهجية  Agile، يتم الاعتماد في نموذج السكرام Scrum في تطوير البرامج والمنتجات المعقدة، يقسم المنتج (Product Backlog) إلى مجموعة أقسام (Sprint Backlog)، ويتم العمل على كل قسم في فترة زمنية تكرارية مابين الأسبوع والـ 4 أسابيع وتسمى الفترة الزمنية بالـ sprint.

يتم تكرار الـ sprint بخصاص جديدة (أوتعديلات على الـ Sprint السابق) حتى الوصول إلى المنتج النهائي.

في السكرام Scrum يوجد مجموعة من الأدوار Rules وهي:

  1. مالك المنتج Product Owner: هو صاحب المنتج، وهو من لديه المعلومات الكافية عن منتجه وكيف يتصوره.
  2. مدير السكرام Scrum Master: وهو الشخص الذي يدير عملية الـ scrum، لديه مهام عديدة ومنها الحقاظ على قيم الـ scrum، تسهيل الاجتماعات والعمل مع مالك المنتج، إزالة العقبات...إلخ
  3. الفريق Team: هم أعضاء الفريق الذين يعملو مع بعضهم لإنجاز المهام المطلوبة منهم، عادة يكون الفريق مؤلف من 5 إلى 9 أشخاص، وإن كان المشروع كبير يتم بناء فرق متعددة.

في السكرام Scrum يلتزم الفريق بالفترات الزمنية الموضوعة لإنتاج المنتج. ولايتم إجراء التعديلات إلا بعد انتهاء الـ sprint

يكون هناك منتج حقيقي في نهاية كل sprint حيث يستطيع الزبون (العميل) لمسه وإعطاء ملاحظاته عليه، ويتم الانتقال إلى ال sprint التالية بإضافة بعض الخصائص الجديدة أو تعديل على المنتج الذي تم إنتاجه مثلاً.