Tổng quan
Các định luật Lehman mô tả phần mềm gắn với thế giới thật phải liên tục tiến hóa, đồng thời độ phức tạp tăng dần nếu không được chủ động kiểm soát. Phần mềm hữu ích không bao giờ thật sự "xong".
Ý chính
- Nếu hệ thống không đổi theo nhu cầu môi trường, nó dần kém hữu ích.
- Mỗi thay đổi làm tăng entropy và complexity nếu không có refactor, tái cấu trúc hoặc trả nợ.
- Tốc độ tiến hóa bị giới hạn bởi kiến thức team, quy trình, architecture và feedback từ người dùng.
Ví dụ từ nguồn
Một hệ thống ERP triển khai năm 2000 phải thêm rule kinh doanh, integration, UI mới và yêu cầu pháp lý trong 25 năm, khiến complexity tăng đều.
Một sản phẩm SaaS không cập nhật theo thay đổi của API đối tác và kỳ vọng người dùng sẽ mất giá trị dù code vẫn chạy.
Nguồn gốc
Meir M. Lehman và Belady hình thành các luật đầu tiên từ năm 1974 khi nghiên cứu lịch sử phiên bản và tăng trưởng của các hệ thống như IBM OS/360.
Lưu ý khi áp dụng
Đừng lập kế hoạch như phần mềm sẽ ổn định vĩnh viễn. Hãy dành capacity thường xuyên cho evolution, simplification và observability.