ØªØØ¯ÙŠØ« البرمجيات القديمة: متى ØªÙØ¹ÙŠØ¯ البناء ومتى ØªÙØ¹ÙŠØ¯ الهيكلة [دليل القرار]
كي٠تقرر ما إذا كنت Ø³ØªÙØØ¯Ùّث نظامك القديم أو ØªÙØ¹ÙŠØ¯ هيكلته أو ØªÙØ¹ÙŠØ¯ بناءه من Ø§Ù„ØµÙØ± — مع إطار قرار منهجي ومقارنات Ù„Ù„ØªÙƒÙ„ÙØ© والأخطاء الشائعة التي تØÙˆÙ‘Ù„ مشاريع Ø§Ù„ØªØØ¯ÙŠØ« إلى Ø¥Ø®ÙØ§Ù‚ات Ù…ÙÙƒÙ„ÙØ©.
ثمة Ù…Ùهوم خاطئ شائع Ù…ÙØ§Ø¯Ù‡ أن كلمة "قديم" Ù…Ø±Ø§Ø¯ÙØ© لكلمة "عتيق". الأمر ليس كذلك. البرمجيات القديمة لا ØªÙØ¹Ø±ÙŽÙ‘٠بعمرها، بل ØªÙØ¹Ø±ÙŽÙ‘Ù Ø¨ØªÙƒÙ„ÙØ© التغيير. النظام الذي Ø£Ùنشئ قبل خمس سنوات ÙˆÙÙ‚ أنماط خاطئة وبلا تغطية اختبارات وبلا توثيق، هو نظام قديم بالمعنى Ø§Ù„ØØ±ÙÙŠ تمامًا كتطبيق Ø§Ù„ØØ§Ø³Ø¨ المركزي المكتوب بلغة COBOL عام 1987. ما يجمعهما خاصية ÙˆØ§ØØ¯Ø©: تعديلهما Ù…Ùكل٠وبطيء ومØÙو٠بمخاطر لا تتناسب مع ØØ¬Ù… التغيير المطلوب.
والعكس صØÙŠØ أيضًا. الأنظمة التي ÙƒÙØªØ¨Øª منذ عقود لكنها صÙونت بانضباط وعناية وظلت موثقة ÙˆÙ…ÙØºØ·Ø§Ø© بالاختبارات، ليست ÙÙŠ ØÙ‚يقتها أنظمة قديمة على الإطلاق. إنها أنظمة ناضجة — وبين المصطلØÙŠÙ† ÙØ±Ù‚ جوهري.
نتعامل مع شركات تمتلك برمجيات ÙÙŠ مختل٠نقاط هذا الطيÙ. بعضها أنظمة قديمة ØÙ‚يقية تضم آلا٠قواعد العمل غير الموثقة المدÙونة ÙÙŠ إجراءات مخزّنة. وبعضها قواعد Ø´ÙŠÙØ±Ø© ØØ¯ÙŠØ«Ø© نسبيًا تدهورت بسرعة لأنها بÙنيت ØªØØª ضغط وبلا أسس سليمة. ما يشترك Ùيه معظمها هو Ù„ØØ¸Ø© إدراك ÙˆØ§ØØ¯Ø©: بات النظام ÙŠÙكلّ٠ÙÙŠ صيانته أكثر مما يستØÙ‚ على هيئته الراهنة، ولا بدّ من التغيير.
ما يأتي بعد ذلك — كي٠تقرر Ø§Ù„ØªØØ¯ÙŠØ«ØŒ وما المنهج الذي تتبعه، وكي٠تدير المخاطر — هو Ø£ØØ¯ أكثر القرارات التقنية أهمية وأثرًا ÙÙŠ مسيرة أي شركة. إذا Ù†ÙÙÙّذ بشكل صØÙŠØØŒ يمكن Ù„Ù„ØªØØ¯ÙŠØ« أن ÙŠÙØªØ أمامك سنوات من الميزة Ø§Ù„ØªÙ†Ø§ÙØ³ÙŠØ©. وإذا Ù†ÙÙÙّذ بشكل سيئ، Ùقد يكلّ٠أضعا٠التقدير الأولي ويÙنتج لا شيء طوال 18 شهرًا وأØÙŠØ§Ù†Ù‹Ø§ ÙŠÙØ¯Ù…ّر الشركة بأسرها.
هذا الدليل هو Ù…ØØ§ÙˆÙ„تنا الصادقة لمنØÙƒ الإطار الذي ÙŠÙØªÙŠØ لك اتخاذ القرار الصØÙŠØ.
ما الذي يجعل البرمجيات "قديمة"؟
العمر عامل مؤثر، لكنه نادرًا ما يكون العامل Ø§Ù„ØØ§Ø³Ù…. المؤشرات الØÙ‚يقية للبرمجيات القديمة هي بنيوية وتشغيلية، وتتراكم بصر٠النظر عن المدة التي يعمل Ùيها النظام.
Ø§Ù„Ø´ÙŠÙØ±Ø© غير القابلة للصيانة هي الإشارة الأكثر وضوØÙ‹Ø§. Ø§Ù„Ø´ÙŠÙØ±Ø© التي تخلو من Ø§Ù„ÙØµÙ„ بين المسؤوليات — ØÙŠØ« تتشابك منطق الأعمال مع استعلامات قاعدة البيانات، وتمتد الدوال لآلا٠الأسطر، ÙˆØÙŠØ« يتطلب تغيير شيء ÙˆØ§ØØ¯ Ùهم النظام بأكمله — لا يلزمها أن تكون عتيقة لتكون غير قابلة للصيانة. قرارات هندسية سيئة اتÙّخذت بسرعة ØªØØª الضغط تÙنتج Ø´ÙŠÙØ±Ø© قديمة ÙÙŠ غضون أشهر.
غياب تغطية الاختبارات يعني أن كل تغيير هو Ù‚ÙØ²Ø© ÙÙŠ المجهول. بلا اختبارات آلية، لا يستطيع المطورون لمس قاعدة Ø§Ù„Ø´ÙŠÙØ±Ø© بثقة دون خطر Ø§Ù„Ø§Ù†ØØ¯Ø§Ø±Ø§Øª الصامتة. هذا يخلق ÙØ®Ù‹Ù‘ا ذاتي التعزيز: Ø§Ù„Ø´ÙŠÙØ±Ø© Ù…ØÙÙˆÙØ© بالمخاطر يصعب تعديلها، Ùلا Ø£ØØ¯ يكتب اختبارات لها، ÙØªØ²Ø¯Ø§Ø¯ خطورة. يستجيب Ø§Ù„ÙØ±ÙŠÙ‚ بالبناء ØÙˆÙ„ المشكلة — Ø¥Ø¶Ø§ÙØ© ميزات جديدة على الأطرا٠بدلًا من تعديل النواة — مما ÙŠÙÙØ§Ù‚Ù… البنية تدريجيًا.
التقنية غير المدعومة تخلق نوعًا مختلÙًا من المخاطر. ØÙŠÙ† تصل بيئة التشغيل أو الإطار البرمجي أو نظام التشغيل إلى نهاية دورة ØÙŠØ§ØªÙ‡ØŒ ØªØªÙˆÙ‚Ù ØªØØ¯ÙŠØ«Ø§Øª الأمان. نظام يعمل على إصدار غير مدعوم من JavaØŒ أو إصدار مهمل من NodeØŒ أو توزيعة Linux بلغت نهاية دعمها، ليس متقادمًا تقنيًا ÙØØ³Ø¨ — بل هو مسؤولية تتعاظم مع الوقت. كل شهر يمر بلا ØªØØ¯ÙŠØ« ÙŠÙوسّع Ø³Ø·Ø Ø§Ù„Ù‡Ø¬ÙˆÙ….
عدم القدرة على التوظي٠هو Ø¨ÙØ¹Ø¯ تجاري للبرمجيات القديمة كثيرًا ما تÙقلّل منه قيادات الأعمال. عدد المطورين الذين يعرÙون VB6 أو Delphi أو Classic ASP أو ColdFusion قليل جدًّا — ومن يعرÙونها ÙÙŠ الغالب مهندسون أقدم يمكنهم الانخراط ÙÙŠ أعمال أكثر قيمة. ØÙŠÙ† تكون تقنيتك متخصصة أو متقادمة لدرجة يتعذر معها التوظي٠Ùيها، ØªØµØ¨Ø Ø±Ù‡ÙŠÙ† مجموعة متقلصة من الأشخاص. هذا الاعتماد Ù…Ùكل٠وهشّ.
الاعتماد على الأجهزة إشارة يسهل تجاهلها ØØªÙ‰ ØªØµØ¨Ø Ø£Ø²Ù…Ø©. الأنظمة التي لا تعمل إلا على أجهزة مادية بعينها — أو التي تعتمد على أنظمة تشغيل مرتبطة بأجيال من الأجهزة لم تعد ØªÙØµÙ†ÙŽÙ‘ع — تÙنشئ نقطة ÙØ´Ù„ ÙˆØ§ØØ¯Ø© لا يمكن ØÙ„ها دون Ø§Ù„ØªØØ¯ÙŠØ«. ØªØØ¯Ø«Ù†Ø§ مع شركات تبعد عطل خادم ÙˆØ§ØØ¯ عن الشلل التشغيلي الكامل، لأن نظامها لا يعمل إلا على أجهزة لم ØªÙØµÙ†ÙŽÙ‘ع منذ خمس عشرة سنة.
ثغرات الأمن غير القابلة للترقيع هي ربما Ø§Ù„ÙØ¦Ø© الأكثر Ø¥Ù„ØØ§ØÙ‹Ø§. ØÙŠÙ† تÙنشر ثغرة CVE تطال مكونًا يعتمد عليه نظامك ولا يوجد ترقيع لها — لأن المورّد لم يعد يدعمه — لا تملك خيارات جيدة بدون Ø§Ù„ØªØØ¯ÙŠØ«. يمكنك عزل النظام وتقييد الوصول ÙˆØ¥Ø¶Ø§ÙØ© مراقبة، لكن لا شيء من هذه التدابير ÙŠÙØ²ÙŠÙ„ التعرض الجوهري.
المØÙزات التجارية Ù„Ù„ØªØØ¯ÙŠØ«
نادرًا ما تقرر الشركات ØªØØ¯ÙŠØ« أنظمتها القديمة لأسباب تقنية Ø¨ØØªØ©. عادةً ما ÙŠÙØ±Ø¶ القرار ÙˆØ§ØØ¯ أو أكثر من الواقعيات التجارية التالية.
انهيار سرعة إنجاز الميزات. ØÙŠÙ† كان إنجاز ميزة جديدة يستغرق أسبوعًا ÙØ£ØµØ¨Ø يستغرق ثلاثة أشهر — وتÙقضى معظم هذه المدة ÙÙŠ Ùهم النظام Ø§Ù„ØØ§Ù„ÙŠ وإدارة Ø§Ù„Ø§Ù†ØØ¯Ø§Ø±Ø§Øª واختبار ما كان ينبغي أن يكون آليًا — ÙØ¥Ù† النظام ÙŠÙكلّÙÙƒ أرضًا ØªÙ†Ø§ÙØ³ÙŠØ©. كل ربع سنة من الشØÙ† المتأخر هو ربع سنة يمتلك Ùيه Ù…Ù†Ø§ÙØ³ÙˆÙƒ Ø§Ù„Ø³Ø§ØØ© Ù„ÙˆØØ¯Ù‡Ù….
مخاطر الأمن باتت غير مقبولة. الجهات التنظيمية وشركات التأمين والعملاء من المؤسسات ومجالس الإدارة يولون اهتمامًا أكبر بوضع أمن البرمجيات مما كانوا عليه قبل خمس سنوات. Ø£ØµØ¨Ø Ù…ÙƒØªØªØ¨Ùˆ التأمين الإلكتروني يطرØÙˆÙ† أسئلة ØªÙØµÙŠÙ„ية ØÙˆÙ„ وتيرة Ø§Ù„ØªØØ¯ÙŠØ«Ø§Øª ÙˆÙ†Ø¸Ø§ÙØ© التبعيات والتعرض لبيئات التشغيل منتهية الدعم. كثيرًا ما ØªÙØ®ÙÙ‚ الأنظمة القديمة ÙÙŠ هذه التقييمات — ÙˆØªØªØ±Ø§ÙˆØ Ø§Ù„Ø¹ÙˆØ§Ù‚Ø¨ بين Ø§Ø±ØªÙØ§Ø¹ الأقساط إلى Ø³ØØ¨ التغطية إلى المسؤولية عن الاختراقات.
متطلبات الامتثال لا يمكن Ø§Ù„ÙˆÙØ§Ø¡ بها. GDPR ÙˆPCI DSS ÙˆISO 27001 ÙˆSOC 2 — تتطلب أطر الامتثال العديدة قدرات لا تستطيع الأنظمة القديمة توÙيرها ببساطة. إقامة البيانات وتسجيل المراجعات والتشÙير ÙÙŠ ØØ§Ù„Ø© السكون وضوابط الوصول الدقيقة: إذا لم ÙŠÙØµÙ…َّم النظام الأصلي لهذه المتطلبات، ÙØ¥Ù† Ø¥Ø¶Ø§ÙØªÙ‡Ø§ بأثر رجعي إلى قاعدة Ø´ÙŠÙØ±Ø© غير قابلة للصيانة كثيرًا ما يكون أغلى من إعادة البناء.
أزمة المواهب التقنية ØÙ„ّت. ØÙŠÙ† لا يمكنك صيانة نظامك إلا Ø¨ÙØ±ÙŠÙ‚ من شخصين عملا عليه عقدًا من الزمن، ÙØ£Ù†Øª أمام مشكلة مخاطر الشخص الأساسي Ù…ÙØ¯Ù…جة ÙÙŠ مشكلة تقنية. ØÙŠÙ† يغادر هذان الشخصان — وسيغادران ÙÙŠ نهاية المطا٠— تغادر Ø§Ù„Ù…Ø¹Ø±ÙØ© المؤسسية معهما. قبل ØØ¯ÙˆØ« ذلك، كثيرًا ما تصل الشركات إلى نقطة تعجز Ùيها ببساطة عن إيجاد بدائل للمهارات التي يتطلبها النظام.
الضغط Ø§Ù„ØªÙ†Ø§ÙØ³ÙŠ ÙŠØ¬Ø¹Ù„ Ø§Ù„ØªÙƒÙ„ÙØ© مرئية. Ø§Ù„Ù…Ù†Ø§ÙØ³ÙˆÙ† الذين ØØ¯Ù‘ثوا أنظمتهم قبل عامين يشØÙ†ÙˆÙ† الميزات ÙÙŠ أيام بينما يستغرق منك Ø´ØÙ†Ù‡Ø§ شهورًا. إنهم يتكاملون مع منصات الطر٠الثالث عبر واجهات برمجية ØØ¯ÙŠØ«Ø© بينما تبني تكاملات نقطة إلى نقطة مخصصة. الأثر المتراكم لهذه Ø§Ù„ÙØ¬ÙˆØ© هو ÙÙŠ الغالب ما يجعل المبرر التجاري Ù„Ù„ØªØØ¯ÙŠØ« لا يمكن إنكاره.
خيارات Ø§Ù„ØªØØ¯ÙŠØ«
ليست كل مشكلة ÙÙŠ نظام قديم تستلزم إعادة بناء كاملة. ØªØªØ±Ø§ÙˆØ Ø§Ù„Ø®ÙŠØ§Ø±Ø§Øª بين الأقل اضطرابًا والأكثر اضطرابًا، والاختيار الصØÙŠØ يعتمد على وضعك Ø§Ù„Ù…ØØ¯Ø¯.
التغلي٠والتّسوير
يترك هذا النهج النظام القديم دون أي تعديل داخلي. عوضًا عن ذلك، تبني طبقة API — جوهرها واجهة — تجلس أمام النظام القديم ÙˆØªÙØ¸Ù‡Ø± وظائÙÙ‡ عبر واجهة ØØ¯ÙŠØ«Ø©. ÙŠØªÙØ§Ø¹Ù„ المستهلكون الخارجيون مع طبقة APIØ› يتولى النظام القديم المعالجة الأساسية كما كان دائمًا.
الأنسب لـ: الأنظمة التي تكون داخلياتها Ù…ØÙÙˆÙØ© بمخاطر أو تكالي٠باهظة إذا Ù„Ùمست، لكن مشكلتها الرئيسية أن لا شيء ØØ¯ÙŠØ«Ù‹Ø§ يستطيع التكامل معها. Ù…Ùيد أيضًا كخطوة أولى ÙÙŠ رØÙ„Ø© ØªØØ¯ÙŠØ« أطول، يمنØÙƒ الوقت لبناء بديل مع الØÙاظ على الاستمرارية.
القيود: لا ØªÙØ¹Ø§Ù„ج المشاكل الجذرية — بل ØªÙØ®Ùيها خل٠واجهة أنظÙ. يظل الدَّين التقني ومخاطر الأمن ÙˆØªÙƒÙ„ÙØ© الصيانة للنظام القديم قائمة. هذه استراتيجية استقرار، لا استراتيجية ØªØØ¯ÙŠØ« مستقلة.
إعادة الهيكلة التدريجية
قاعدة الكشا٠— اترك كل ÙˆØØ¯Ø© تلمسها Ø£ÙØ¶Ù„ مما وجدتها — Ù…ÙØ·Ø¨ÙŽÙ‘قة على نطاق واسع. بدلًا من تخصيص وقت خاص Ù„Ù„ØªØØ¯ÙŠØ«ØŒ ÙŠÙØ¬Ø±ÙŠ Ø§Ù„ÙØ±ÙŠÙ‚ ØªØØ³ÙŠÙ†Ø§Øª هيكلية ÙÙŠ إطار تطوير الميزات المعتادة. ØªÙØ¶Ø§Ù الاختبارات. ØªÙØ³ØªØ®Ù„ص الدوال. تÙÙØµÙŽÙ„ Ø§Ù„ÙˆØØ¯Ø§Øª. ØªÙØØ¯ÙŽÙ‘Ø« التبعيات.
الأنسب لـ: الأنظمة التي تكون قاعدة Ø´ÙŠÙØ±ØªÙ‡Ø§ قابلة للعمل Ùيها ومنطقها الأساسي سليم ومشاكلها تتعلق ÙÙŠ المقام الأول بجودة Ø§Ù„Ø´ÙŠÙØ±Ø© لا بالأساسيات المعمارية. يناسب Ø§Ù„ÙØ±Ù‚ المستقرة التي تمتلك ملكية طويلة الأمد لقاعدة Ø§Ù„Ø´ÙŠÙØ±Ø©.
القيود: بطيء. Ø§Ù„ØªØØ³ÙŠÙ†Ø§Øª ØÙ‚يقية لكنها تتراكم على مدى سنوات لا أشهر. إذا كانت لدى النظام مشاكل معمارية عميقة — نموذج بيانات خاطئ، أو معالجة متزامنة ØÙŠØ« تلزم معالجة غير متزامنة، أو بنية Ø£ØØ§Ø¯ÙŠØ© لا يمكن توسيعها — Ùلن تصل إليها إعادة الهيكلة التدريجية دون تدخل معماري أكثر تعمدًا.
نمط التجذّر الخانق
Ù…ÙØ³Ù…ّى على اسم شجرة التين الخانقة التي تنمو ØÙˆÙ„ شجرة قائمة وتØÙ„Ù‘ Ù…ØÙ„ها تدريجيًا، يقوم هذا النمط على بناء نظام جديد بجانب القديم ونقل الوظائ٠تدريجيًا. ØªÙØ¹Ø§Ø¯ ميزات أو ÙˆØØ¯Ø§Øª أو رØÙ„ات مستخدم ÙØ±Ø¯ÙŠØ© ÙÙŠ النظام الجديد، ÙˆÙŠÙØ¹Ø§Ø¯ توجيه Ø§Ù„ØØ±ÙƒØ© إليه قطعة قطعة، ØØªÙ‰ لا يتعامل النظام القديم مع أي شيء ويمكن إيقاÙÙ‡.
الأنسب لـ: الأنظمة المعقدة الØÙŠÙˆÙŠØ© للأعمال ØÙŠØ« الاستبدال الكلي الÙوري Ù…ØÙو٠بالمخاطر. يمنØÙƒ نظامًا إنتاجيًا ØÙ‚يقيًا قيد التشغيل للتØÙ‚Ù‚ منه ÙÙŠ كل مرØÙ„Ø©. إذا ظهر خطأ ÙÙŠ النظام الجديد، يمكن إعادة توجيه Ø§Ù„ØØ±ÙƒØ© إلى النظام القديم. لن تكون أبدًا ÙÙŠ ØØ§Ù„Ø© لا يعمل Ùيها شيء.
القيود: تشغّل نظامين Ù„ÙØªØ±Ø© ممتدة، مما ينطوي على ØªÙƒÙ„ÙØ© بنية ØªØØªÙŠØ© وعبء إدراكي. يستلزم نهجًا منضبطًا ÙÙŠ التوجيه وتÙكيرًا دقيقًا ØÙˆÙ„ Ø§Ù„ÙˆØØ¯Ø§Øª التي يجب ترØÙŠÙ„ها وبأي ترتيب. اتساق البيانات بين النظامين خلال ÙØªØ±Ø© الانتقال ØªØØ¯ÙÙ‘ كبير.
إعادة المنصة
Ø§ØØªÙظ بمنطق الأعمال القائم لكن انقله إلى تقنية جديدة. نظام يعمل على Windows Server 2008 ÙŠÙØ±ØÙŽÙ‘Ù„ إلى بيئة Ø³ØØ§Ø¨ÙŠØ© ØØ¯ÙŠØ«Ø©. تطبيق مبني على إطار بلغ نهاية دعمه ÙŠÙØ¹Ø§Ø¯ بناؤه على Ù…ÙƒØ§ÙØ¦Ù‡ Ø§Ù„ØØ¯ÙŠØ«. يبقى نموذج البيانات ومنطق النطاق وسير العمل الأساسية كما هي — ما يتغير هو البنية Ø§Ù„ØªØØªÙŠØ© وبيئة التشغيل.
الأنسب لـ: الأنظمة التي يكون منطقها الجوهري سليمًا ومÙهومًا جيدًا لكن التقنية التي ØªØØªÙ‡ Ø£ØµØ¨ØØª غير قابلة للاستمرار. الخيار الأنسب ÙÙŠ الغالب ØÙŠÙ† يكون Ø§Ù„Ù…ØØ±Ùƒ الرئيسي بيئة تشغيل بلغت نهاية دعمها، أو اعتمادًا على أجهزة بعينها، أو بنية ØªØØªÙŠØ© لم يعد تشغيلها اقتصاديًا.
القيود: ما زلت تترجم النظام Ø§Ù„ØØ§Ù„ÙŠØŒ مما يعني أنك ستصطدم بكل التعقيدات المخÙية ÙÙŠ المنطق القائم. كثيرًا ما تتوسع مشاريع "إعادة المنصة" ÙÙŠ نطاقها ØÙŠÙ† ØªÙƒØªØ´Ù Ø§Ù„ÙØ±Ù‚ قواعد أعمال غير موثقة ومشاكل جودة بيانات ÙˆØØ§Ù„ات ØØ§ÙØ© لم ØªÙØ¯ÙˆÙŽÙ‘Ù† ÙÙŠ أي مكان.
إعادة البناء الكاملة
بناء نظام جديد كليًّا من Ø§Ù„ØµÙØ± انطلاقًا من Ùهم نظي٠لما ØªØØªØ§Ø¬Ù‡ الأعمال ÙØ¹Ù„ًا. ÙŠÙØ³ØªØ®Ø¯Ù… النظام القديم مرجعًا لا نموذجًا — أنت تصمم النظام الجديد بشكل صØÙŠØ لا ØªÙØ¹ÙŠØ¯ خلق القديم.
الأنسب لـ: الأنظمة التي يكون منطقها الجوهري خاطئًا أساسًا لا Ù…ÙØ¹Ø¨ÙŽÙ‘رًا عنه بشكل سيئ ÙØØ³Ø¨ — ØÙŠØ« لا يناسب نموذج البيانات النطاق، أو تجعل البنية المتطلبات المستقبلية مستØÙŠÙ„Ø© هيكليًا، أو يكون تدهور قاعدة Ø§Ù„Ø´ÙŠÙØ±Ø© بالغًا لدرجة أن أي نهج آخر سيكل٠أكثر من البداية من Ø§Ù„ØµÙØ±.
القيود: الأعلى مخاطرة. الأطول جدولًا زمنيًا. الأكثر Ø§ØØªÙ…الًا لتجاوز الميزانية. نناقش هذا Ø¨Ø§Ù„ØªÙØµÙŠÙ„ ÙÙŠ القسم التالي.
إطار قرار إعادة البناء مقابل إعادة الهيكلة
الجدول التالي نقطة انطلاق لهيكلة القرار. لا يكون أي معيار ØØ§Ø³Ù…ًا Ù…Ù†ÙØ±Ø¯Ù‹Ø§ — تظهر الإجابة من النظر إليها معًا.
| المعيار | يشير Ù†ØÙˆ إعادة الهيكلة / نمط التجذّر الخانق | يشير Ù†ØÙˆ إعادة البناء |
|---|---|---|
| ØØ¬Ù… الدَّين التقني | Ù…ØØ¯ÙˆØ¯ ÙÙŠ ÙˆØØ¯Ø§Øª بعينها | منهجي؛ يؤثر على قاعدة Ø§Ù„Ø´ÙŠÙØ±Ø© بأسرها |
| ØµØØ© منطق النطاق | المنطق سليم لكنه معبَّر عنه بشكل سيئ | المنطق خاطئ أو لم يعد يناسب الأعمال |
| نموذج البيانات | صØÙŠØ بشكل عام والمخطط قابل للعمل | خاطئ جذريًا؛ لا يمكن تطويره دون ترØÙŠÙ„ |
| تغطية الاختبارات | تغطية جزئية ØªÙØ´ÙƒÙ‘Ù„ شبكة أمان | لا اختبارات؛ التغييرات مجرد تخمين |
| Ù…Ø¹Ø±ÙØ© Ø§Ù„ÙØ±ÙŠÙ‚ | Ø§Ù„ÙØ±ÙŠÙ‚ ÙŠÙهم النظام Ø§Ù„ØØ§Ù„ÙŠ | Ø§Ù„Ù…Ø¹Ø±ÙØ© غادرت؛ النظام صندوق أسود |
| تØÙ…ّل المخاطر | لا يمكن تØÙ…ّل ÙØªØ±Ø© عدم استقرار | يمكن استيعاب مخاطر الانتقال مقابل مكسب طويل الأمد |
| الجدول الزمني | 12–18 شهرًا مقبول؛ التسليم التدريجي Ù…ÙØ¶Ù‘Ù„ | 18–36 شهرًا مقبول إذا كانت النتيجة Ù†Ø¸ÙŠÙØ© |
| الميزانية | Ù…ØØ¯ÙˆØ¯Ø©Ø› يجب الØÙاظ على العمليات الجارية | كاÙية للتشغيل المتوازي وإعادة البناء الكاملة |
| Ø¥Ù„ØØ§ØÙŠØ© الامتثال / الأمن | يمكن معالجتها تدريجيًا | Ùوري؛ النظام Ø§Ù„ØØ§Ù„ÙŠ لا يمكن جعله متواÙقًا |
| التقنية المستخدمة | قابلة للصيانة بجهد | لا يمكن التوظي٠Ùيها؛ المورّد أنهى دعم بيئة التشغيل |
قاعدة الإبهام التي نستخدمها داخليًا: إذا أشارت أكثر من نص٠هذه المعايير Ù†ØÙˆ إعادة البناء، وكانت الميزانية وتØÙ…ّل المخاطر يدعمان ذلك، ÙØ¥Ù† Ø§Ù„ØØ¬Ø© لإعادة البناء قوية. وإذا كان التوزع أكثر تقاربًا، ÙØ¥Ù† نمط التجذّر الخانق — الذي يمنØÙƒ النتيجة النهائية Ø§Ù„Ù†Ø¸ÙŠÙØ© لإعادة البناء مع مل٠مخاطر إعادة الهيكلة التدريجية — كثيرًا ما يكون الإجابة الصØÙŠØØ©.
لماذا تستغرق عمليات إعادة البناء الكاملة دائمًا وقتًا أطول مما هو متوقع
إذا سألت معظم ÙØ±Ù‚ الهندسة كم من الوقت ستستغرق إعادة البناء الكاملة، ستكون الإجابة خاطئة. ÙÙŠ الغالب خاطئة بشكل ملموس. هذا ليس Ø¥Ø®ÙØ§Ù‚ًا ÙÙŠ التخطيط خاصًّا Ø¨Ø§Ù„ÙØ±Ù‚ السيئة — إنه خاصية بنيوية لعمليات إعادة البناء الكاملة، ÙˆÙهم السبب يساعدك على التخطيط ØÙˆÙ„ها.
أثر النظام الثاني، الذي وصÙÙ‡ ÙØ±ÙŠØ¯ بروكس ÙÙŠ كتاب *الشهر الخراÙÙŠ للرجل*ØŒ هو ميل النسخة الثانية من النظام إلى Ø§Ù„Ø¥ÙØ±Ø§Ø· ÙÙŠ الهندسة من Ù‚ÙØ¨Ù„ ÙØ±ÙŠÙ‚ بات يعر٠ما كان يتمنى أن يكون عليه النظام الأول. المهندسون الذين يصممون نظامًا بديلًا يريدون هذه المرة إنجازه بشكل صØÙŠØ — وهو ØØ§Ùز معقول — Ùيتمدد النطاق ليشمل كل ميزة كانت Ù…Ùقيّدة ÙÙŠ المرة الأولى. ÙŠØµØ¨Ø Ø§Ù„Ù†Ø¸Ø§Ù… الثاني أكثر طموØÙ‹Ø§ من الأول ويتمدد الجدول الزمني تبعًا لذلك.
المنطق التجاري المخÙÙŠ هو المشكلة الأكثر Ø¥Ù„ØØ§ØÙ‹Ø§. الأنظمة القديمة، لا سيما تلك التي تعمل منذ عشر سنوات أو أكثر، ØªÙØ´Ùّر قدرًا هائلًا من Ø§Ù„Ù…Ø¹Ø±ÙØ© المؤسسية ÙÙŠ سلوكها. ليس ÙÙŠ التوثيق. ليس ÙÙŠ Ø§Ù„Ù…ÙˆØ§ØµÙØ§Øª. ÙÙŠ Ø§Ù„Ø´ÙŠÙØ±Ø© ذاتها — وأØÙŠØ§Ù†Ù‹Ø§ ليس ØØªÙ‰ بشكل ÙˆØ§Ø¶Ø ÙÙŠ Ø§Ù„Ø´ÙŠÙØ±Ø©ØŒ بل ÙÙŠ Ø§Ù„ØªÙØ§Ø¹Ù„ات بين المكونات ÙˆÙÙŠ ترتيب تنÙيذ العمليات ÙˆÙÙŠ Ø§Ù„ØØ§Ù„ات Ø§Ù„ØØ§ÙØ© التي عالجها قبل سنوات مطور غادر منذ أمد بعيد ولم يخبر Ø£ØØ¯Ù‹Ø§ بما كان ÙŠÙØ¹Ù„Ù‡ أو لماذا. استخلاص هذا المنطق من نظام إنتاجي قيد التشغيل أصعب وأكثر استهلاكًا للوقت مما يتوقعه أي Ø£ØØ¯.
تعقيد ترØÙŠÙ„ البيانات (نتناوله ÙÙŠ القسم التالي) يضي٠باستمرار أشهرًا إلى الجداول الزمنية التي Ù‚ÙØ¯Ùّرت دون Ø§ØØªØ³Ø§Ø¨Ù‡.
اكتشا٠التكاملات يضي٠المزيد. كل نظام قديم لديه تكاملات أكثر مما يتذكره أي Ø£ØØ¯ — خدمات طر٠ثالث وأدوات داخلية وعمليات يدوية ØªÙØºØ°Ù‘ÙŠ البيانات ÙÙŠ النظام وصيغ تصدير تعتمد عليها الأنظمة الأخرى. كل ÙˆØ§ØØ¯ من هذه التكاملات ÙŠØØªØ§Ø¬ إلى اكتشا٠وتوثيق وإعادة بناء ÙÙŠ النظام الجديد.
تجربتنا أن عمليات إعادة البناء الكاملة تستغرق ما بين 1.5 إلى 2 ضع٠التقدير الأولي. هذا ليس تشاؤمًا — هذا ما ØªÙØ¸Ù‡Ø±Ù‡ البيانات. ابن٠هذا Ø§Ù„Ø§ÙØªØ±Ø§Ø¶ ÙÙŠ ØØ¬ØªÙƒ التجارية قبل أن تلتزم بأي قرار.
ترØÙŠÙ„ البيانات: الجانب الأكثر استهانة
ترØÙŠÙ„ البيانات هو الجزء ÙÙŠ مشاريع Ø§Ù„ØªØØ¯ÙŠØ« الذي ÙŠØØ¸Ù‰ بأقل اهتمام ÙÙŠ مرØÙ„Ø© التخطيط ويتسبب ÙÙŠ أكبر المشاكل ÙÙŠ مرØÙ„Ø© التنÙيذ. رأينا ØªÙƒÙ„ÙØ© أعمال ترØÙŠÙ„ البيانات تبلغ بقدر النظام الجديد بأسره.
البيانات الملوثة هي المشكلة الأولى. بيانات الإنتاج المتراكمة على مدى سنوات ØªØØªÙˆÙŠ Ø¯Ø§Ø¦Ù…Ù‹Ø§ تقريبًا على مشاكل جودة لم تكن مرئية لأن النظام القديم كان ÙŠØªØØ§ÙŠÙ„ عليها — أو لأن Ø£ØØ¯Ù‹Ø§ لم ينظر إليها أصلًا. سجلات مكررة. قيم ÙØ§Ø±ØºØ© ÙÙŠ ØÙ‚ول يجب ألا تكون ÙØ§Ø±ØºØ©. ØÙ‚ول تواريخ بقيم مثل "00/00/0000" أدخلها مطور مرة كعنصر نائب واعتمدت عليها عملية ما ÙÙŠ مكان ما. مراجع Ù…ÙØ§ØªÙŠØ خارجية لسجلات لم تعد موجودة. تطبيع هذه البيانات وتنظيÙها قبل ترØÙŠÙ„ها إلى مخطط جديد عمل كبير، ويكاد يكون من المستØÙŠÙ„ تقدير نطاقه الكامل ØØªÙ‰ تنظر ÙØ¹Ù„ًا ÙÙŠ البيانات.
ترجمة المخطط نادرًا ما تكون ÙˆØ§ØØ¯Ù‹Ø§ Ù„ÙˆØ§ØØ¯. إذا صÙمّم النظام الجديد بشكل صØÙŠØØŒ سيختل٠نموذج بياناته عن نموذج النظام القديم — وأØÙŠØ§Ù†Ù‹Ø§ بشكل جذري. ترجمة البيانات من المخطط القديم إلى الجديد تتطلب تعيينًا دقيقًا ومنطق تØÙˆÙŠÙ„ والتØÙ‚Ù‚ ÙÙŠ كل خطوة. كلما ابتعد المخططان عن بعضهما، زاد ØØ¬Ù… عمل الترجمة.
ÙØªØ±Ø© التشغيل المتوازي تضي٠طبقة أخرى من التعقيد. ØÙŠÙ† يعمل كلا النظامين ÙÙŠ وقت ÙˆØ§ØØ¯ØŒ يجب أن تنعكس البيانات المكتوبة ÙÙŠ النظام القديم ÙÙŠ الجديد والعكس صØÙŠØ. إبقاء قاعدتي البيانات متزامنتين خلال ÙØªØ±Ø© الانتقال يتطلب إما آلية مزامنة قوية أو تسلسلًا دقيقًا جدًّا للتØÙˆÙŠÙ„ — وكلا النهجين يستلزم وقت هندسة لم يكن ÙÙŠ الخطة الأصلية عادةً.
الترØÙŠÙ„ دون توق٠كثيرًا ما يكون متطلبًا تجاريًا لكنه نادرًا ما يكون بسيط التنÙيذ. استراتيجيات مثل نمط التوسع-الانكماش ونشر الأزرق-الأخضر ومصادر Ø§Ù„Ø£ØØ¯Ø§Ø« خلال ÙØªØ±Ø© الانتقال يمكنها تØÙ‚يق ذلك، لكن كلًّا منها يضي٠تعقيدًا. إذا كان Ø§Ù„ØµÙØ± توق٠متطلبًا صارمًا، ØØ¯Ù‘د نطاق أعمال ترØÙŠÙ„ البيانات ØªØØ¯ÙŠØ¯Ù‹Ø§ لذلك — لا ØªÙØªØ±Ø¶ أنه يمكن تØÙ‚يقه كلمسة نهاية لاØÙ‚Ø©.
تشغيل النظامين القديم والجديد معًا
نمط التجذّر الخانق هو نهجنا الأكثر توصيةً Ù„ØªØØ¯ÙŠØ« البرمجيات القديمة المعقدة ØªØØ¯ÙŠØ¯Ù‹Ø§ لأنه يتجنب المخاطر الثنائية للاستبدال الكلي الÙوري. لكن تشغيل نظامين ÙÙŠ Ø¢Ù†Ù ÙˆØ§ØØ¯ له ØªØØ¯ÙŠØ§ØªÙ‡ الخاصة.
أعلام الميزات هي أهم أدواتك خلال ÙØªØ±Ø© التشغيل المتوازي. بدلًا من توجيه جميع المستخدمين إلى النظام الجديد Ø¯ÙØ¹Ø©Ù‹ ÙˆØ§ØØ¯Ø©ØŒ ØªØªÙŠØ Ù„Ùƒ أعلام الميزات تعريض النظام الجديد Ù„Ø´Ø±ÙŠØØ© خاضعة للتØÙƒÙ… من Ø§Ù„ØØ±ÙƒØ© — المستخدمون الداخليون أولًا، ثم نسبة صغيرة من المستخدمين الØÙ‚يقيين، ثم تزيد تدريجيًا كلما ازدادت الثقة. إذا ظهرت مشكلة، ØªÙØºÙ„Ù‚ العلم وتعيد توجيه كل شيء إلى النظام القديم. هذه الدقة ÙÙŠ التØÙƒÙ… هي ما يجعل نهج التجذّر الخانق قابلًا للإدارة.
يجب أن يكون ترØÙŠÙ„ Ø§Ù„ØØ±ÙƒØ© تدريجيًا ÙˆÙ…ÙØ±Ø§Ù‚َبًا. الانتقال من 0% إلى 100% من Ø§Ù„ØØ±ÙƒØ© ÙÙŠ خطوة ÙˆØ§ØØ¯Ø© هو بالضبط ما تسعى إلى تجنبه. قد يكون التسلسل المنطقي: Ø§Ù„ÙØ±ÙŠÙ‚ الداخلي Ùقط، ثم 1% من المستخدمين، ثم 5%ØŒ ثم 25%ØŒ ثم 50%ØŒ ثم 100% — مع ÙØªØ±Ø© مراقبة ÙÙŠ كل خطوة. ØØ¯Ù‘د المقاييس التي تراقبها (معدل الخطأ والتأخير والنتائج التجارية مثل المعاملات Ø§Ù„Ù†Ø§Ø¬ØØ©) ÙˆØ§Ù„ØØ¯ÙˆØ¯ التي Ø³ØªÙØ´ØºÙ‘Ù„ التراجع قبل أن تبدأ الترØÙŠÙ„ØŒ لا بعده.
التخطيط للتراجع ليس اختياريًا. يجب أن تمتلك كل خطوة ÙÙŠ ترØÙŠÙ„ Ø§Ù„ØØ±ÙƒØ© خطة تراجع موثقة ÙˆÙ…ÙØ®ØªØ¨Ø±Ø©. "Ù…ÙØ®ØªØ¨Ø±Ø©" تعني أنك أجريت التراجع ÙØ¹Ù„يًا ÙÙŠ بيئة مرØÙ„ية، لا أنك تعتقد نظريًا أنه يجب أن ينجØ. يجب أن تأخذ خطة التراجع ÙÙŠ الاعتبار أيضًا البيانات المكتوبة ÙÙŠ النظام الجديد خلال Ø§Ù„ÙØªØ±Ø© التي كان Ùيها مباشرًا — إذا تراجعت، ماذا ÙŠØØ¯Ø« لتلك البيانات؟
إيقا٠النظام القديم كثيرًا ما ÙŠÙØ¹Ø§Ù…ÙŽÙ„ على أنه الهد٠النهائي لكنه ÙÙŠ الواقع أصعب خطوة تكتمل. دائمًا تقريبًا هناك ذيل طويل من الوظائ٠— ميزات نادرًا ما ØªÙØ³ØªØ®Ø¯Ù… وعمليات مجدولة وتكاملات تقارير وأدوات إدارة — لا ÙŠÙكتش٠إلا بعد اكتمال الترØÙŠÙ„ الرئيسي. خطّط ØµØ±Ø§ØØ©Ù‹ لمرØÙ„Ø© إيقا٠تشغيل بدلًا من Ø§ÙØªØ±Ø§Ø¶ أن النظام القديم سيÙوقَ٠ببساطة ØÙŠÙ† ÙŠØµØ¨Ø Ø§Ù„Ø¬Ø¯ÙŠØ¯ مباشرًا.
كي٠تÙكلÙّ٠مشروع ØªØØ¯ÙŠØ«
تتباين تكالي٠مشاريع Ø§Ù„ØªØØ¯ÙŠØ« تباينًا كبيرًا لأن العوامل التي ØªÙØØ±Ù‘ÙƒÙ‡Ø§ تتباين تباينًا كبيرًا. إعادة هيكلة Ù…ÙØ±ÙƒÙ‘زة Ù„ÙˆØØ¯Ø© Ù…Ùهومة جيدًا ببيانات Ù†Ø¸ÙŠÙØ© وبلا تكاملات تختل٠اختلاÙًا جذريًا عن إعادة منصة مؤسسية كاملة مع خمسين سنة من البيانات المتراكمة وثلاثة وأربعين تكاملًا ومتطلب امتثال يمس كل شاشة.
Ø§Ù„Ù…ØØ¯Ø¯Ø§Øª الرئيسية Ù„Ù„ØªÙƒÙ„ÙØ© هي:
ØØ¬Ù… قاعدة Ø§Ù„Ø´ÙŠÙØ±Ø© وتعقيدها. أسطر Ø§Ù„Ø´ÙŠÙØ±Ø© معيار خام لكنه نقطة بداية. الأهم من Ø§Ù„ØØ¬Ù… المجرد هو ÙƒØ«Ø§ÙØ© التعقيد — مقدار منطق الأعمال غير الموثق وعدد Ø§Ù„ØØ§Ù„ات الخاصة ومدى اقتران المكونات.
تعقيد البيانات. عدد الجداول ÙˆØØ¬Ù… السجلات ومشاكل جودة البيانات والتباعد بين المخطط القديم والجديد كلها عوامل مؤثرة. المشاريع التي تمتلك مجموعات بيانات ضخمة ملوثة ÙÙŠ مخططات معقدة يمكن أن تكون تكالي٠ترØÙŠÙ„ بياناتها مساوية أو متجاوزة Ù„ØªÙƒÙ„ÙØ© إعادة بناء التطبيق.
عدد التكاملات. كل تكامل مع نظام طر٠ثالث أو أداة داخلية أو تغذية بيانات صاعدة هو عمل ÙŠØØªØ§Ø¬ إلى ØªØØ¯ÙŠØ¯ نطاق وبناء واختبار. المشاريع ذات العشرين تكاملًا ليست ضع٠تعقيد مشاريع العشرة — التنسيق وعبء الاختبار يتوسعان أسرع من الخطي.
متطلبات الامتثال. إذا كان النظام الجديد ÙŠØØªØ§Ø¬ إلى Ø§Ø³ØªÙŠÙØ§Ø¡ PCI DSS أو ISO 27001 أو SOC 2ØŒ ÙØ¥Ù† الأعمال الخاصة بالامتثال — تسجيل المراجعات وضوابط الوصول وتهيئة إقامة البيانات واختبار الاختراق والتوثيق — بند مستقل ذو ثقل.
نطاقات Ø§Ù„ØªÙƒÙ„ÙØ© النموذجية التي نراها ÙÙŠ الواقع العملي:
| النطاق | النطاق النموذجي | Ù…Ù„Ø§ØØ¸Ø§Øª |
|---|---|---|
| إعادة هيكلة Ù…ÙØ±ÙƒÙ‘زة (ÙˆØØ¯Ø© أو خدمة ÙˆØ§ØØ¯Ø©) | £15,000 – £50,000 | نطاق Ù…ØØ¯Ø¯ جيدًا، اختبارات موجودة، لا ترØÙŠÙ„ بيانات كبير |
| إعادة منصة لنظام صغير | £40,000 – £100,000 | عدد تكاملات متواضع، بيانات Ù†Ø¸ÙŠÙØ© نسبيًا |
| إعادة بناء تطبيق كامل (ØØ¬Ù… الشركات الصغيرة والمتوسطة) | £80,000 – £250,000 | تكاملات متعددة، ترØÙŠÙ„ بيانات Ù…ÙØ¯Ø±Ø¬ |
| إعادة منصة مؤسسية أو إعادة بناء كاملة | £250,000 – £1,000,000+ | بيانات معقدة، متطلبات امتثال، منظومة تكاملات كبيرة |
ØªÙØªØ±Ø¶ هذه الأرقام ÙØ±ÙŠÙ‚ًا مقره المملكة Ø§Ù„Ù…ØªØØ¯Ø© أو ذا ØªÙƒÙ„ÙØ© Ù…ÙƒØ§ÙØ¦Ø©. يمكن للتسليم الخارجي أن ÙŠÙØ®Ùّض مكوّن العمالة، لكنه يضي٠عبء تنسيق — وللأنظمة التي تمتلك منطقًا قديمًا معقدًا — مخاطر اكتشا٠تÙقلّص جزئيًا الوÙورات المØÙ‚قة.
أخطاء Ø§Ù„ØªØØ¯ÙŠØ« الشائعة التي نرصدها
هذه هي الأنماط التي تØÙˆÙ‘Ù„ مشاريع Ø§Ù„ØªØØ¯ÙŠØ« ذات النوايا Ø§Ù„ØØ³Ù†Ø© إلى Ø¥Ø®ÙØ§Ù‚ات Ù…ÙÙƒÙ„ÙØ©. لا شيء منها غريب — تتكرر بانتظام كاÙ٠لأن نتتبعها بشكل صريØ.
Ù…ØØ§ÙˆÙ„Ø© إنجاز كل شيء Ø¯ÙØ¹Ø©Ù‹ ÙˆØ§ØØ¯Ø©. يؤدي الØÙ…اس عند بدء مشروع Ø§Ù„ØªØØ¯ÙŠØ« ÙÙŠ الغالب إلى تمدد النطاق قبل أن يبدأ المشروع أصلًا. تريد Ø§Ù„ÙØ±Ù‚ ألا تستبدل النظام القديم ÙØØ³Ø¨ بل أن ØªÙØ¶ÙŠÙ أيضًا تراكم الميزات الذي لم يكن النظام القديم يدعمها أبدًا. كل Ø¥Ø¶Ø§ÙØ© للنطاق ØªØ±ÙØ¹ الجدول الزمني والميزانية والمخاطر. يجب أن يكون هد٠مشروع Ø§Ù„ØªØØ¯ÙŠØ« Ù…ÙƒØ§ÙØ¦Ù‹Ø§ ØØ¯ÙŠØ«Ù‹Ø§ ونظيÙًا لما ÙŠÙØ¹Ù„Ù‡ النظام Ø§Ù„ØØ§Ù„ÙŠ — Ø¥Ø¶Ø§ÙØ© الميزات تأتي لاØÙ‚ًا، ØÙŠÙ† يستقر النظام الجديد.
عدم إشراك من ÙŠÙهمون النظام القديم. المطورون الذين بنوا النظام القديم وصانوه ليسوا عقبات أمام Ø§Ù„ØªØØ¯ÙŠØ« — بل هم مصادر Ù…Ø¹Ø±ÙØ© لا وجود لها ÙÙŠ أي مكان آخر. قواعد أعمال Ù†ÙÙÙّذت قبل خمس عشرة سنة لأسباب ما زالت ØµØ§Ù„ØØ©ØŒ ÙˆØØ§Ù„ات ØØ§ÙØ© Ø§ÙƒØªÙØ´Ùت عبر ØÙˆØ§Ø¯Ø« إنتاج مؤلمة، وتكاملات بÙنيت Ù„Ù„ØªØØ§ÙŠÙ„ على قيود أنظمة طر٠ثالث: لا شيء من هذا موثق، ولن ÙŠÙكتش٠بقراءة Ø§Ù„Ø´ÙŠÙØ±Ø© ÙˆØØ¯Ù‡Ø§. هؤلاء الأشخاص يجب أن يكونوا ÙÙŠ Ø§Ù„ØºØ±ÙØ©.
تخطّي مرØÙ„Ø© الاستكشاÙ. Ø§Ù„ØªØØ¯ÙŠØ« الصØÙŠØ للبرمجيات القديمة يبدأ بمراجعة منهجية لما ÙŠÙØ¹Ù„Ù‡ النظام Ø§Ù„ØØ§Ù„ÙŠ ÙØ¹Ù„ًا — لا ما يقوله التوثيق أنه ÙŠÙØ¹Ù„ه، ولا ما يعتقد أي Ø£ØØ¯ أنه ÙŠÙØ¹Ù„Ù‡. تغطي المراجعة بنية قاعدة Ø§Ù„Ø´ÙŠÙØ±Ø© ونموذج البيانات وخريطة التكاملات وجرد قواعد الأعمال وخصائص الأداء. Ø§Ù„ÙØ±Ù‚ التي تتجاوز هذه المرØÙ„Ø© وتنتقل مباشرة إلى البناء تكتش٠باستمرار نطاقًا لم تأخذه ÙÙŠ Ø§Ù„ØØ³Ø¨Ø§Ù†ØŒ عادةً ÙÙŠ أسوأ Ù„ØØ¸Ø© ممكنة.
الاستهانة بترØÙŠÙ„ البيانات. ذكرنا هذا أعلاه، لكنه يستØÙ‚ التكرار كخطأ لأنه ÙŠØØ¯Ø« باستمرار. جملة "Ø³Ù†ÙØ¹Ø§Ù„ج ترØÙŠÙ„ البيانات ÙÙŠ النهاية" أخرجت عن مسارها مشاريع ØªØØ¯ÙŠØ« أكثر من أي شيء آخر تقريبًا. يجب أن ÙŠÙØØ¯ÙŽÙ‘Ø¯ نطاق ترØÙŠÙ„ البيانات ÙˆÙŠÙØ®ØµÙŽÙ‘ص له الموارد ÙˆÙŠÙØ®Ø·ÙŽÙ‘Ø· له من البداية — لا أن ÙŠÙØ¹Ø§Ù…ÙŽÙ„ كمهمة تنظي٠ÙÙŠ نهاية مرØÙ„Ø© البناء.
لا خطة تراجع. إذا انطلق النظام الجديد وكان ثمة خطأ ما — قاعدة أعمال Ù…Ùقودة، أو مشكلة جودة بيانات ظهرت، أو تكامل يتصر٠بشكل مختل٠عما كان متوقعًا — ØªØØªØ§Ø¬ إلى مسار للعودة. Ø§Ù„ÙØ±Ù‚ التي تنطلق دون خطة تراجع Ù…ÙØ®ØªØ¨Ø±Ø© تراهن على الشركة بنتيجة الانطلاق Ù†Ø¸ÙŠÙØ©. نادرًا ما ÙŠØØ¯Ø« ذلك، وبلا خيار للتراجع يجب عليها Ø¥ØµÙ„Ø§Ø Ø§Ù„Ù…Ø´ÙƒÙ„Ø© ØªØØª ظرو٠الإنتاج مع تضرر المستخدمين.
كي٠نتعامل مع ØªØØ¯ÙŠØ« البرمجيات القديمة ÙÙŠ Cyberbeak
نقطة انطلاقنا ÙÙŠ كل تعامل Ù„ØªØØ¯ÙŠØ« البرمجيات القديمة هي مراجعة قاعدة Ø§Ù„Ø´ÙŠÙØ±Ø© والبنية Ø§Ù„ØªØØªÙŠØ©. قبل كتابة سطر ÙˆØ§ØØ¯ من Ø§Ù„Ø´ÙŠÙØ±Ø© الجديدة أو التوصية بنهج بعينه، Ù†ØØªØ§Ø¬ إلى Ùهم ما نعمل به ÙØ¹Ù„ًا. يعني ذلك قراءة Ø§Ù„Ø´ÙŠÙØ±Ø© وتعيين نموذج البيانات وتوثيق كل تكامل وتشغيل النظام ÙÙŠ بيئة خاضعة للتØÙƒÙ… ورصد سلوكه وإجراء مقابلات مع الأشخاص الذين ÙŠÙهمونه.
مخرج المراجعة تقرير ØªØØ¯ÙŠØ« يشمل: بنية النظام Ø§Ù„ØØ§Ù„ÙŠ وتقييمًا صادقًا للدَّين التقني وتØÙ„يل جودة البيانات وخريطة التكاملات وسجل المخاطر وتوصية بنهج Ø§Ù„ØªØØ¯ÙŠØ« — مع مبرر لماذا يناسب هذا النهج الوضع Ø§Ù„Ù…ØØ¯Ø¯.
من هناك نعمل ÙÙŠ **مراØÙ„ Ù…ØØ¯Ø¯Ø©**ØŒ Ù…Ùهيكلة عادةً ØÙˆÙ„:
- المرØÙ„Ø© الأولى — الأسس: بيئة التطوير وتسخير الاختبار وخط CI/CD وبيئة التجهيز. لا شيء يواجه الإنتاج، لكن كل ما ØªØØªØ§Ø¬Ù‡ للعمل بأمان.
- المرØÙ„Ø© الثانية — النطاق الأساسي: منطق الأعمال المركزي ونموذج البيانات وسير عمل المستخدم الرئيسية. هنا تعيش معظم القرارات المعقدة ÙˆØÙŠØ« نتØÙ‚Ù‚ من النهج.
- المرØÙ„Ø© الثالثة — التكاملات وترØÙŠÙ„ البيانات: إعادة بناء منظومة التكاملات وتشغيل ترØÙŠÙ„ البيانات مقابل بيانات الإنتاج ÙÙŠ بيئة التجهيز للتØÙ‚Ù‚ من العملية قبل الانطلاق.
- المرØÙ„Ø© الرابعة — التشغيل المتوازي والتØÙˆÙŠÙ„: ترØÙŠÙ„ Ø§Ù„ØØ±ÙƒØ© الخاضع للتØÙƒÙ… باستخدام أعلام الميزات والمراقبة، مع خطة تراجع Ù…ÙØ®ØªØ¨Ø±Ø© ÙÙŠ كل خطوة.
- المرØÙ„Ø© الخامسة — الاستقرار وإيقا٠التشغيل: ÙØªØ±Ø© مراقبة بعد التØÙˆÙŠÙ„ ومعالجة الذيل الطويل من Ø§Ù„ØØ§Ù„ات Ø§Ù„ØØ§ÙØ© وإيقا٠تشغيل النظام القديم بشكل منهجي ØÙŠÙ† تتØÙ‚Ù‚ الثقة.
لا Ù†Ùقدّم تقديرات بسعر ثابت قبل اكتمال مرØÙ„Ø© الاستكشاÙ. أي شركة تمنØÙƒ عرضًا بسعر ثابت لمشروع ØªØØ¯ÙŠØ« برمجيات قديمة دون مراجعة النظام أولًا إنما تخمّن — وهذه التخمينات تقع دائمًا تقريبًا على الجانب Ø§Ù„Ù…ØªÙØ§Ø¦Ù„.
الأسئلة الشائعة
كي٠نعر٠أن الوقت قد ØØ§Ù† Ù„Ù„ØªØØ¯ÙŠØ«ØŸ
إذا كانت اثنتان أو أكثر مما يلي صØÙŠØØªÙŠÙ†ØŒ ÙØ¥Ù† الØÙˆØ§Ø± يستØÙ‚ الانعقاد: تÙÙ†ÙÙ‚ أكثر من 40% من ميزانية التطوير على الصيانة بدلًا من الميزات الجديدة؛ أو عانيت من ØØ§Ø¯Ø«Ø© أمنية أو Ø¥Ø®ÙØ§Ù‚ ÙÙŠ الامتثال ÙŠÙØ¹Ø²Ù‰ مباشرةً إلى النظام القديم؛ أو تراجع معدل سرعة تطويرك بشكل ملموس خلال الـ 12–24 شهرًا الماضية؛ أو تعذّر عليك توظي٠مطورين لتقنية النظام؛ أو شخص أساسي ÙŠÙهم النظام Ù…ÙØ¹Ø±ÙŽÙ‘ض لمغادرة Ø§Ù„ÙØ±ÙŠÙ‚.
هل يمكننا Ø§Ù„ØªØØ¯ÙŠØ« دون إيقا٠تطوير الميزات؟
ÙÙŠ معظم Ø§Ù„ØØ§Ù„ات، نعم — لكنه يستلزم انضباطًا. نهج التجذّر الخانق مصمم ØªØØ¯ÙŠØ¯Ù‹Ø§ Ù„Ù„Ø³Ù…Ø§Ø Ø¨Ø§Ø³ØªÙ…Ø±Ø§Ø± تطوير الميزات على النظام القديم بينما ÙŠÙØ¨Ù†Ù‰ النظام الجديد بجانبه. القيد الرئيسي أن الميزات الجديدة المبنية على النظام القديم خلال ÙØªØ±Ø© Ø§Ù„ØªØØ¯ÙŠØ« قد ØªØØªØ§Ø¬ إلى إعادة بنائها ÙÙŠ النظام الجديد، لذا ينبغي تقليل الاستثمار التقديري ÙÙŠ النظام القديم خلال الانتقال. الميزات المطلوبة لأسباب امتثال أو تجارية هي الاستثناء.
كم يستغرق ØªØØ¯ÙŠØ« البرمجيات القديمة ÙÙŠ العادة؟
يمكن أن تستغرق إعادة هيكلة Ù…ÙØ±ÙƒÙ‘زة Ù„ÙˆØØ¯Ø© ÙˆØ§ØØ¯Ø© من أربعة إلى ثمانية أسابيع. إعادة بناء تطبيق كامل لنظام Ø¨ØØ¬Ù… الشركات الصغيرة والمتوسطة يستغرق عادةً من تسعة إلى ثمانية عشر شهرًا من المراجعة إلى إيقا٠التشغيل. مشاريع إعادة المنصة على نطاق مؤسسي كثيرًا ما تمتد لعامين أو ثلاثة. المتغير الأهم هو النطاق — وهو ما ØªÙØ¹Ù†Ù‰ مرØÙ„Ø© Ø§Ù„Ø§Ø³ØªÙƒØ´Ø§Ù Ø¨ØªØØ¯ÙŠØ¯Ù‡ بدقة.
ماذا لو كان الأشخاص الذين ÙŠÙهمون النظام على وشك المغادرة؟
هذه من أقوى Ø§Ù„ØØ¬Ø¬ للبدء الÙوري Ø¨Ø§Ù„ØªØØ¯ÙŠØ« بدلًا من الانتظار. التقاط Ø§Ù„Ù…Ø¹Ø±ÙØ© — مقابلات منهجية وجلسات توثيق وعروض توضيØÙŠØ© Ù„Ù„Ø´ÙŠÙØ±Ø© — يجب أن يبدأ قبل مغادرة هؤلاء الأشخاص، بصر٠النظر عن موعد انطلاق مشروع Ø§Ù„ØªØØ¯ÙŠØ« رسميًا. إذا كان ØØ§Ù…لو Ø§Ù„Ù…Ø¹Ø±ÙØ© الأساسية على وشك المغادرة ÙÙŠ المدى القريب، ÙØ£Ø¯Ø±Ø¬ مرØÙ„Ø© نقل Ø§Ù„Ù…Ø¹Ø±ÙØ© ÙÙŠ مطلع المشروع وتعامل معها كبند مخاطر ÙÙŠ الخطة.
هل يستØÙ‚ Ø§Ù„ØªÙƒÙ„ÙØ©ØŸ
بالنسبة للشركات التي ÙŠÙقيّد Ùيها النظام القديم النمو ØÙ‚ًّا، أو ÙŠÙنشئ مخاطر أمنية أو امتثالية، أو يستهلك ميزانية صيانة غير متناسبة، ÙØ§Ù„إجابة دائمًا تقريبًا نعم — شريطة أن ÙŠÙقترب من Ø§Ù„ØªØØ¯ÙŠØ« بالأسلوب الصØÙŠØ. يتأتى العائد من Ø§Ù†Ø®ÙØ§Ø¶ ØªÙƒÙ„ÙØ© الصيانة وسرعة إنجاز الميزات ÙˆØ§Ù†Ø®ÙØ§Ø¶ التعرض للمخاطر والقدرة على توظي٠مواهب التطوير Ø§Ù„ØØ¯ÙŠØ«Ø© ÙˆØ§Ù„Ø§ØØªÙاظ بها. الشركات التي نراها تندم على Ø§Ù„ØªØØ¯ÙŠØ« هي دائمًا تقريبًا تلك التي ØØ¯Ù‘دت نطاقه بأقل مما يجب، أو تجاوزت مرØÙ„Ø© Ø§Ù„Ø§Ø³ØªÙƒØ´Ø§ÙØŒ أو ØØ§ÙˆÙ„ت اختصار ترØÙŠÙ„ البيانات. الشركات التي ØªÙØ¹Ù„Ù‡ بشكل صØÙŠØ نادرًا ما تنظر إلى الوراء.
إذا كنت تواجه قرارًا بشأن نظام قديم وتريد تقييمًا صادقًا لخياراتك، يسعدنا Ø§Ù„ØªØØ¯Ø«. مراجعات ØªØØ¯ÙŠØ« البرمجيات القديمة لدينا Ù…ÙØØ¯ÙŽÙ‘Ø¯Ø© نطاقها كتعاملات مستقلة — ØªØØµÙ„ على صورة ÙˆØ§Ø¶ØØ© لما تواجهه ومسار موصى به للمضي قدمًا قبل أن تلتزم بأي شيء أكبر. تواصل معنا ÙˆØ³Ù†ÙØ±ØªÙ‘ب ØÙˆØ§Ø±Ù‹Ø§ أوليًّا.
تحدث مع فريقنا حول مشروعك
نعمل مع الشركات في المملكة المتحدة والولايات المتحدة والإمارات والمملكة العربية السعودية وكندا وأستراليا وألمانيا لبناء برامج مخصصة ومنصات SaaS وأنظمة السوق.