Nợ kỹ thuật (technical debt) là gì? Làm gì để trả nợ?


KnowledgeBase Featured Image

Nợ kỹ thuật (technical debt) là gì? Làm gì để trả nợ?

Nợ code (technical debt)

Đây là món nợ rất xấu nếu code quá nhiều tiềm ẩn rủi ro, tương tự như nợ xấu ngân hàng. Nếu nợ code quá lớn đến mức các kỹ sư khác không thể bảo trì nổi, rốt cuộc phải đập đi làm lại, thì hậu quả vô cùng khủng khiếp tương tự như sự sụp đổ của một hệ thống ngân hàng. Có thể nói nợ code là hậu quả của chiến thuật "tiền trảm hậu tấu" mà các developer sử dụng để pass qua Test Case, đáp ứng yêu cầu hiện tại của khách hàng. Nhưng khi go-live sẽ phát sinh vô số vấn đề "bóng ma" đằng sau hàng triệu dòng code tưởng như sạch sẽ (cleanup).

Làm gì để trả nợ?

Có nhiều người khi được hỏi trên các diễn đàn, tạp chí… thường đưa ra câu trả lời giống nhau với cách xử lý khá “hàn lâm” như: dừng việc phát triển, ngồi lại để refactory code…

Thực tế thì cách làm đó tuy đúng nhưng hiệu quả hay không còn tùy vào thợ code.  Thợ code được yêu cầu dành cả ngày chỉ để refactor code và tối ưu performance quả thực là một cực hình. Quản lý là một nghệ thuật. Hãy dùng nghệ thuật để bắt nhịp các thành viên, tạo cảm hứng làm việc, động viên tinh thần bằng cách vạch ra mục tiêu càng cụ thể càng tốt …

Biện pháp trả nợ cần phải được “lồng” vào một nhiệm vụ nào đó nhưng đầy ý nghĩa, làm sao để hút các thành viên vào những công việc ít thú vị này, khiến họ mê mệt không kém gì niềm vui được code. Thí dụ tình huống số 1: thợ A mong muốn nâng cấp UI/UX, hãy giao nhiệm vụ “kép” cho A: Vừa nghiên cứu nâng cấp UI/UX vừa tối ưu lại code front-end. Tình huống số 2: tính năng “Danh mục sản phẩm” sắp đến giao đoạn nâng cấp, bảo trì, trong đó bổ sung các tiện ích “Tìm kiếm”, “Tạo truy cập nhanh (bookmark)”…, thợ B được giao nhiệm vụ quan trọng này. Trong 1 tuần chờ đợi phân tích và lên thiết kế mockup cho các tiện ích, B được yêu cầu xử lý làm mịn lại code, tối ưu performance trước khi thiết kế chức năng tìm kiếm… Tình huống số 3: Sử dụng các “khoảng thời gian im lặng” 4 tiếng mỗi tuần để lên kế hoạch trả nợ.

Hãy nhớ rằng trong lúc trả nợ, thợ sẽ vô tình tìm ra các lỗ hổng kỹ thuật. Trong cái khó sẽ ló cái khôn.

Muốn đi nhanh, hãy đi một mình. Muốn đi xa hơn, hãy đi cùng nhau.


Phát triển phần mềm theo yêu cầu, chi phí thấp, chất lượng cao và đặc biệt chúng tôi luôn đồng hành và phát triển cùng khách hàng trên hành trình chuyển đổi số toàn diện, giúp doanh nghiệp khách hàng bứt phá và thành công. Streamline Your Business with Outsourcing. We provide ongoing support and training to our remote teams to ensure they are equipped with the latest knowledge and skills needed to excel in their roles. We also have a full team of experts who can help you guide and help your outsourced team members who work from home.