الرئيسيةعريقبحث

دين تقني (برمجيات)


الدين التقني هو مصطلح يستخدم في مشاريع تطوير البرمجيات لوصف الأعمال الإضافية الناجمة عن 1) تأجيل مهام صيانة البرامج (على سبيل المثال: تأجيل إصلاح الأعطال bugs، تأجيل المهام المتعلقه باختبار البرنامج، تأجيل مهمة تحديث الوثائق، تأجيل مهمة إعادة هيكلة البرنامج، الخ). أو 2) استخدام تصاميم أو تعليمات برمجية الغير مطابقة لمعايير وممارسات الجودة. هذه المهام المؤجلة أو الغير مطابقة لمعايير الجودة تمثل ديناُ تقنياُ على البرنامج.

فكرة الديون التقنية مشتقه من مفهوم الديون المالية [1] [2]، حيث أن المقترض يستفيد من الدين في تحقيق بعض الأهداف قصيرة الأجل مثل الإستثمار أو شراء سلعة. ولكن هذا الدين يجلب تكاليف إضافية عن طريق سعر الفائدة. نفس الفكرة بالنسبة للديون التقنية، حيث يمكن للمطورين تحميل بعض الديون التقنية لتحقيق أهداف قصيرة الأجل مثل إصدار نسخة من البرنامج بأقل وقت وجهد ممكن. ولكن إبقاء الديون التقنية لفترة طويلة يتسبب في تعقيد البرنامج وبالتالي زيادة في تكلفة صيانة البرنامج على المدى البعيد. حيث أن أي برنامج أو تطبيق يتغير وينمو بشكل متسارع. وبالتالي المواصلة في تأجيل مهام الصيانة سيزيد من تكلفتها مستقبلاٌ [3]، لإن البرنامج أصبح أكبر من حيث الحجم وعدد المميزات.

مجموعة من الباحثين والمطورين وضعو تعريف محدد للديون التقنية وهو "مجموعة من التصاميم و التعليمات البرمجية المناسبة في الوقت الحالي، ولكن تجعل التغييرات المستقبلية للبرنامج أكثر صعوبه.الديون التقنية تمثل مسؤولية والذي تأثيرها يقتصر على الجودة الداخلية للبرنامج وبالتحديد سهوله الصيانة والتطوير"[4].


مراجع

  1. Ward Cunningham (1992). "The WyCash Portfolio Management System".in Addendum to the proceedings on object-oriented programming systems, languages, and applications, 1992, pp. 29-30. نسخة محفوظة 22 ديسمبر 2019 على موقع واي باك مشين.
  2. Allman, Eric (2012). "Managing Technical Debt". Communications of the ACM. 55 (5): 50–55. نسخة محفوظة 20 أكتوبر 2017 على موقع واي باك مشين.
  3. Lehman, M (1996). "Laws of Software Evolution Revisited". EWSPT '96 Proceedings of the 5th European Workshop on Software Process Technology: 108–124. Retrieved 19 November2014. نسخة محفوظة 27 يونيو 2017 على موقع واي باك مشين.
  4. P. Avgeriou, P. Kruchten, I. Ozkaya, and C. Seaman, “Managing Technical Debt in Software Engineering (Dagstuhl Seminar 16162),” Dagstuhl Reports, vol. 6, no. 4, pp. 110--138, 2016. نسخة محفوظة 24 يونيو 2019 على موقع واي باك مشين.

موسوعات ذات صلة :