من التقليدية إلى الرشاقة (Agile)
مازالت الكتب التعليمية تخاطب القطاع الأكاديمي دون النظر لواقع العمل الحقيقي في بناء أنظمة البرمجيات, حيث أن الأنمطة والطرق التي تتداولها الكتب التعليمية في طريقة بناء البرمجيات تثبت عدم جدواها على أرض الواقع.
فمثلا طريقة الشلال (Waterfall) والتي تشير إليها الكثير من الكتب التعليمية كنمط أساسي لبناء البرمجيات وكطريقة فعالة في كثير من الأحيان, على النقيض من الواقع. حيث تثبت أغلب الأنظمة التي تبنا بهذه الطريقة فشلها من ناحية تحقيق غاية العمل المطلوب.
فرغم ترتيب نظام الشلال ووضوحه ووجود ميزات مختلفة, مثل سهولة تنظيم المشروع وسهولة إدارته وكذلك معرفة مخطط سير المشروع بوضوح, إلا أن المسألة مختلفة جدا فأي خلل في أي مرحلة سيترتب عليه خلل أخر في المرحلة القادمة وبالتالي فإن المشروع كله معرض للخطر حيث أن العميل لا يكون مدخل في عملية التطوير وإنما ينتظر المنتج الأخير والذي يمكن أنه لا يوافق ما يريده العميل.
هناك بالتأكيد تعديلات مختلفة حدثت على هذه الطريقة إلا أنها تعديلات الهدف منها حل مشاكل جزئية, والمشكلة بالأساس هي مشكلة في طريقة التفكير, ولا يمكن حلها إلا بتغيير طريقة التفكير.
فعلى فرض أن العميل يعرف تماما ما يريد (هذا نادر الحدوث), والمطور يعرف تماما ما يريد أن يفعل, فإن العمل بطريقة الشلال يجعل من الأمر وكأنه مسلم دون حدوث أي تغييرات في المنتصف التي يمكن أن تعمل على عدم بلوغ حاجة العميل, حيث أنه يمكن تشبيه الأمر بكرة المدفع التي يتم ضربها لمرة واحده فإما أن تبلغ الهدف وإما لا.
بالإضافة إلى أن العمل بهذه الطرق يجعل من الفريق حالات يكون البعض متفرغ نظرا لأن كل جزئية مسؤول عنها مجموعة أو فرد من الفريق فيقوم مهندس المتطلبات بجلب المعلومات بينما المبرمج والمختبر والمحلل ينتظر وهكذا, كما أن كل فرد من الفريق يعتبر نفسه مسؤول عن مهمته وليس عن كافة المشروع ما يجعل هناك مهام لا يقوم الأفراد بتحملها وعند فشل المشروع يعتبر كل فرد ناجح بسبب أنه قام بأداء مهمته ويحمل الوزر على مسؤول المشروع, والحقيقة أن الجميع مسؤول.
ومن هنا كان لابد من تغيير التفكير بشكل كلي حي, وهذا ما اجتمع لأجله كبار مهندسي البرمجيات في ال 2001 حيث قامو بإصدار مباديء وفكر جديد لتأسيس فكر الأجايل.
حيث نصت اللائحة على التالي:
- هدفنا الأسمى هو إرضاء العميل عن طريق التسليم المبكر والمتواصل لبرمجيات ذات قيمة.
- الترحيب بتغيير المتطلبات ولو في مراحل متقدمة من التطوير. فمناهج الأجايل تُسخر التّغيير لصالح الميزة التنافسية للعميل.
- تسليم برمجيات صالحة للاستعمال على فترات منتظمة، من أسبوعين إلى شهرين، مع استحسان المدة الزمنية الأقصر.
- يجب أن يعمل كلاً من المهنيين (العارفين بالمِهنة) والمطورين معاً بشكل يومي خلال فترة المشروع. الاعتماد في بناء المشاريع على أفراد متحمسين. مع توفير البيئة المناسبة والدعم اللازم، ومنحهم الثقة من أجل إنجاز العمل.
- أكثر الطرق فاعلية وتأثيراً لتواصل المعلومات إلى فريق التطوير وبين أفراده هي التخاطب وجهاً لوجه.
- البرمجيات الصالحة للاستعمال هي المقياس الرئيسي للتقدم.
- مناهج الأجايل تشجع التطوير المستدام.
- ينبغي على الرعاة والمطورين والمستخدمين أن يكونوا قادرين على الحفاظ على وتيرة ثابتة على الدوام.
- الاهتمام المستمر بالتفوق التقني والتصميم الجيد يعزز درجة الأجايل.
- البساطة — فن تقليص الأعمال غير الضرورية — أساسية.
- إن أفضل البنيات والمواصفات والتصميمات تنبثق من فرق العمل ذاتية التنظيم.
- يراجع فريق العمل على فترات منتظمة كيف يصبح أكثر فاعلية، ثم يدقق ويضبط سلوكه وفقا لذلك.
يمكنكم مراجعة رابط مباديء الأجايل المنتشر بعدة لغات من هنا
إذا فالأجايل هو طريقة تفكير وليس آلية أو طريقة مثل الشلال, لذلك تم بناء مجموعة من الطرق التي تقوم على هذا المبدأ.
منها ما هو متعلق بإدارة الفريق لنفسه وطريقة تسليم المنتج والتعامل مع العميل مثل ال Scrum يمكنكم العودة إلى تدوينة
و منها ما هو تقني هندسي ويتعلق بالممارسات والعمليات لتحقيق عامل الجودة مثل XP يمكنكم العودة إلى تدوينات
البرمجة القصوى (XP) – الجزء الأول
البرمجة القصوى (XP) – الجزء الثاني
ولذلك لتطبيق الأجايل يتم الأمر بأخذ قرار إداري يشمل الإدارة والفريق وممارسة الأجايل بشكل تدريجي حيث أن الغايات واضحه ولكن القصة في الممارسة والتعود على آلية الفكر الجديد.
حيث يمكن الإستعانة ب مبدأ Shu HA RI اليابني في رياضة الأيكودو والذي يقوم على أساس أن تتبع القواعد ثم تكسر القواعد ثم تصبح لك قواعدك الخاصة, مثل الطبخ يمكن أن تتعلم كيف تعمل طبخة معينة من خلال وضع الأصناف المطلوبة, وبعد التعود يمكنك إضافة أصناف مختلفة, ومن ثم يمكنك عمل طبخة خاصة بك, وكذلك الحال بالنسبة للأجايل تماما !
أتمنى أن تكون تدوينة مفيدة, دمتم بود
إلى تدوينة أخرى.