Subscribe to my channel
https://www.youtube.com/channel/UCd7lcZntY184Z2Auues8wZw?sub_confirmation=1
هي منهجية لتطوير البرمجيات مُصممة لتحسين جودة البرنامج وقدرته على التّكيف مع الاحتياجات المُتغيرة للعملاء. وكباقي أساليب المنهجية الرشيقة لتطوير البرمجيات، تعمل البرمجة القُصوى على توفير إصدارات مُتكررة بشكل مُنتظم أثناء تطوير النظام وتسليمها للعميل، للتحقق من أن كل جزء أو وظيفة في النظام تعمل بشكل صحيح وتلبي حاجة العميل. وقد تم تطوير نهج البرمجة القّصوى في منتصف وأواخر التسعينات، أثناء العمل على نظام التعويضات الشامل الخاص بشركة كرايسلر Chrysler Comprehensive Compensation System ، للمساعدة في إدارة كشوف الرواتب في الشركة، وقد تم تطويره من قبل مهندس البرمجيات كين بيك Ken Beck
تعتمد البرمجة المتطرفة – القصوى (XP) على تقليل تكلفة التغييرات في المتطلبات من خلال وجود دورات تطوير قصيرة متعددة، بدلاً من دورة طويلة.
تساعد هذه الدورات التكرارية القصيرة أعضاء الفريق والعملاء على تقييم ومراجعة تقدم المشروع طوال فترة تطويره.
تم إنشاء البرمجة القُصوى استجابة للتغيرات التي قد تطرأ بشكل كبير على مُتطلبات العملاء. فقد لا يكون لدى العملاء فكرة واضحة عما يجب أن يقوم به النظام، لذلك، قد تتغير مُتطلباتهم كثيراً أثناء تطوير النظام أو البرنامج. كما يُعتبر هذا النهج فعّالاً في المشاريع التي تتسم بالمخاطرة العالية، فهو يعمل على تخفيف المُخاطرة وزيادة فرص النجاح. فعلى سبيل المثال، قد يرغب العميل بالحصول على نظام جديد في تاريخ مُحدّد، وقد يُمثّل هذا النظام تحدياً لفريق العمل إما بسبب الوقت المُتاح لتنفيذه أو بسبب طبيعة النظام، مما يُشكل مُخاطرة عالية بالنسبة لفريق العمل.
التواصل : وهي من أهم القيم التي يجب أن يسعى الفريق إلى تحسينها، لضمان نقل المعلومات بشكل صحيح وكامل بين أعضاء الفريق.
القيم الخمس التي تعتمد عليها البرمجة القُصوى
البساطة : وتُشير هذه القيمة إلى أبسط شيء قد يؤدي إلى النجاح، وذلك لتجنب الهدر، والعمل فقط على الأمور الضرورية، مثل الحفاظ على تصميم النظام في أبسط صورة ممكنة حتى يكون من السهل الحفاظ عليه ودعمه وتطويره. والبساطة تعني أيضاً تلبية المُتطلبات التي يعرفها الفريق فقط، بدون مُحاولة منه لإضافة أي مُتطلبات يرى أنها قد تكون مُهمة في المستقبل.
التغذية الراجعة : فمن خلال التغذية الراجعة المُستمرة حول الجهود السابقة لفريق العمل، سيتمكن الفريق من تحديد المجالات التي يجب أن يقوم بتحسينها وتطويرها.
الشجاعة : يحتاج فريق العمل إلى الشجاعة في مواجهة المُشكلات التي تُقلّل من فعاليته، ويحتاج إلى الشجاعة للتوقف عن القيام بشيء لا يعمل وتجربة شيء آخر، كما يحتاج إلى الشجاعة لقبول التعليقات والتعامل معها، حتى عندما يكون من الصعب قبولها.
الاحترام : يحتاج فريق العمل إلى احترام بعضهم البعض من أجل التواصل بشكل فعّال، وتقديم وقبول الملاحظات، والعمل معاً لتحديد تصاميم وحلول بسيطة.
Kent Beck, the author of ‘Extreme Programming Explained’ defined 12 Extreme Programming practices as follows −
The Planning Game
Short Releases
Metaphor
Simple Design
Testing
Refactoring
Pair Programming
Collective Ownership
Continuous Integration
40 hour Week
On-site Customer
Coding Standards
Roles in Extreme Programming
Developer (also called XP-Programmer by some teams)
Customer
Tracker (optional)
Coach
Manager (also called tracker by some teams)
Doomsayer