البرمجة القصوى Extreme Programming. XP

1 دقيقة

ما تعريف البرمجة القصوى؟

البرمجة القصوى (Extreme Programming. XP): منهجية تطوير برمجيات تهدف إلى تحسين جودة البرامج والاستجابة لمتطلبات العملاء المتغيرة، وتُعد أكثر الأطر الرشيقة تقيداً بالممارسات الهندسية المناسبة لتطوير البرمجيات، وأحد أهم أطر تطوير البرامج لنماذج أجايل.

فهم البرمجة القصوى

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

متى يجب استخدام البرمجة القصوى؟

يوصى باتباع منهجية البرمجية القصوى في حال توافرت الخصائص التالية في المشروع الخاضع للتطوير:

  • المشاريع ذات التغير السريع في المتطلبات. 
  • المشاريع الصغيرة المكوّنة من فريق تطوير موسّع وموجود في مكان مشترك.
  • سماح التقنية المستخدمة في المشروع باختبارات الوحدة والاختبارات الوظيفية المؤتمتة.
  • المشاريع التي تنطوي على تكنولوجيا جديدة أو مشاريع بحثية.

مراحل البرمجة القصوى

يتضمن إطار عمل البرمجة القصوى خمس مراحل من عملية التطوير التي تتكرر باستمرار، وهي:

  • التخطيط (Planning): يقدم العميل المتطلبات لفريق التطوير على هيئة حالات تجربة مستخدم لوصف النتيجة المرجوة، ثم يقدّر الفريق الحالات، ويُعِد خطة إصدار مقسمة إلى التكرارات اللازمة لتغطية الوظائف المطلوبة واحدة تلو الأخرى.
  • التصميم (Designing): يركز على مبدأ البساطة، وتجنب التعقيد والتكرار غير الضروري.
  • الترميز (Coding): تُنشئ فيها الشيفرة الفعلية من خلال تنفيذ معايير عدة، مثل الترميز والبرمجة الزوجية والتكامل المستمر.
  • الاختبار (Testing): النشاط المنتظم الذي يتضمن كلاً من الاختبارات الآلية التي تتأكد من عمل الميزة المطورة، واختبارات القبول التي يتحقق من خلالها العميل من إنشاء النظام الكلي وفقاً للمتطلبات الأولية. 
  • الاستماع (Listening): ويشمل التواصل المستمر وردود الفعل، ويشارك من خلاله العملاء ومدراء المشروع في وصف منطق الأعمال والقيمة المتوقعة.

اقرأ أيضاً: