Tổng quan
Nợ kỹ thuật là chi phí tương lai tạo ra bởi quyết định làm nhanh hoặc trì hoãn thiết kế tốt hôm nay. Giống khoản vay, nó có thể hợp lý nếu có chủ đích, nhưng sẽ sinh lãi nếu không được quản lý.
Ý chính
- Shortcut giúp giao hàng nhanh trước mắt nhưng làm thay đổi sau này chậm và rủi ro hơn.
- Lãi của nợ là thời gian mất vào workaround, bug, onboarding khó và sợ sửa code.
- Nợ không luôn xấu; nợ có chủ đích, ghi nhận và trả đúng lúc có thể là trade-off kinh doanh hợp lý.
Ví dụ từ nguồn
Bỏ qua test để kịp deadline có thể ship được, nhưng mỗi lần sửa sau đó cần manual regression lâu hơn và dễ tạo bug mới.
Prototype dùng schema tạm có thể chấp nhận được nếu có kế hoạch migration trước khi scale dữ liệu.
Nguồn gốc
Ward Cunningham đặt ra ẩn dụ technical debt tại OOPSLA năm 1992 khi giải thích trade-off trong một ứng dụng tài chính.
Lưu ý khi áp dụng
Hãy ghi rõ loại nợ, lý do vay, lãi đang trả và điều kiện trả nợ; nếu không, nợ kỹ thuật biến thành lối sống.