المواد الكيميائية الهندسة
تردد ضد إعادة الكتابة: صنع الخيار الصحيح للنظم الهندسية
Table of Contents
فعندما تحافظ المنظمات على النظم الهندسية وتحسينها، كثيرا ما تواجه قرارا بالغ الأهمية: هل ينبغي لها أن تصلح المكونات القائمة أو تعيد صياغتها بالكامل؟ إن فهم الاختلافات والمزايا والعيوب في كل نهج أمر أساسي لاتخاذ خيارات مستنيرة تتماشى مع أهداف المشروع ومع القيود المفروضة على الموارد، وهذه المادة توفر إطارا شاملا لتقييم المبادلات، باستخدام أمثلة للعالم الحقيقي، وبصرات الخبراء لتوجيه قراركم.
فهم المثبط
إن إعادة التصنيع تنطوي على إدخال تحسينات تدريجية على النظم القائمة دون تغيير وظائفها الأساسية، وهي تهدف إلى تحسين نوعية المدونة، وإمكانية القراءة، والاستمرارية، مع الحفاظ على سلوك النظام، وكثيرا ما يستخدم هذا النهج لخفض الديون التقنية وإعداد النظم للتنمية في المستقبل، ولا يتعلق التكرير بإضافة سمات، بل يتعلق بتحسين الهيكل الداخلي للمدونة بحيث تصبح التغيرات المقبلة أسهل وأكثر أمانا وأسرع.
التحسينات الإضافية والرموز
إن إعادة التصنيع تستهدف عادة مؤشرات سطحية لـ "شم رائحة الشموع" تتطابق عادة مع المشاكل الأعمق في النظام، ومن الأمثلة على ذلك المدونة المزدوجة، والأساليب الطويلة، والفصول الكبيرة، والتصادم المفرط، ويمكن للأفرقة، من خلال القضاء المنهجي على هذه الرائحة، أن تجعل القاعدة الرمزية أكثر عدلا وقابلية للاختبار، والأدوات مثل التحليلات الثابتة، والعديد من سمات السحب (مثل، الارتداد، والاختراق).
متى يُثبّتُ
إن إعادة التصنيع هي الأكثر فعالية عندما يكون النظام الحالي سليماً هيكلياً، ولكنه تراكم لدين تقني معتدل، ومن المناسب أيضاً أن يكون منطق الأعمال معقداً ومفهوماً جيداً، حيث أن إعادة كتابة المخاطر تفقد المعرفة في المجال الضيق، فلأفرقة التي تمارس اختبارات إعادة التصنيع المستمر كجزء من دورة تنميتها (مثلاً، قاعدة الكشافة) ترى أن البرمجيات لا تزال بحاجة إلى الصحة والتصويب.
فهم إعادة الكتابة
ومن ناحية أخرى، فإن إعادة الكتابة تتضمن وضع نظام جديد من الصفر أو إصلاح النظام القائم بشكل كبير، وهذا الأسلوب يُختار عادة عندما يكون النظام الحالي مفرط التعقيد أو لم يعد يلبي احتياجات الأعمال التجارية، ويمكن إعادة الكتابة أن توفر بداية جديدة، مما يتيح تنفيذ الهيكل والتكنولوجيات الحديثة، غير أنه يعني أيضا التخلص من سنوات من العصي، والتفسير الأمثل، والمعرفة المؤسسية المدفونة في المدونة القديمة.
Greenfield vs. Brownfield Rewrites
ويبدأ إعادة كتابة الحقول الخضراء بقائمة فارغة، وبناء النظام في بيئة جديدة تماما، وكثيرا ما يحدث ذلك عندما يكون المنبر الأصلي قد فات أوانه (مثلا، الهجرة من كوبول إلى جافا) أو عندما يجب إعادة تشكيل النظام تماما من أجل القابلية للتصعيد، ويعيد تصميم حقل بني بشكل تدريجي استبدال أجزاء من النظام القائم مع إبقاء الآخرين يركضون على مراحل ويطلق عليهم نمط الهجرة المختلط).
متى يعاد كتابة
ويبرر إعادة كتابة النظام الحالي عندما يصل إلى نقطة حيث يكلف إعادة التصنيع أكثر من إعادة البناء، وتشمل المؤشرات: أن القاعدة الرمزية غير قابلة للاختبار، وأن الهيكل يمنع التغييرات الضرورية (مثلاً، لا يمكن توسيع نطاقها الأفقي)، أو أن الحزمة التكنولوجية لم تعد مدعومة، وأن هناك سيناريو آخر عندما يتحول نموذج الأعمال التجارية إلى درجة كبيرة بحيث لا يمكن تكييف النظام القديم دون إعادة بناء القدرة التنافسية الكاملة.
مقارنة المخاطر والتكاليف
ويحمل كلا النهجين ملامح واضحة للمخاطر وهياكل التكاليف، ويساعد فهم هذه الأفرقة على التوفيق بين اختيارها وبين التسامح في المخاطر التنظيمية ودورات الميزانية.
عوامل الخطر
الخطر الأكبر هو أن إعادة التصنيع لا تنتهي أبداً، بل تصبح دورة لا نهاية لها من التحسينات الصغيرة بينما تستمر المشاكل الأساسية للنظام، وهناك خطر آخر هو: "التهاب عامل الصنع،" حيث يفقد الفريق الدافع لأن التقدم بطيء وغير مرئي لأصحاب المصلحة الصغار، ولكن إعادة التصنيع عادة ما تكون أقل مخاطرة من كل تغيير.
Rewriting risks: ] The mostknown warning comes from Joel Spolsky's article ] Things You should never do, Part I] , where he argues that rewriting often leads to shipping a fugy, feature-poor replacement years late. (Rewriting introduce risk
تحليل التكاليف
وقد تبين من دراسة أجراها المعهد الهندسي للبرمجيات أن تحديد عيب بعد الإفراج يزيد عن تحديده أثناء التصميم ولكن إعادة التصنيع تصيب عيوب كثيرة في وقت مبكر بتحسين وضوح الشفرة، ويستلزم إعادة كتابة نظام كبير للتجهيزات، إذ تحتاج إلى إعادة تحليل وإعادة تصميم وإعادة كتابة وإعادة تصميم وإعادة صياغة وإعادة تحديد كل شيء.
إطار القرار للقادة الهندسيين
والاختيار بين إعادة التصنيع وإعادة الكتابة يتوقف على عوامل مختلفة مثل تعقيد النظام، وأولويات الأعمال، والموارد المتاحة، والأهداف الطويلة الأجل، ويمكن أن يساعد إطار القرار التالي على تقييم حالتك المحددة.
تقييم الصحة
(ج) إجراء تحليل منهجي لقاعدة البيانات باستخدام مقاييس مثل التعقيدات الدورية، والتغطية الشفرة، والقوارب، وكثافة العيوب، ويمكن أن توفر أدوات مثل سوناركوب أو مدوّنة الكوميديا بيانات موضوعية، وإذا كان النظام يسجل بشكل غير سليم مدى القابلية للاستمرار، ولكن منطق الأعمال مستقر، فإن إعادة التصنيع قد تكون كافية، وإذا كان الهيكل معطلاً بشكل أساسي (مثلاً، لا يمكن تغيير السماوات الأحادية.
مواءمة الأهداف التجارية
(ب) رسم خريطة للقرارات التقنية المتعلقة بنتائج الأعمال التجارية - إذا كان الهدف هو التعجيل بإنجاز السمات في الربع المقبل، فإن إعادة التصنيع عادة ما تكون أكثر أماناً، وإذا كان الهدف هو الدخول إلى سوق جديدة تتطلب أداء مختلفاً اختلافاً جذرياً أو تضاؤلاً، يمكن تبرير إعادة كتابة المنتجين وأصحاب المصلحة لتوضيح " السبب " ، مثلاً، قد يختار البدء في إعادة كتابة إلى الشرك بسرعة، بينما قد تفضل مؤسسة ذات نظم إعادة التصنيع الحرجة.
القدرة على العمل والمعرفة المؤسسية
إن رفض التصليح يعتمد بشدة على فهم النظام القائم، فإذا كان المؤلفون الأصليون لا يزالون في الفريق، فإن إعادة التصنيع أكثر كفاءة، وإذا كانت قاعدة الشفرة صندوقا أسودا لا يحمل سوى القليل من الوثائق، فإن إعادة كتابة قد تبدو مغرية، ولكنها تنطوي على خطر تكرار أخطاء الماضي، وفي هذه الحالة، النظر في " إعادة كتابة مع الحفاظ " : بناء النظام الجديد في موازية، ولكن استخلاص قواعد الأعمال من القانون القديم من خلال القراءة الدقيقة.
أمثلة عالمية حقيقية
ويمكن أن توفر نظرة عملية عن كيفية قيام منظمات أخرى بحركة هذا الاختيار.
مُستوصف "بلاك كامب" لتثبيت "هيو"
عندما طوروا خدمة البريد الإلكتروني (هي) اختار فريق (بستكامب) إعادة تصنيع قاعدة السكك الحديدية الحالية بدلاً من إعادة كتابة من الصفر، قاموا بشكل منهجي بإخراج منطق النطاق إلى أجسام الخدمة، وتحسين التغطية الاختبارية، وإلغاء الشفرة الميتة، مما سمح لهم بشحن المنتج في الوقت الذي يحافظ فيه على قاعدة البرمجيات. وثق الفريق نهجهم ، وكان يسلط الضوء على التحسن في هذا.
مستنسخ: إعادة كتابة الـ(فريبوك)
شركة برمجيات محاسبية، أعادت كتابة برنامجها بالكامل من تطبيقات ذات طابع احتكاري في نظام حديث قابل للتكرار، القرار جاء بعد سنوات من المكافحة مع قيود الأداء و القيود المعمارية التي لا يمكن إصلاحها، وقد استغرق إعادة الكتابة أكثر من سنتين وكلف عشرات الملايين من الدولارات،
مثال: جماعة مارتن فاولر للتثبيت
مارتن فاولر، مؤلف الكتاب الأساسي Refactoring: Improve the Design of Existing Code ]، دعا منذ وقت طويل إلى إعادة تصنيع على إعادة كتابة، ويقول إن معظم النظم يمكن أن تتحسن تدريجيا إذا ما استثمرت الفرق في الاختبار الآلي والتكامل المستمر.
الاستنتاج: جعل الخيار الصحيح
إن إعادة التصنيع وإعادة كتابة كل منهما لها مكانها في إدارة النظام الهندسي، ومن شأن تقييم دقيق للحالة المحددة أن يرشد المنظمات إلى أكثر الاستراتيجيات فعالية، وموازنة المخاطر، والتكاليف، والاستعداد في المستقبل، وكثيرا ما ينطوي المسار الصحيح على مزيج: إعادة تصنيع الأجزاء التي يمكن إنقاذها، وإعادة كتابة المكونات التي لا يمكن إصلاحها، واستخدام الإطار المبين هنا لتقييم تأثيرات الصحة المستنيرة، والتكيف مع أهداف الاختراق غير المستقرة.