หัวข้อ 67/91· การพัฒนาซอฟต์แวร์และการให้บริการดิจิทัล
หนี้ทางเทคนิค
หนี้ทางเทคนิควัดต้นทุนของงานเพิ่มเติมในอนาคตที่เกิดจากการเลือกวิธีแก้ปัญหาที่เร็วกว่าแต่หยาบกว่าในปัจจุบัน แทนที่จะใช้แนวทางที่ดีกว่า
ทำไมจึงสำคัญ
เช่นเดียวกับหนี้ทางการเงิน หนี้ทางเทคนิคมี "ดอกเบี้ย" ในรูปแบบของการพัฒนาในอนาคตที่ช้าลง จนกว่าจะได้รับการชำระคืน (ปรับโครงสร้างใหม่) หรือกลายเป็นสิ่งที่จัดการได้ยาก
คณิตศาสตร์
ดอกเบี้ยของหนี้ทางเทคนิค = เวลาเพิ่มเติมที่ใช้สำหรับการเปลี่ยนแปลงในอนาคตแต่ละครั้งเนื่องจากวิธีแก้ปัญหาที่เร็วในปัจจุบัน
ตัวอย่างที่คำนวณแล้ว
โมดูลที่เขียนอย่างรวดเร็วโดยไม่มีการทดสอบประหยัดเวลา 2 สัปดาห์ทันที แต่เพิ่มเวลา 20% ให้กับทุกการเปลี่ยนแปลงในอนาคตกับโมดูลนั้น — หากมีการเปลี่ยนแปลงโมดูล 10 ครั้ง "ดอกเบี้ย" รวมจะเกินกว่าการประหยัดเริ่มต้น
ความเชื่อมโยงกับวิศวกรรมซอฟต์แวร์
นี่คือแนวคิดของการพัฒนาซอฟต์แวร์เอง ซึ่งใช้ที่นี่เป็นการเปรียบเทียบกับ การประหยัดที่ปลดปล่อยเงินสดจริง ในการเข้าใจต้นทุนที่เลื่อนออกไป
ข้อผิดพลาดที่พบบ่อย
- การปฏิบัติต่อหนี้ทางเทคนิคทั้งหมดว่าไม่ดี — หนี้บางอย่างมีเหตุผลเชิงกลยุทธ์
- การไม่วางแผนการชำระคืนหนี้ทางเทคนิค ปล่อยให้มันสะสมโดยไม่มีขีดจำกัด
แหล่งที่มา
- Cunningham W, technical debt metaphor origin.
- Fowler M, technical debt quadrant.