Đừng hỏi chúng ta có thể thêm gì
Một product trưởng thành không chứng minh mình bằng việc chứa bao nhiêu. Nó chứng minh mình bằng việc con người phải mang ít đến đâu.
Start With the Human — Đừng bắt đầu bằng sản phẩm. Hãy bắt đầu bằng con người.
Product team rất dễ được thưởng vì ship more
Roadmap thường nhìn thấy feature mới rõ hơn removal. Demo day thích thứ mới hơn thứ biến mất. Release note dễ kể về addition hơn simplification.
Vì vậy team rất dễ hình thành một bias: nếu muốn chứng minh progress, hãy thêm.
More shipped does not automatically mean more value.
Mỗi feature mới đều tạo cost mới
Một feature không chỉ là code. Nó tạo thêm state, option, edge case, permission, support question, documentation, learning và maintenance.
Addition luôn tạo footprint. Nếu value không vượt cost, product chỉ đang tích lũy complexity.
Every feature creates a permanent tax unless proven otherwise.
Complexity compound theo thời gian
Mười feature riêng lẻ có thể đều hợp lý. Nhưng khi chúng tương tác, complexity không tăng tuyến tính.
User phải hiểu nhiều hơn. Team phải test nhiều hơn. Hệ thống có nhiều path hơn để sai.
Complexity compounds faster than feature count.
Choice overload là một dạng product debt
Nhiều option không luôn đồng nghĩa với nhiều freedom. Có lúc nó chỉ chuyển decision burden từ system sang human.
Nếu product có thể infer, remember hoặc chọn default tốt, user không nên phải ra quyết định chỉ để bù cho sự thiếu quyết đoán của system.
Every unnecessary choice is work handed back to the user.
Remove có thể tạo nhiều value hơn add
Xóa một field không cần thiết. Gộp hai flow. Bỏ một step. Loại một setting ít ai hiểu. Cho system nhớ thứ user luôn phải nhập lại.
Những thay đổi đó có thể không trông hoành tráng, nhưng human burden giảm thật.
Removal is a product decision, not the absence of one.
System nên remember thay cho human
Nếu user đã cung cấp information, system nên nhớ khi hợp lý. Nếu một preference đã rõ, default nên phản ánh nó. Nếu context có thể được giữ, đừng bắt người dùng tái tạo context mỗi lần.
Memory của machine nên được dùng để giảm memory burden của human.
What the system can remember, the human should not have to.
Trước khi thêm, hãy hỏi liệu nó có thể trở nên không cần thiết
Can we remove? Can we combine? Can we remember? Can we infer? Can we automate? Can we make the decision disappear?
Những câu hỏi này không chống feature. Chúng bảo vệ product khỏi việc biến mỗi problem thành một control mới.
The best feature may be the one you make unnecessary.
Gửi tôi trước khi thêm một button mới
Nếu một ngày solution đầu tiên của tôi là thêm một button, một tab, một setting hay một dashboard, tôi muốn tự hỏi thêm một lần nữa.
Con người có thực sự cần thêm control này không? Hay system đang đẩy một decision mà chính nó nên gánh sang user?
Nếu một product có thể trở nên đơn giản hơn mà vẫn làm được nhiều điều đúng hơn, đó không phải là làm ít. Đó là trưởng thành.
Build less where understanding allows it.