تحديث الأنظمة القديمة
النظام القديم قبيح، وهو أيضاً صحيح. عشرون عاماً من الحالات الاستثنائية مرمّزة فيه، ومعظمها غير مكتوب في أي مكان آخر.
الغريزة تدفع إلى إعادة الكتابة، وهي خاطئة عادةً. إعادة الكتابة تعني إعادة إنتاج سلوك لم يوثّقه أحد، لنظام يجب أن يستمر في العمل طوال الوقت، بينما يواصل القديم التغيّر لأن العمل لم يتوقف. والفرق التي تحاول ذلك تقضي ثمانية عشر شهراً في البناء نحو تاريخ تحويل يستمر في التحرك، ويُلغى المشروع لا لأن النظام الجديد كان سيئاً بل لأنه لم يبلغ التكافؤ مع هدف متحرك.
البديل هو خنقه تدريجياً. تُبنى الوظائف الجديدة إلى جانب النظام القديم خلف واجهة توجّه كل طلب إلى الجانب الذي يملكه، وتنتقل قدرة واحدة في كل مرة. كل خطوة ذات قيمة مستقلة وقابلة للتراجع باستقلال، ويستمر العمل طوال الوقت، وإن تغيرت الأولويات في منتصف الطريق تبقى لديك نظام مُحدَّث جزئياً بدل ثمانية عشر شهراً من لا شيء. إنه أبطأ على الورق، وهو النسخة التي تكتمل.
البيانات هي الجزء الذي يُستهان به دائماً. عقدان من السجلات يحويان قيماً لم تعد تعني ما يقوله اسم العمود، وتواريخ مخزّنة كنصوص بثلاث صيغ، وصفوفاً لا معنى لها إلا إن عرفت بتغيير سياسة في 2011. وترحيل ذلك ليس نصاً برمجياً، بل تمرين تنقيب يتبعه تسوية يجب أن تتوازن حتى آخر فلس، وينبغي أن يبدأ قبل أن يخطط أحد لتاريخ تحويل بوقت طويل.
كيف نعمل
- استبدال تدريجي خلف واجهة، فتكون كل خطوة ذات قيمة بذاتها وقابلة للتراجع بذاتها.
- يُوصَّف سلوك النظام القديم باختبارات قبل استبدال أي جزء منه، لأن ذلك السلوك هو المواصفات.
- يبدأ ترحيل البيانات مبكراً ويتطابق حتى آخر فلس، لأنه دائماً أكبر من التقدير.
ما يشمله هذا
اختر ما تحتاجه وأرسله إلينا.