Ưu tiên nợ kỹ thuật cho quý tới
Hướng dẫn TechnicalCuối hướng dẫn bạn có danh sách nợ kỹ thuật xếp hạng — mỗi khoản có gốc, lãi mỗi quý và kỳ hạn — và một tỉ lệ năng lực cho ngăn nợ đã thống nhất với engineering, thay cho việc xin thời gian dọn dẹp từng sprint.
Hướng dẫn này giúp bạn
Biết nợ kỹ thuật là một lối tắt làm thay đổi sau này tốn hơn, và làm việc đủ gần với Engineering Manager để cùng ngồi ước lượng.
Tự cùng engineering lập sổ nợ có gốc, lãi và kỳ hạn, xếp hạng bằng thời gian hoàn vốn, áp các quy tắc ngoài phép chia, đề xuất và chốt tỉ lệ năng lực cho ngăn nợ, và báo cáo bằng lợi suất cuối quý.
Làm từng bước
Một danh sách nợ kỹ thuật xếp hạng, mỗi khoản có gốc, lãi mỗi quý và kỳ hạn tính bằng tuần-kỹ sư; một tỉ lệ năng lực cho ngăn nợ được Head of Product và engineering cùng ký; và các khoản sẽ trả trong quý tới.
Khoảng 45 phút với Engineering Manager, nếu đội đã có danh sách ứng viên
PM, Head of Product, CPO, Engineering Manager, PO
Chuẩn bị trước
- Danh sách những thứ kỹ sư hay than: "chỗ này sửa lần nào cũng mất cả tuần"
- Số kỹ sư và số tuần trong quý, để ra tổng năng lực bằng tuần-kỹ sư
- Lịch sử ticket và sự cố hai quý gần nhất
- Một Engineering Manager hoặc tech lead ngồi cùng — lãi chỉ người làm mới ước được
Các bước
Bước 1 Gom ứng viên và gạch những thứ không phải nợ
Xin danh sách từ engineering, mỗi khoản một câu, nằm ở hệ thống nào. Rồi loại hai loại: thứ không phải lối tắt — muốn đổi công nghệ vì thích hơn — và thứ thật ra là tính năng. Nợ là lối tắt hôm nay khiến thay đổi sau này tốn hơn; nếu không chỉ ra được thay đổi nào tốn hơn, chưa phải nợ cần bàn.
Ví dụBối cảnh (giả định): ĐiXa là nền tảng bán vé xe khách liên tỉnh cho 300 nhà xe, 40 kỹ sư. PM Hạnh và anh Tùng, Engineering Manager, nhận chín ứng viên. Hạnh gạch hai: "chuyển web sang framework mới" (không ai chỉ ra được việc gì đang tốn thêm) và "đăng nhập bằng vân tay" (tính năng, đưa sang roadmap). Còn bảy, gộp hai dòng trùng, còn sáu.
Bước 2 Ước gốc, lãi mỗi quý và kỳ hạn cho từng khoản
Gốc: công sức trả dứt, tính bằng tuần-kỹ sư. Lãi: công sức thêm mỗi lần phải chạm vào, cộng chi phí sự cố, tính mỗi quý. Kỳ hạn: ngày hoặc ngưỡng buộc phải trả. Lãi chỉ phát sinh khi bạn chạm vào — nên hỏi "mỗi quý chạm bao nhiêu lần, mỗi lần tốn thêm bao nhiêu", không hỏi "code này xấu cỡ nào".
Ví dụKhoản nợ Gốc Lãi/quý Kỳ hạn Sơ đồ ghế xe định nghĩa ở 3 nơi: 6 lần đổi/quý x 2 tuần thêm 9 12 Không có Đồng bộ ghế trống với nhà xe theo lô 5 phút, bán trùng ghế: 3 sự cố/tháng x 1 tuần 18 9 Không có Kiểm thử tay luồng đặt vé: 6 lần phát hành x 1,5 tuần 20 9 Không có Báo cáo doanh thu nhà xe chạy trên cơ sở dữ liệu chính, chậm giờ cao điểm 25 6 Không có Thư viện thanh toán ví điện tử bản cũ 5 0 Hết hỗ trợ 30/6 Module khuyến mãi viết năm 2020, rối, 4 quý không ai sửa 14 0 Không có Đơn vị: tuần-kỹ sư. Lãi ẩn của dòng 2: khoảng 120 vé trùng mỗi tháng, mỗi vé hoàn tiền và tặng voucher — ghi thêm vào cột ghi chú.
Mẹo: Không ước được lãi thì đếm số lần đội phải chạm vào phần đó trong hai quý qua. Đó là điểm bắt đầu đủ tốt.
Bước 3 Xếp hạng bằng thời gian hoàn vốn
Chia gốc cho lãi mỗi quý: khoản nào hoàn vốn nhanh nhất đứng đầu. Phép chia này không cần chính xác đến từng ngày, chỉ cần đủ đúng để so các khoản với nhau và với tính năng.
Ví dụSơ đồ ghế xe 9 / 12 = 0,75 quý Đồng bộ ghế trống 18 / 9 = 2 quý Kiểm thử tay 20 / 9 = 2,2 quý Báo cáo doanh thu 25 / 6 = 4,2 quý Thư viện thanh toán lãi 0, có kỳ hạn Module khuyến mãi lãi 0, không kỳ hạn
Bước 4 Áp ba quy tắc mà phép chia không thấy
Có kỳ hạn thì trả trước kỳ hạn, dù lãi bằng không. Lãi bằng không, không kỳ hạn thì không trả — trả gốc là mua sự gọn gàng, không mua tốc độ. Không trả gốc cho thứ sắp bị thay; nếu lãi đáng kể, chi một bản vá nhỏ để giảm lãi.
Ví dụ- Thư viện thanh toán: lên đầu danh sách, phải xong trước 30/6.
- Module khuyến mãi: ra khỏi danh sách quý này, ghi lại để xem nếu sắp phải sửa nó.
- Báo cáo doanh thu: sẽ chuyển sang kho dữ liệu mới trong hai quý. Không viết lại; chi 3 tuần-kỹ sư cho bản sao chỉ đọc, lãi ước còn 2.
Bước 5 Xem quý trước thực tế chia thế nào, rồi đề xuất tỉ lệ
Hỏi Engineering Manager: quý vừa rồi bao nhiêu phần trăm đi vào tính năng, nợ, vận hành và sự cố. Con số thật thường khác hẳn con số ai cũng nghĩ. Rồi đề xuất các ngăn cho quý tới — mỗi ngăn có người quyết bên trong, và tỉ lệ được ký một lần mỗi quý, không bàn lại từng sprint.
Ví dụNgăn Quý trước (thực tế) Đề xuất Tuần-kỹ sư Ai quyết bên trong Tính năng 72% 65% 312 PM các đội, theo roadmap Nợ kỹ thuật 6%, làm lẫn trong ticket tính năng 15% 72 anh Tùng, theo sổ nợ Vận hành và sự cố 22% 20% 96 Đội trực Tổng 100% 100% 480 Head of Product và CTO ký 40 kỹ sư x 12 tuần = 480 tuần-kỹ sư. Sự cố đang ăn 22%, phần lớn từ bán trùng ghế — trả khoản đó sẽ trả lại năng lực cho ngăn vận hành.
Bước 6 Điền ngăn nợ theo thứ hạng, chừa dự phòng
Đi từ trên xuống danh sách đã áp quy tắc, cộng gốc cho đến gần hết ngăn. Chừa 15–25% làm dự phòng cho khoản nợ phát sinh trong quý. Ghi luôn lãi dự kiến sau khi trả, vì đó là con số bạn sẽ báo cuối quý.
Ví dụKhoản Tuần-kỹ sư Lãi/quý sau khi trả Thư viện thanh toán (kỳ hạn 30/6) 5 0 Gom sơ đồ ghế về một nơi 9 gần 0 Đồng bộ ghế theo sự kiện thay cho theo lô 18 khoảng 1 Kiểm thử tự động luồng đặt vé 20 khoảng 2 Bản sao chỉ đọc cho báo cáo 3 khoảng 2 Dự phòng 17 Tổng 72 Từ 36 xuống khoảng 5 Bước 7 Chốt với engineering và hẹn cách báo cáo
Đem tỉ lệ và danh sách đến buổi lập kế hoạch quý, ký cùng CTO hoặc Engineering Manager. Ghi rõ luật: yêu cầu gấp của khách tranh chỗ trong ngăn tính năng, không lấy từ ngăn nợ. Cuối quý báo lợi suất — lãi giảm bao nhiêu, sự cố giảm bao nhiêu — không báo "đã làm xong mấy hạng mục".
Ví dụChị Vân, Head of Product, và anh Kiên, CTO, ký tỉ lệ 65–15–20. Ba tuần sau, một nhà xe lớn đòi gấp tính năng giữ chỗ theo đoàn; tính năng đó đẩy một việc khác trong ngăn tính năng, ngăn nợ không bị đụng. Cuối quý Hạnh báo: lãi trong sổ nợ từ 36 xuống 6 tuần-kỹ sư mỗi quý, vé bán trùng từ 120 xuống 9 mỗi tháng, ngăn sự cố dùng 14% thay vì 22%. Quý sau, 30 tuần-kỹ sư mỗi quý được trả về cho tính năng.
Bạn xong khi
- Mỗi khoản nợ có gốc, lãi mỗi quý và kỳ hạn tính bằng tuần-kỹ sư, ước cùng người làm
- Đã gạch những thứ không phải nợ và những khoản lãi bằng không, không kỳ hạn
- Danh sách xếp theo thời gian hoàn vốn, có kỳ hạn đứng trước, thứ sắp bị thay chỉ được vá
- Có tỉ lệ ngăn nợ đề xuất dựa trên số thực tế quý trước, được Head of Product và engineering cùng ký
- Ngăn nợ đã điền theo thứ hạng, có dự phòng và lãi dự kiến sau khi trả
Lỗi thường gặp
| Lỗi | Cách tránh |
|---|---|
| Xin "một sprint dọn dẹp" như một ân huệ | Đặt nợ thành một ngăn trong danh mục năng lực, ký một lần mỗi quý |
| Xếp hạng theo độ xấu của code | Xếp theo lãi: bao lâu phải chạm một lần, mỗi lần tốn thêm bao nhiêu |
| Trả gốc cho phần sắp bị thay | Chi một bản vá nhỏ để giảm lãi, để dành gốc cho hệ thống mới |
| Quên khoản có kỳ hạn vì hôm nay chưa tốn gì | Khoản có kỳ hạn trả trước kỳ hạn, bất kể lãi |
| Báo cáo số hạng mục đã làm | Báo lợi suất: lãi giảm, sự cố giảm, năng lực trả về cho tính năng |
Tiếp theo
Kỹ năng Technical Architecture giúp bạn đọc được những khoản nợ nằm ở kiến trúc — ranh giới hệ thống, phụ thuộc, khi nào một phần nên tách ra. Ghi các khoản vừa xếp hạng vào mẫu Sổ nợ kỹ thuật và cập nhật lãi mỗi quý, để buổi lập kế hoạch sau bắt đầu từ số chứ không từ trí nhớ.
Thảo luận & tài liệu thêm 0
Chia sẻ kinh nghiệm, đặt câu hỏi, hoặc đính kèm tài liệu/YouTube giúp người khác học kỹ năng này.