หัวข้อ 67/91· การพัฒนาซอฟต์แวร์และการให้บริการดิจิทัล

หนี้ทางเทคนิค

หนี้ทางเทคนิควัดต้นทุนของงานเพิ่มเติมในอนาคตที่เกิดจากการเลือกวิธีแก้ปัญหาที่เร็วกว่าแต่หยาบกว่าในปัจจุบัน แทนที่จะใช้แนวทางที่ดีกว่า

ทำไมจึงสำคัญ

เช่นเดียวกับหนี้ทางการเงิน หนี้ทางเทคนิคมี "ดอกเบี้ย" ในรูปแบบของการพัฒนาในอนาคตที่ช้าลง จนกว่าจะได้รับการชำระคืน (ปรับโครงสร้างใหม่) หรือกลายเป็นสิ่งที่จัดการได้ยาก

คณิตศาสตร์

ดอกเบี้ยของหนี้ทางเทคนิค = เวลาเพิ่มเติมที่ใช้สำหรับการเปลี่ยนแปลงในอนาคตแต่ละครั้งเนื่องจากวิธีแก้ปัญหาที่เร็วในปัจจุบัน

ตัวอย่างที่คำนวณแล้ว

โมดูลที่เขียนอย่างรวดเร็วโดยไม่มีการทดสอบประหยัดเวลา 2 สัปดาห์ทันที แต่เพิ่มเวลา 20% ให้กับทุกการเปลี่ยนแปลงในอนาคตกับโมดูลนั้น — หากมีการเปลี่ยนแปลงโมดูล 10 ครั้ง "ดอกเบี้ย" รวมจะเกินกว่าการประหยัดเริ่มต้น

ความเชื่อมโยงกับวิศวกรรมซอฟต์แวร์

นี่คือแนวคิดของการพัฒนาซอฟต์แวร์เอง ซึ่งใช้ที่นี่เป็นการเปรียบเทียบกับ การประหยัดที่ปลดปล่อยเงินสดจริง ในการเข้าใจต้นทุนที่เลื่อนออกไป

ข้อผิดพลาดที่พบบ่อย

  • การปฏิบัติต่อหนี้ทางเทคนิคทั้งหมดว่าไม่ดี — หนี้บางอย่างมีเหตุผลเชิงกลยุทธ์
  • การไม่วางแผนการชำระคืนหนี้ทางเทคนิค ปล่อยให้มันสะสมโดยไม่มีขีดจำกัด

แหล่งที่มา

  • Cunningham W, technical debt metaphor origin.
  • Fowler M, technical debt quadrant.