إن النظام الذي تعتمد عليه عمليات الشركة - النظام الذي يدير الطلبات والسياسات والملفات والشحنات - لا يُبنى بتجميع أجزاء مُولّدة بشكل عشوائي. بل يحتاج إلى نموذج بيانات مُحدد، وعقود بين الوحدات، ونموذج للأذونات والتتبع، وهذه الأمور الأربعة هي قرارات يتخذها شخص ما، وليست نتائج يتم الحصول عليها.
ينشأ الالتباس لأن التوليد المدعوم يعمل بشكل جيد للغاية في الأطراف، وهذا يخلق توقعًا بأنه سيعمل بنفس الطريقة في المركز.
معيار | النظام الأساسي | الجهاز المحيطي |
|---|---|---|
إذا توقف عن العمل | الشركة لـ | شخص ما مستاء |
العمر الافتراضي المتوقع | من 5 إلى 15 سنة | أشهر أو بضع سنوات |
عدد عمليات التكامل | كثير وهام | قليل أو معدوم |
تكلفة الخطأ | المال، أو العميل، أو إتمام الطلب | وقت ضائع |
من ينبغي أن يكون قادراً على دعم ذلك؟ | أي فريق كفء | من فعلها؟ |
يكفي السطر الأول لتصنيف حالات 90%. إذا كانت الإجابة على سؤال "ماذا يحدث إذا توقف هذا عن العمل ليوم واحد؟" هي توقف الفوترة أو الإنتاج أو خدمة العملاء، فإنه يُعتبر أساسيًا، ويستحق أن يُعامل على هذا الأساس بغض النظر عن حجمه.
من الأخطاء الشائعة افتراض أن النظام الأساسي هو الأهم. فهناك أنظمة صغيرة تعتمد عليها العملية بأكملها، وأنظمة ضخمة لا يمكن لأحد أن يفتقدها لمدة أسبوع.
نموذج البيانات. كيفية تمثيل الكيانات التجارية: ما هو العميل، والملف، والشحنة؛ ما هي العلاقات التي تربطها؛ وما هي المراحل التي تمر بها. هذا هو القرار الأكثر تكلفةً للتراجع عنه، لأن كل شيء آخر مبني عليه.
حدود الملكية. أي وحدة لها الأولوية على أي معلومات وأي استعلام؟ بدون هذا القرار، ستظهر ثلاثة أنظمة تكتب نفس البيانات، ولا توجد طريقة لمعرفة أيها صحيح.
نموذج الصلاحيات. يتم تحديد من يرى ماذا ومن يستطيع فعل ماذا، وذلك على مستوى النظام وليس كشروط متكررة في جميع أنحاء التطبيق. هذا ما يحدد إمكانية إضافة معالج أو بوابة عملاء أو واجهة برمجة تطبيقات غدًا دون التسبب في ثغرة أمنية.
إمكانية التتبع. ما الذي يتم تسجيله لكل تغيير ومدة استمراره؟ إنه تغيير لا رجعة فيه: ما لم يتم حفظه لا وجود له.
لا يمكن تفويض أي من هذه العناصر الأربعة إلى أداة توليد، لأنها جميعًا تعتمد على معرفة العمل وتوقع كيفية تغيره.
سيكون من غير المعقول التخلي عن السرعة المتاحة. ضمن نواة ذات بنية جيدة، يؤدي التوليد المدعوم أداءً جيدًا في:
القاعدة بسيطة: يتم تفويض عملية البناء، وليس الهيكل.. ولا تزال المراجعة إلزامية، للسبب الذي أوضحناه في الشفرة التي لا يفهمها أحد هي الديون.
هناك معيار تشغيلي لتحديد ما إذا كان النظام الأساسي مبنيًا بشكل جيد، ولا يتطلب ذلك تدقيقًا: هل يمكن لفريق آخر أن يتولى إدارة هذا النظام في غضون شهر، دون التحدث إلى الشخص الذي قام ببنائه؟
لكي تكون الإجابة نعم، هناك حاجة إلى أربعة أشياء: وثائق معمارية، وعقود تكامل ذات إصدارات، واختبارات تعبر عما تتوقعه الشركة، وقرارات موضحة كتابيًا.
يشكل أي نظام يفشل في هذا الاختبار خطراً تشغيلياً حقيقياً، بغض النظر عن جودته التقنية: فاستمرارية الشركة تعتمد على توافر كوادر محددة. كما أن له تأثيراً مالياً، لأن هذا تحديداً ما يُعاقب عليه في عملية التدقيق التقني.
لأن حاجز الدخول لإنتاج شيء يعمل قد انخفض بشكل كبير، ومعه انخفض حاجز إنتاج شيء يعمل ولكنه لا يمكن استدامته.
تكشف بيانات GitClear التي تغطي 211 مليون سطر برمجي عن نمط واضح: انخفضت أعمال إعادة هيكلة الكود من حوالي 251 تريليون عملية تغيير إجمالية في عام 2021 إلى أقل من 101 تريليون عملية تغيير إجمالية في عام 2024، بينما زادت عمليات النسخ ثمانية أضعاف. يتم بناء المزيد من الكود، بينما يتم تنظيمه بشكل أقل، وهذا أمر يمكن إدارته في الأنظمة الطرفية، أما في الأنظمة الأساسية، فيُعدّ عبئًا.
عندما يتعلق الأمر بتحديد كيفية بناء نظام بالغ الأهمية، فإن الحوار المفيد لا يدور حول المنهجية أو الأدوات، بل حول ثلاثة التزامات:
مع هذه التنازلات الثلاثة، تُصبح سرعة الإنتاج ميزة. وبدونها، تُعدّ هذه أسرع طريقة معروفة لبناء شيء لا يمكن لأحد تغييره.
إنه النظام الذي تعتمد عليه العملية: فإذا توقف عن العمل ولو ليوم واحد، تتوقف عمليات الفوترة والإنتاج وخدمة العملاء. ولا يُحدد حجمه - فهناك أنظمة أساسية صغيرة وأخرى كبيرة - بل يُحدد بعواقب تعطلّه.
رابعًا: نموذج البيانات الذي يُمثل الكيانات التجارية، وحدود الملكية التي تُحدد أي وحدة تتحكم في أي معلومات، ونموذج الصلاحيات المُطبق كطبقة نظام، وإمكانية تتبع التغييرات. لا يُمكن تفويض أي من هذه العناصر إلى أداة إنشاء.
نعم، ضمن هيكل مُحدد مسبقًا: تطبيق قواعد مُحددة مسبقًا، وطبقة عرض، وتحويلات بمعايير قبول واضحة، وتوثيق للحالات الموصوفة سابقًا. القاعدة هي تفويض عملية البناء، وليس الهيكل.
يتضمن اختبار التسليم تقييم ما إذا كان بإمكان فريق آخر تولي المهمة في غضون شهر دون استشارة الفريق الأصلي. ويتطلب ذلك توثيقًا معماريًا، واتفاقيات تكامل مُرقمة، واختبارات توضح توقعات العمل، وقرارات مُفسرة بوضوح.
مخاطرة تشغيلية - حيث تعتمد الاستمرارية على أشخاص محددين - ومخاطرة مالية، لأن هذا هو بالضبط ما يتم معاقبته في الفحص التكنولوجي النافي للجهالة عند تقييم الشركة أو السعي للحصول على استثمار.
لأن عائق إنتاج كود برمجي فعال قد انخفض بشكل ملحوظ. وثّقت GitClear انخفاض إعادة هيكلة الكود من حوالي 25% من إجمالي التغييرات في عام 2021 إلى أقل من 10% في عام 2024، وزيادة التكرار ثمانية أضعاف: حيث يتم بناء المزيد وهيكلة أقل، وهو ما يُصبح عبئًا في الأنظمة الحيوية.
هل ستبني نظامًا ستعتمد عليه عملياتك؟ نقوم بتحديد بنية النظام ونموذج البيانات والعقود قبل كتابة التعليمات البرمجية، وننقل التعليمات البرمجية والوثائق إليك بموجب عقد. لنتحدث → |