Vì sao phải đo DX?
Bạn không thể cải thiện thứ mình không đo. Nhưng DX dễ rơi vào bẫy "cảm tính": ai cũng thấy docs "khá ổn", ai cũng nghĩ onboarding "cũng nhanh". DX PM giỏi biến những cảm giác này thành funnel có số, giống như growth PM đo funnel đăng ký.
Metric xương sống: Time-To-First-Call (TTFC)
TTFC = khoảng thời gian từ lúc developer bắt đầu (thường là tạo tài khoản hoặc lấy API key) đến lúc họ nhận được response 2xx thành công đầu tiên.
Đây là North Star của giai đoạn onboarding vì nó gói gọn mọi ma sát: đăng ký, lấy key, đọc quickstart, cài SDK, gọi endpoint. Cách đo thực tế:
- Gắn timestamp ở sự kiện
account_createdhoặcapi_key_generated. - Gắn timestamp ở lần đầu backend log một request thành công (status 2xx) từ key đó.
- TTFC = hiệu hai mốc. Báo cáo theo trung vị (median) và p90, đừng chỉ nhìn trung bình — trung bình bị kéo lệch bởi một số dev bỏ đi rồi quay lại sau nhiều ngày.
Activation: đi xa hơn một cú gọi
Một lệnh gọi thành công chưa có nghĩa dev đã "dùng thật". Activation là ngưỡng chứng minh dev đã trải nghiệm giá trị cốt lõi. Với AI tooling, một định nghĩa activation tốt cần cụ thể và có ý nghĩa nghiệp vụ, ví dụ:
- "Dev gọi thành công từ 10 request trở lên trong 7 ngày đầu, từ ít nhất 2 endpoint khác nhau."
Bộ metric DX đầy đủ theo funnel
Dùng khung 4 lớp từ Bài 1, mỗi lớp gắn một metric chính:
| Lớp | Câu hỏi | Metric |
|---|---|---|
| Discovery | Dev có tìm & hiểu được không? | Docs search success rate, bounce trên quickstart |
| First call | Bao lâu để chạy được? | TTFC (median, p90) |
| Integration | Có dùng thật không? | Activation rate, request/dev tuần |
| Scale & trust | Có ở lại & lớn lên không? | Retention theo tuần, error rate, tỉ lệ dev vượt free tier |
Các "health metric" đừng bỏ quên
- Error rate theo loại lỗi: tỉ lệ 4xx (lỗi phía dev — thường do docs kém) vs 5xx (lỗi phía bạn). 4xx cao bất thường = tín hiệu docs/DX có vấn đề, không phải "dev dốt".
- First-call success rate: trong số dev thử gọi lần đầu, bao nhiêu % thành công ngay? Con số này lộ ra ma sát ẩn.
- Latency p95 và cost per successful call (đặc thù AI): trải nghiệm chậm/đắt cũng là DX xấu.
Ví dụ cụ thể
Một team phát hiện TTFC trung vị là 45 phút. Đào sâu bằng cách phân rã funnel, họ thấy 40% dev kẹt ở bước cài SDK vì lệnh cài trong docs thiếu một dependency. Sửa một dòng docs, TTFC tụt còn 12 phút. Không cần viết code sản phẩm — chỉ cần đo đúng và đọc đúng funnel.
Khung tư duy: "Đo theo hành trình, không theo tính năng"
Đừng hỏi "endpoint X được gọi bao nhiêu lần". Hãy hỏi "trong 100 dev bắt đầu hôm nay, bao nhiêu người tới được first call, bao nhiêu tới activation, bao nhiêu còn ở tuần 4". Đó là cách bạn thấy được điểm rơi rụng.
Checklist thiết lập đo DX
- [ ] Đã định nghĩa mốc bắt đầu và mốc "first successful call" rõ ràng chưa?
- [ ] Báo cáo TTFC bằng median + p90 chưa (không chỉ mean)?
- [ ] Có định nghĩa activation cụ thể, gắn với retention chưa?
- [ ] Có tách error rate 4xx vs 5xx chưa?
- [ ] Funnel có được xem theo cohort (nhóm dev cùng thời điểm bắt đầu) không?
Sai lầm thường gặp
- Chỉ đo tổng số request — vanity metric che giấu việc dev mới không vào được.
- Dùng mean cho TTFC — bị outlier bóp méo, ra quyết định sai.
- Định nghĩa activation quá lỏng ("gọi 1 lần là activated") khiến số đẹp nhưng vô nghĩa.
- Quên latency & cost với sản phẩm AI, dù đó là phần lớn cảm nhận DX.