📚 المدونة

متى نعيد كتابة النظام القديم من الصفر

Q8DM Blog

النظام القديم الذي يعمل منذ سنوات يبدو كأنه عبء: كل تعديل صغير يحتاج وقتاً، والمطوّر الجديد يحتاج أسابيع ليفهمه، والإدارة تسأل باستمرار: لماذا لا نبدأ من الصفر؟ السؤال مشروع، لكن الإجابة الصحيحة ليست دائماً نعم.

العمر وحده ليس سبباً كافياً

نظام مكتوب بلغة قديمة قد يكون مستقراً ورخيص التشغيل. المشكلة الحقيقية ليست عمر الكود، بل كلفة التغيير فيه. إذا كان كل طلب جديد يستهلك وقتاً مضاعفاً، فلديك مشكلة قابلة للقياس وليست شعوراً فقط.

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

والفرق مهم: نظام قديم مستقر لا يشتكي منه أحد قد يكون أفضل من نظام جديد يحتاج سنة لينضج. القرار يجب أن يقوم على كلفة التغيير، لا على حداثة الأدوات.

علامات تجعل الإعادة منطقية

هناك حالات يصبح فيها البدء من جديد قراراً عملياً لا رفاهية:

إذا اجتمعت ثلاث من هذه العلامات، فالإعادة غالباً أرخص على المدى المتوسط من الترقيع المستمر.

علامات تقول: انتظر

الإعادة في التوقيت الخطأ قد تكلف أكثر من المشكلة نفسها. لا تبدأ إذا كان النظام يحمل عملاً موسمياً حرجاً، أو إذا لم يكن هناك من يملك الوقت لمرافقة المرحلة الانتقالية.

وتأكد أن المشكلة في الكود فعلاً. قاعدة بيانات بطيئة، أو استضافة ضعيفة، أو غياب توثيق، كلها ستنتقل معك إلى النظام الجديد بواجهة أنظف فقط.

الطريق الوسط قبل القرار

كثير من الأنظمة لا تحتاج استبدالاً كاملاً، بل فصلاً تدريجياً. اعزل الجزء الأكثر إيلاماً، وابنِه كخدمة مستقلة، واربطه بالنظام القديم عبر واجهة واضحة. تحصل على تحسّن ملموس دون المخاطرة بالعمل كله.

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

عملياً، ابدأ بواجهة واضحة بين القديم والجديد: نقاط دخول محددة، وبيانات تُنسخ أو تتزامن بطريقة مفهومة. بعد ذلك يمكنك نقل شاشة أو وظيفة كل شهر، مع إمكانية الرجوع للخلف إذا ظهر خلل.

كيف تبدأ بشكل صحيح

وثّق ما يفعله النظام فعلاً، لا ما يظن الناس أنه يفعله. ثم حدد ما يجب أن يبقى وما يمكن حذفه، فالأنظمة القديمة تحمل عادة ميزات لم يستخدمها أحد منذ سنوات.

اكتب نطاق المرحلة الأولى بلغة واضحة، واتفق على معيار للنجاح قبل أول سطر كود. هنا تساعد الخبرة الخارجية، وهو نوع العمل الذي تقدمه Q8DM ضمن مشاريع البرمجة للشركات في الكويت.

وأخيراً: لا تُغلق النظام القديم يوم الإطلاق. شغّل النظامين بالتوازي لفترة، وقارن الأرقام، ثم انتقل بناءً على دليل.

الخلاصة: أعد الكتابة عندما تتجاوز كلفة التغيير كلفة البناء، وعندما يكون لديك فريق ونطاق واضح. وإلا فالتنظيف التدريجي خيار أذكى. التفاصيل على q8dm.com.

تحتاج برمجة، تصميم، أو تدريب؟
Q8DM — حلول تقنية في الكويت منذ 1998.
تواصل معنا عبر q8dm.com