البرمجة القصوى (XP) – الجزء الأول

الإبتكار يبدأ بتغيير طريقة التفكير إلى تفكير مختلف ربما يخالف المعتقدات والأفكار المعتادة. فمثلا عكس العادات أو دمجها قد يولد أفكار مبدعة حقيقة.

هذا ما فعله كل من كينت بيك و رون جيفرز في 1996 حيث خالفوا أغلب قواعد التطوير المعتادة, وعملوا على تأكيد قواعد وممارسات عامة أسموها Extreme Programming (XP), حيث يمكن تطبيق هذه الممارسات في إطار فكر مختلف يؤمن بأن القيمة في المنتج الذي يحقق غاية العميل, وهو ما يسمى بفكر “البرمجيات الرشيقة” أو ال Agile.

تجدر الإشارة إلى أن هناك طرق و أساليب عديدة لل Agile, ال XP يعتبر من الطرق والأساليب الهندسية بمعنى أن الممارسات فيه عملية, على إختلاف من إطار سكروم على سبيل المثال الذي يركز على العملية الإدارية.

هذه التدوينة تشير إلى أهم الممارسات في ال XP وشرح بشيء من التفصبل عن كل منها:

– النسخ الصغيرة (Small Releases):

 

Small Releases
Small Releases

إطلاق نسخ صغيرة يساعد فريق التطوير والعميل معا ! فغالبا لا يكون العميل عنده رؤية كاملة للمنتج أو معرفة كاملة بالمنتج. ومع إطلاق نسخه صغيرة تبدأ التغذية المرجعة وهي التي تعزز عملية التطوير وتقلل من نسبة التغيرات ومن خطورة التغيرات الكثيرة.
وهنا يمكن عمل نسخ على مستوى مدة قصيرة وبناء المشروع بشكل تدريجي مثال كل 3 أشهر نسخة إطلاق.

 

– لعبة التخطيط (The Planning Game):

 

The Planning Game
The Planning Game

وهي طريقة لتأكيد مشاركة الجميع في التخطيط سواء من جانب العميل أو من جانب التقنين, بحيث يكون العميل مسؤول عن تحديد القصص “Stories” حيث أن كل قصة هي عبارة عن خاصية في المنتج تحقق هدف ذا قيمة فعلية في العمل وليست تقنية, كما ويتم تحديد الشروط التي يمكن من خلالها إعتماد كل قصة.

 


مثال : أنا كمدير مبيعات أريد ان أستعرض جميع العملاء حتى أستطيع التواصل معهم.

الشروط :
التأكد من أن العملاء مرتبين حسب الولاء وعمليات البيع.
– التأكد من عدم عرض العملاء المحذوفين.
– التأكد من عرض معلومات التواصل الرئيسية.


 

هنا القيمة لمدير المبيعات الفعلية التي يجب أن تتحقق هي إستعراض العملاء وليس الكيفية التقنية التي نريد عرض جميع العملاء فيها, بعد ذلك قمنا بكتابة الشروط اللازمة لتحقيق هذا الهدف كما يجب.

وبالتالي تصبح كل متطلبات العميل هي عبارة عن قصص تحتوي خصائص المنتج.

بعد كتابة القصص المطلوبة, يتم أولويتها من خلال العميل, ومن ثم يقوم المطورين بإحتساب كل قصة بوزن معين من النقاط بإحدى الأرقام التالية (1,2,3,5,8,13,20) حيث يقوم كل فرد من أعضاء الفريق بطرح رقم تقريبي لوزن هذه القصة بناء على تجربة سابقة أو قصة تم تنفيذها بوزن معين.

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

بعد ذلك نقوم بوضع الوزن المطلوب تنفيذه خلال فترة زمنية قصيرة, والمختصر من هذه اللعبة أن العميل يشارك من خلال كتابة وتحديد أولويات المطلبات, والمطورين من ناحية التوعية وحساب الوقت اللازم لتنفيذ كل قصة.

 

– الإستعارة (Metaphor):

Power-of-metaphors

تجربة المستخدم أمر مهم جدا لنجاح المنتج والفكرة تكمن بعمل أشياء قريبة لثقافة العميل, مثل سطح المكتب على جهاز الحاسوب فهو قريب جدا من سطح المكتب الواقعي. وهذا ما يجعل الأمر أبسط للفهم للمستخدم عن شيء أخر.

فعند تطوير البرمجيات نجاول تقريبها إلى شيء ملموس وله تجربة إستخدام وقريب لثقافة المستخدمين.

نكتفي بهذا القدر, وسنكمل في المرة القادمة مجموعة الممارسات الأخرى في ال XP.

دمتم بود, إلى تدوينة أخرى.

NO COMMENTS

LEAVE A REPLY