كما أن العديد من مختلف أنواع الشركات والمنظمات تسعى لتطبيق أجايل على أكمل وجه، ولابد أن تتضمن المبادئ التالية ــ بطريقة أو بأخرى:
- التركيز على الأفراد أكثر من المهام
- دمج العملاء وتعليقاتهم، للمساعدة على التحسين المستمر
- تجزيئ المهام الكبيرة إلى مهام صغيرة، وتنظيم الجهود على فترات قصيرة؛ للحصول على ملاحظات سريعة؛ لاتخاذ قرارات تصحيح المسار بسرعة؟
- تقسيم الأفراد إلى فرق، وتكريسهم لمشروع واحد فى المرة
- التجربة والتعلم باستمرار
- ضمان شفافية العمل واستمرارية الفريق
- مبدأ (أسرع وأصغر)، حيث اعتمد تطوير البرامج التقليدية على مراحل مثل تحديد المتطلبات والتخطيط والتصميم والبناء والاختبار والتسليم؛ على النقيض من ذلك، تتطلع منهجية Agile إلى نشر الزيادة الأولى في غضون أسبوعين والجزء الكامل من البرنامج في غضون شهرين.
- التواصل، حيث تعمل فرق أجايل داخل الشركة معًا يوميًا في كل مرحلة من مراحل المشروع من خلال اجتماعات وجهًا لوجه. يضمن هذا التعاون والتواصل بقاء العملية على المسار الصحيح حتى مع تغير الظروف.
- رد الفعل، فبدلاً من الانتظار حتى مرحلة التسليم لقياس النجاح، تقوم الفرق التي تستفيد من منهجية Agile بتتبع نجاح وسرعة عملية التطوير بانتظام، حيث يتم قياس السرعة بعد تسليم كل إضافة.
- الثقة، تتميز فرق وموظفي أجايل بالتنظيم الذاتي بدلاً من اتباع بيان قواعد من الإدارة يهدف إلى تحقيق النتيجة المرجوة، فهم يفهمون الأهداف ويخلقون طريقهم الخاص للوصول إليها.
- الضبط، فيقوم المشاركون بضبط العمليات والمهام باستمرار باتباع مبدأ (KIS) أو (Keep It Simple)
تعد منهجية تطوير البرمجيات واحدة من أبسط العمليات وأكثرها فعالية لتحويل الرؤية لاحتياجات العمل إلى حلول برمجية. فأجايل هو مصطلح يستخدم لوصف مناهج تطوير البرامج التي تستخدم التخطيط المستمر، والتعلم، والتحسين، والتعاون الجماعي، والتطوير التطوري، والتسليم المبكر، ويشجع الاستجابات المرنة للتغيير.
يركز تطوير البرمجيات (Agile) على أربع قيم أساسية:
- تفاعلات الأفراد وأعضاء الفريق أكثر من المهام أوأى أدوات
- الالتزام بالعمل بالبرمجيات (software) أكثر من الوثائق الشاملة
- تعاون العملاء أكثر من التفاوض على العقود
- الاستجابة للتغيير أكثر من اتباع الخطة
وأكثر الأمثلة الشائعة والمشهورة: السكرام (Scrum)، و(XP)، و(FDD)، و(DSDM)، و(ASD)، و(LSD)؛ ولكن الأكثر استخداماً: (Scrum)، و(XP).
هناك العديد من المنهجيات الخاصة الموجودة فى اختبار أجايل (Agile):
السكرام (Scrum)
هي من طرق تطوير أجايل تركز بشكل خاص على كيفية إدارة المهام ضمن بيئة تطوير قائمة على الفريق بشكل أساسي، وتؤمن بتمكين فريق التطوير الذين يعملون فى فرق صغيرة (من 7-9 أعضاء ف الفريق)
تتابع العمليات فى منهجية (Scrum):
- الباك لوج (backlog) المنتج هو قائمة يتم فيها إدخال جميع التفاصيل للحصول على المنتج النهائي
- خلال كل Sprint، يتم تحديد أهم ال (user stories) من (Product backlog)، وتحويلها إلى (Sprint Backlog)
- يقوم الفريق بالعمل على (Sprint Backlog) محدد
- يتم التحقق من العمل اليومي للفريق
- فى نهاية كل (Sprint)، يقوم الفؤيق بتقديم وظائف المنتج (Product Functionality)
وتتكون من ثلاثة أدوار، ومسؤولياتهم موضحة على النحو التالي:
تجميع المنتج: هى قائمة يتم فيها إدخال جميع التفاصيل للحصول على المنتج النهائي
- سكرام ماستر (Scrum Master): هو المسئول عن إعداد الفريق، والمقابلات السريعة (Sprint Meeting)، وإزالة العقبات التى تعيق التقدم
- ال (Product owner): يقوم بإنشاء ال(Backlog) المنتج، ويعطى الألولوية للمهام، والمسئوليات فى كل تكرار
- ال (Scrum Team): يقوم الفريق بتنظيم وإدارة العمل فى كل (sprint)، أو دورة
ما هو الباك لوج المنتج (Product Backlog)؟
هو يعتبر مستودع يتم فيه تتبع متطلبات المشاريع وعددها وكل التفاصيل الخاصة بها المعروفة ب (user stories)، ليتم استكمالها فى كل إصدار، ويجب توزيعها على فريق سكرام، ويمكن الفريق من طلب إضافة متطلبات جديدة أو تعديلها أو حذفها.
ومثال على ذلك، عندما يلتقى أحد ممثلى فريق سكرام مع العميل لمناقشة المشاريع واحتياجات الشركة، فهذه الاحتياجات هى باك لوج المنتج (product backlog)، فيتم اختيار أهم المهام المطلوبة للعمل عليها فى الأسبوعين المقبلين.
ثم تبدأ مرحلة اجتماع فريق العمل يومياً لمتابعة العمل ومعالجة العقبات.
ثم مرحلة تسليم العمل ومراجعة باك لوج المنتج (product backlog)، ويحدد هدف ال (sprint) التالى، وتتكرر الدورة حتى يكتمل البرنامج.
ما هو ال(Extreme Programming)؟
وتعتبر XP مثالاً على كيفية قدرة Agile على زيادة رضا العملاء، فإنه يوفر لهم ما يحتاجون إليه الآن وبسرعة، بدلاً من تقديم كل ما يريده العميل في المستقبل البعيد، وهو غالباً ما يتسخدم مع سكرام.
ويركز XP على الإصدارات المتكررة ودورات التطوير القصيرة، ويستخدم مراجعة الكود والبرمجة المزدوجة، واختبار الوحدات، والتواصل المتكرر مع العميل.
فيما يلي مثال على كيفية عمل XP: يقوم أحد ممثلى الفريق بمعرفة متطلبات أى مشروع، ويقوم بناء قائمة بها عن طريق أسئلة يقوم العميل بالإجابة عنها وتكون هى ال (user stories) والتي تحدد الميزات فى كل مشروع؛ ثم تبدأ مرحلة بناء خطة إصدار البرنامج؛ وسيتم تسليم البرنامج في (sprints)، مع تسليم واحد كل أسبوعين.
يعمل الفريق في أزواج من المبرمجين، باستخدام الاجتماعات اليومية لتخفيف الحواجز. يقدم العميل ملاحظات في شكل (user stories) تتكرر الدورة حتى يتم تسليم البرنامج.