Minh họa cho Định luật Tesler
Law #9 Kiến trúc

Định luật Tesler

Tesler's Law (Conservation of Complexity)

Độ phức tạp cốt lõi không tự biến mất; bạn chỉ đang chuyển nó từ người dùng sang code hoặc ngược lại.

Nguồn tham khảo: Laws of Software Engineering

Tổng quan

Tesler cho rằng mỗi ứng dụng có một lượng phức tạp không thể loại bỏ hoàn toàn. Thiết kế tốt quyết định phức tạp đó nằm ở đâu: trong code, trong workflow, hay đẩy sang người dùng.

Ý chính

  • Đơn giản hóa UI thường có nghĩa phần mềm phải gánh nhiều logic hơn ở phía sau.
  • Nếu bắt người dùng tự quản quá nhiều setting hoặc bước thủ công, bạn đang chuyển phức tạp sai nơi.
  • Không phải mọi thứ có thể trở nên đơn giản; một phần complexity là bản chất của miền nghiệp vụ.

Ví dụ từ nguồn

Công cụ đặt lịch như Calendly che phần tìm thời gian chung bằng thuật toán và integration, thay vì bắt người dùng gửi qua lại nhiều email.

Một checkout flow tốt gom các rule thuế, phí, coupon và vận chuyển thành trải nghiệm rõ ràng thay vì buộc khách hàng tự tính.

Nguồn gốc

Larry Tesler, người làm việc trên Apple Lisa và các khái niệm GUI sớm, nêu nguyên tắc này trong thập niên 1980 khi bàn về bảo toàn độ phức tạp.

Lưu ý khi áp dụng

Khi "đơn giản hóa", hãy hỏi phức tạp đã biến mất thật chưa hay chỉ bị đẩy sang user, support team hoặc vận hành.

← Quay lại danh sách 56 luật