منهجية Agile في هندسة البرمجيات؛ قيم ومبادئ Agile
المعلوماتية >>>> برمجيات
يشتمل بيان منهجية Agile على أربع قيم واثني عشر مبدأً (1).
القيم الأربع
كما ذكرنا سابقًا في الجزء الأول من السلسلة، تستند منهجية Agile إلى أربع قيم رئيسة:
ولكن لضمان تفاعلٍ وتعاونٍ أكبر بين أفراد الفريق والعملاء؛ حُدِّدت مبادئ ثابتة تشرح على نحو مفصَّل كيفية تعامل الأفراد فيما بينهم (1).
المبادئ الاثنا عشر
نظرًا إلى أنّ ما يهم العميل هو الحصول على أجزاء فعّالة وذات قيمة من البرمجية لقاء المال الذي يُدفَع للمطورين، وليس الحصول على تحديثات أو صيانة أقسام ثانية من المشروع؛ نَصَّ هذا المبدأ على أنّ الفريق المطور يجب عليه دائمًا وباستمرار تسليم جزء فعال وذي قيمة من البرمجية إلى العملاء.
يشهد عالمنا الحالي تسارعًا غير مسبوق في تطوير المنهجيات والأساليب والطرائق المتبعة في تطوير البرمجيات، فلا يمكن لأي مطور أو عميل التقيد بالمتطلبات الحقيقية والثابتة للمشروع، فمن المرجح ظهور متطلبات للمشروع بعد البدء بتنفيذه.
في المنهجيات التقليدية؛ تسبب التغيرات المفاجئة لمتطلبات المشروع بخسارة أموال العميل، وذلك لما يتطلبه الأمر من إعادة دراسة المشروع والبدء بتنفيذه من جديد، وهذا ما تتجنّبه منهجية Agile؛ إذ ينص هذا المبدأ على سهولة تقبل متطلبات العميل الجديدة دون الاضطرار إلى إعادة دراسة المشروع وتنفيذه.
يرتبط هذا المبدأ بالمبدأ الأول على نحو كبير؛ إذ ينص على ضرورة تسليم العميل لأجزاء فعّالة من المشروع، ولكن بفترات زمنية محددة وثابتة وقصيرة قدر الإمكان.
غالبًا ما كان المطورون يتجنّبون الاحتكاك المباشر مع العملاء أو أصحاب الشركات، فقد كان الوسطاء هم صلة الوصل بين العملاء والمطورين، ولكنّ هذه الطريقة تجعل إيصال الأفكار من العملاء إلى المطورين (وعلى نحو عكسي) أمرًا صعبَ التحقيق، لذلك نَصَّ هذا المبدأ على تشارك العملاء والمطورين للمشروع؛ مما يسهّل تناقل الأفكار فيما بينهم لتفادي الوقوع في فخ عدم فهم العملاء والمطورين للمتطلبات نتيجة تناقلها بين الوسطاء على نحو خاطئ، ودون الحاجة إلى إضاعة الوقت بين الوسطاء أو الوقوع في فخ عدم فهم متطلبات العميل على نحو صحيح.
يضمن هذا المبدأ حقوق المطورين وحقوق العملاء في آن واحد؛ إذ يضمن للعملاء مشاركة مطورين ذوي حماس عالٍ يساعدهم -على نحو كبير- على تطوير مشروع ناجح، كذلك يضمن للمطورين توفير بيئة عمل مناسبة محاطة بالدعم والثقة من المشرفين والعملاء.
نتج عن تطور التكنولوجيا في عصرنا الحالي ظهور وسائل تواصل عديدة بين البشر، ولكن يبقى أهمها التخاطب وجهًا لوجه لما توفره هذه الوسيلة من كمية معلومات بين المتخاطبين من لغة الجسد وتواتر الأصوات وشدة الحديث، وهذا ما تفضله منهجية Agile؛ إذ تفضل التواصل وجهًا لوجه بين الأفراد لإمكانية نقل معلومات كثيرة بينهم لا يمكن تناقلها عن طريق الرسائل أو الهاتف.
يستغرق تطوير المشاريع المختلفة فترات متفاوتة بين الشركات، ولذلك نص هذا المبدأ على أنّ وحدة قياس تقدم الشركات هي عمل البرامج المُطوَّرة من قبلهم؛ إذ يُنظَر إلى عدد المشاريع المنفّذة والفعّالة، وعلى هذا الأساس يُقدّر تقدم الشركات فيما بينها.
تؤدي كثرة التواصل بين الفريق المطور والعميل إلى تغير سريع ودائم في شكل المشروع عن طريق التغييرات والمتطلبات الجديدة، لذلك ينص هذا المبدأ على ضرورة مواكبة العميل والفريق للمتغيرات الجديدة؛ مما يضمن عدم مواجهة تعارضات ناتجة عن تأخير من أحد الفرق المطورة.
يشكّل التصميم الجيد للمشروع عند مرحلة الإطلاق أهمَّ العوامل بالنسبة إلى العميل، فهو يريد لمشروعه أن يظهر بأبهى حلة لتثير إعجاب المستخدمين، ولذلك تهتم منهجية Agile بمظهر المشروع من بدايته وحتى لحظة إطلاقه للمستخدمين.
يهتم هذا المبدأ بحذف جميع العناصر غير الضرورية أو غير المستخدمة في المشروع، وذلك لتوفير المال والوقت.
يهدف هذا المبدأ إلى ترسيخ فكرة أنّ الفرق ذات التنظيم الذاتي هي الفرق التي تصل إلى هدفها بفاعلية وسرعة، وذلك لما يحتاجه المشروع من تواصل الشركات والمطورين بانتظام وفعالية بعضهم مع بعض.
يجب أن تأخذ الفرق الوقت الكافي لمراجعة طريقة عملها وتحسينها قدر المستطاع، فلا يوجد فريق يعمل على نحو مثالي، وهذا ما ينص عليه هذا المبدأ؛ إذ يمكن للفريق تحديد المشكلات، ثم اتخاذ الإجراءات اللازمة لتحسين عملية التطوير (2,3).
إنّ منهجية Agile مبنية على درجة عالية من الدقة والتعاون والاحترام المتبادل بين جميع أفراد عملية التطوير من عملاء ومديرين ومطورين وفنيين، ولكن؛ هل هذا التعاون المتبادل سوف يفي بالغرض من أجل الحصول على مشروع نهائي متكامل؟ هذا ما سنتعرف إليه في باقي أجزاء السلسلة.
المصادر:
2. Principles behind the Agile Manifesto [Internet]. Agilemanifesto.org. [cited 19 November 2020]. Available from: هنا
3. 12 Principles Behind the Agile Manifesto | Agile Alliance [Internet]. Agile Alliance. [cited 27 September 2020]. Available from: هنا