
الدين الفني(Technical Debt)
مصطلح الدين الفني كما صاغه Ward Cunningham يشير إلى الالتزام الذي تتحمله منظمة تطويرالبرمجيات أو شركة التطوير عندما تختار نهج تصميم أو طريقة تطوير تحقق هدفها علىالمدى القصير، لكنها تزيد من التعقيد وتصبح أكثر تكلفة على المدى الطويل.
غالبًا ما يُستخدم هذا النهج لتحقيق مواعيدتسليم أسرع لمشاريع البرمجيات بتكلفة أقل، لكن مثل الدين المالي، يمكن أن يكونللدين الفني قيمة تجارية في بعض الحالات، وفي الوقت نفسه قد يكون مضادًا للإنتاجيةإذا لم يتم إدارته بشكل جيد.
أنواع الدين الفني الأساسية
1. الدين الفني غير المقصود
يحدث هذا النوع كنتيجة غير استراتيجيةلأداء تجاري ضعيف أو قرارات سيئة.
مثال: يقوم مطور بتسليم برنامج يعمل في البداية، لكن لاحقًا يتضح أن نهجالتصميم المستخدم عرضة للأخطاء، أو قام أحد أعضاء الفريق المبتدئين بكتابة برنامجضعيف.
في مثال آخر، يمكن أن ينشأ هذا الدين دونعلمك. على سبيل المثال، الشركة التي تتعاون معها قد تمتلك دينًا تكنولوجيًا كبيرًايُكتشف فقط بعد الاستحواذ على المنتج البرمجي.
يمكن أن يُنشأ الدين أيضًا عندما يحاول فريقإعادة كتابة منصة مثقلة بالدين الفني ويتسبب عن غير قصد في تكوين دين إضافي.
2. الدين الفني المقصود
يحدث هذا عادة عندما تتخذ الشركة قرارًاواعيًا لتحسين الحاضر على حساب المستقبل.
عبارات شائعة مثل:
“إذا لم نكمل هذا الإصدار في الوقت المحدد، فلن يكون هناك إصدار لاحق”
تقود إلى قرارات مثل:
كيفية التعامل مع الدين الفني
1. تجنب تراكم الديون الصغيرة
ينشأ هذا النوع من تراكم مئات أو آلافالقرارات الصغيرة – أسماء متغيرات عامة، تعليقات متناثرة، إنشاء فصل برمجي واحدبدلًا من فصلين، عدم اتباع اتفاقيات الكود، إلخ.
يشبه هذا النوع دين بطاقة الائتمان:سهل التراكم دون قصد، يتزايد أسرع مما تتوقع،ويصعب تتبعه وإدارته بعد تراكمه.
كرائد أعمال، يجب أخذ الدين الفني فيالاعتبار عند اختيار الفريق الذي سيطور مشروعك.
قد تبدو بعض عروض المبرمجين المبتدئين أقلتكلفة، لكن اختيار فريق محترف منذ البداية يمكن أن يوفر عليك دينًا كبيرًامستقبلاً.
2. إدارة وتتبع الديون داخل البرنامج
إحدى النتائج المهمة للدين الفني هي أنهيجب خدمته، أي أنه بمجرد تكوّنه، سيكون هناك “فائدة” يجب دفعها.
إذا نما الدين بشكل كبير، قد تنفق الشركةفي النهاية أكثر على صيانة هذا الدين من الاستثمار في زيادة قيمة أصولها الأخرى.مثال شائع: قاعدة كود قديمة تتطلب جهدًا كبيرًا للحفاظ على تشغيل النظام الإنتاجي(“خدمة الدين”)، مما يترك وقتًا قليلًا لإضافة قدرات جديدة.
يمكنك الاحتفاظ بقائمة الديون داخل نظامتتبع العيوب (Defect TrackingSystem).
في النهاية، الدين الفني مشابه للدينالمالي. لدى الشركات فلسفات مختلفة حول فائدة الدين: