DomiraTechnology & Digital Development استشارة مجانية

ترحيل الأنظمة القديمة: لماذا لا تعيد الكتابة من الصفر

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

فهرس المقالة
  1. لماذا تفشل إعادة الكتابة الشاملة
  2. الخنق التدريجي
  3. استخراج المعرفة المدفونة
  4. ترحيل البيانات
  5. التشغيل المتوازي
خلاصة سريعة
  • الاستبدال التدريجي أقل مخاطرة من إعادة الكتابة الشاملة.
  • أغلب معرفة النظام غير موثقة وتستخرج من الكود والسلوك.
  • ترحيل البيانات أصعب من ترحيل الوظائف — ابدأ به مبكرا.
  • التشغيل المتوازي مكلف وضروري في الأنظمة الحرجة.

لماذا تفشل إعادة الكتابة الشاملة

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

الخنق التدريجي

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

  1. ابدأ بوظيفة طرفية قليلة الترابط لتثبت المسار.
  2. كل انتقال يسلم قيمة قابلة للقياس بذاته.
  3. أبق إمكان الرجوع للقديم في كل خطوة حتى تستقر الجديدة.
  4. انقل الوظائف الحرجة أخيرا بعد أن ينضج النظام الجديد.

استخراج المعرفة المدفونة

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

وتسجيل المدخلات والمخرجات الفعلية يعطيك مجموعة اختبار قبول ثمينة: النظام الجديد يجب أن ينتج النتائج نفسها.

ترحيل البيانات

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

  • ابدأ بتحليل جودة البيانات مبكرا لا قبل الإطلاق بأسبوع.
  • اكتب قواعد التحويل صراحة واعتمدها من صاحب العمل لا من المطور.
  • رحل تجريبيا مرات متعددة وقارن النتائج بالمصدر آليا.
  • احتفظ بالمصدر الأصلي قابلا للرجوع مدة كافية بعد الإطلاق.

التشغيل المتوازي

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

أسئلة شائعة

كم يستغرق ترحيل نظام قديم؟

يتحدد بحجم النظام وتشابك وظائفه وحال بياناته أكثر من أي عامل آخر. والتقدير الجاد يبدأ بمرحلة تحليل تفحص الكود والبيانات وتنتج خريطة وظائف وأولويات نقل.

هل نحتفظ بالنظام القديم بعد الترحيل؟

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

كيف نقنع الإدارة بمشروع لا يضيف مميزات؟

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

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