56 luật phần mềm, Việt hóa để dễ đọc lại

Trang này tổng hợp 56 quy luật và nguyên lý nổi tiếng trong kỹ nghệ phần mềm dưới dạng diễn giải tiếng Việt ngắn gọn để tra cứu nhanh.

Nội dung bên dưới là bản tóm tắt Việt hóa, không phải bản dịch nguyên văn. Tên gốc tiếng Anh được giữ lại để tiện đối chiếu khi cần đọc sâu hơn.

56 quy luật và nguyên lý
7 nhóm chủ đề
1 tab tra cứu nhanh trên site
Nguồn gốc danh sách: Laws of Software Engineering của Dr. Milan Milanovic. Truy cập ngày 24/04/2026.

Kiến trúc

9 mục trong nhóm kiến trúc

Architecture

Minh họa cho Định luật Hyrum
3

Định luật Hyrum

Hyrum's Law

Nếu một hành vi của hệ thống có thể quan sát được, sớm muộn cũng sẽ có người phụ thuộc vào nó.

Xem chi tiết →
Minh họa cho Định luật Gall
7

Định luật Gall

Gall's Law

Hệ thống phức tạp hoạt động tốt thường tiến hóa từ một hệ thống đơn giản đã chạy ổn trước đó.

Xem chi tiết →
Minh họa cho Định luật Trừu tượng rò rỉ
8

Định luật Trừu tượng rò rỉ

The Law of Leaky Abstractions

Mọi abstraction đủ phức tạp đều sẽ để lộ chi tiết bên dưới vào lúc bạn ít mong muốn nhất.

Xem chi tiết →
Minh họa cho Định luật Tesler
9

Đị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.

Xem chi tiết →
Minh họa cho Định lý CAP
10

Định lý CAP

CAP Theorem

Trong hệ phân tán có phân vùng mạng, bạn không thể đồng thời tối đa cả nhất quán lẫn sẵn sàng.

Xem chi tiết →
Minh họa cho Hiệu ứng Hệ thống thứ hai
11

Hiệu ứng Hệ thống thứ hai

Second-System Effect

Phiên bản tiếp theo của một sản phẩm thành công rất dễ bị nhồi quá nhiều ý tưởng và trở nên cồng kềnh.

Xem chi tiết →
Minh họa cho Ngụy biện của tính toán phân tán
12

Ngụy biện của tính toán phân tán

Fallacies of Distributed Computing

Nhiều giả định tưởng hiển nhiên như mạng luôn ổn định, độ trễ bằng không hay topology không đổi đều sai.

Xem chi tiết →
Minh họa cho Định luật Hệ quả ngoài ý muốn
13

Định luật Hệ quả ngoài ý muốn

Law of Unintended Consequences

Mỗi thay đổi trong hệ thống phức tạp đều có thể tạo ra tác động phụ ở nơi bạn chưa nghĩ tới.

Xem chi tiết →
Minh họa cho Định luật Zawinski
14

Định luật Zawinski

Zawinski's Law

Phần mềm có xu hướng phình to phạm vi cho đến khi cố làm nhiều việc hơn mức nó nên làm.

Xem chi tiết →

Đội ngũ

9 mục trong nhóm đội ngũ

Teams

Minh họa cho Định luật Conway
1

Định luật Conway

Conway's Law

Cấu trúc hệ thống thường phản chiếu cách các nhóm giao tiếp và chia trách nhiệm với nhau.

Xem chi tiết →
Minh họa cho Định luật Brooks
6

Định luật Brooks

Brooks's Law

Thêm người vào một dự án đã trễ hạn thường làm nó trễ hơn vì chi phí phối hợp và truyền đạt tăng lên.

Xem chi tiết →
Minh họa cho Số Dunbar
15

Số Dunbar

Dunbar's Number

Con người chỉ duy trì hiệu quả một số lượng hữu hạn quan hệ ổn định, nên quy mô đội ngũ có giới hạn tự nhiên.

Xem chi tiết →
Minh họa cho Hiệu ứng Ringelmann
16

Hiệu ứng Ringelmann

The Ringelmann Effect

Khi nhóm lớn lên, hiệu suất của từng cá nhân thường giảm nếu trách nhiệm và mục tiêu không đủ rõ.

Xem chi tiết →
Minh họa cho Định luật Price
17

Định luật Price

Price's Law

Trong nhiều nhóm, một phần nhỏ thành viên tạo ra tỷ lệ đóng góp rất lớn cho kết quả chung.

Xem chi tiết →
Minh họa cho Định luật Putt
18

Định luật Putt

Putt's Law

Khoảng cách giữa người quản lý và người làm kỹ thuật dễ tạo ra quyết định thiếu ăn khớp với thực tế công nghệ.

Xem chi tiết →
Minh họa cho Nguyên lý Peter
19

Nguyên lý Peter

Peter Principle

Trong tổ chức phân cấp, con người dễ được thăng tiến tới mức vai trò mà họ không còn làm tốt nữa.

Xem chi tiết →
Minh họa cho Bus Factor
20

Bus Factor

Bus Factor

Nếu quá ít người nắm kiến thức sống còn, dự án sẽ cực kỳ mong manh khi họ rời đi hoặc không còn sẵn sàng hỗ trợ.

Xem chi tiết →
Minh họa cho Nguyên lý Dilbert
21

Nguyên lý Dilbert

Dilbert Principle

Tổ chức yếu có thể đẩy người kém phù hợp khỏi công việc tạo giá trị trực tiếp và vô tình đưa họ lên quản lý.

Xem chi tiết →

Lập kế hoạch

6 mục trong nhóm lập kế hoạch

Planning

Chất lượng

11 mục trong nhóm chất lượng

Quality

Minh họa cho Quy tắc Hướng đạo sinh
4

Quy tắc Hướng đạo sinh

The Boy Scout Rule

Mỗi lần chạm vào code, hãy để nó sạch hơn, rõ hơn hoặc an toàn hơn một chút so với trước đó.

Xem chi tiết →
Minh họa cho Định luật Murphy
27

Định luật Murphy

Murphy's Law / Sod's Law

Nếu có cách để sự cố xảy ra, hãy giả định nó sẽ xảy ra và chuẩn bị cho trường hợp đó.

Xem chi tiết →
Minh họa cho Định luật Postel
28

Định luật Postel

Postel's Law

Khi phát dữ liệu hãy chặt chẽ, khi nhận dữ liệu hãy chịu lỗi hợp lý để tăng khả năng tương thích.

Xem chi tiết →
Minh họa cho Thuyết Cửa sổ vỡ
29

Thuyết Cửa sổ vỡ

Broken Windows Theory

Những chỗ xấu nhỏ bị bỏ mặc trong codebase thường kéo theo thêm nhiều chỗ xấu và tiêu chuẩn thấp hơn.

Xem chi tiết →
Minh họa cho Nợ kỹ thuật
30

Nợ kỹ thuật

Technical Debt

Mọi quyết định làm nhanh hôm nay nhưng làm chậm việc thay đổi ngày mai đều đang tạo thêm nợ kỹ thuật.

Xem chi tiết →
Minh họa cho Định luật Linus
31

Định luật Linus

Linus's Law

Khi đủ nhiều người xem xét đúng chỗ, lỗi khó cũng dễ bị phát hiện hơn.

Xem chi tiết →
Minh họa cho Định luật Kernighan
32

Định luật Kernighan

Kernighan's Law

Code càng khôn lỏi và khó hiểu, việc debug nó sau này càng tốn sức gấp nhiều lần.

Xem chi tiết →
Minh họa cho Kim tự tháp kiểm thử
33

Kim tự tháp kiểm thử

Testing Pyramid

Hệ kiểm thử bền vững thường có nhiều test nhanh ở lớp thấp và ít test giao diện chậm ở lớp cao.

Xem chi tiết →
Minh họa cho Nghịch lý thuốc trừ sâu
34

Nghịch lý thuốc trừ sâu

Pesticide Paradox

Chạy mãi cùng một bộ test sẽ dần kém hiệu quả vì lỗi mới tìm cách lẩn qua các mẫu cũ.

Xem chi tiết →
Minh họa cho Các định luật tiến hóa phần mềm của Lehman
35

Các định luật tiến hóa phần mềm của Lehman

Lehman's Laws of Software Evolution

Phần mềm gắn với thế giới thực phải tiếp tục thay đổi; nếu không, nó sẽ dần mất giá trị và khó bảo trì.

Xem chi tiết →
Minh họa cho Định luật Sturgeon
36

Định luật Sturgeon

Sturgeon's Law

Phần lớn sản phẩm và ý tưởng ngoài kia chỉ ở mức trung bình hoặc tệ, nên đừng lấy số đông làm chuẩn chất lượng.

Xem chi tiết →

Mở rộng hệ thống

3 mục trong nhóm mở rộng hệ thống

Scale

Thiết kế

6 mục trong nhóm thiết kế

Design

Ra quyết định

12 mục trong nhóm ra quyết định

Decisions

Minh họa cho Hiệu ứng Dunning-Kruger
45

Hiệu ứng Dunning-Kruger

Dunning-Kruger Effect

Người biết ít về một chủ đề thường dễ tự tin quá mức vì chưa thấy hết độ khó thật sự.

Xem chi tiết →
Minh họa cho Dao cạo Hanlon
46

Dao cạo Hanlon

Hanlon's Razor

Đừng vội quy mọi lỗi thành ác ý khi thiếu hiểu biết, sơ suất hoặc hệ thống tồi cũng có thể giải thích được.

Xem chi tiết →
Minh họa cho Dao cạo Occam
47

Dao cạo Occam

Occam's Razor

Khi nhiều giả thuyết cùng giải thích được vấn đề, hãy ưu tiên phương án đơn giản nhất trước.

Xem chi tiết →
Minh họa cho Ngụy biện chi phí chìm
48

Ngụy biện chi phí chìm

Sunk Cost Fallacy

Thời gian hay tiền đã bỏ ra trong quá khứ không nên ép bạn tiếp tục một hướng đi đang sai.

Xem chi tiết →
Minh họa cho Bản đồ không phải lãnh thổ
49

Bản đồ không phải lãnh thổ

The Map Is Not the Territory

Mô hình, dashboard, sơ đồ hay tài liệu chỉ là đại diện cho thực tế, không phải chính thực tế.

Xem chi tiết →
Minh họa cho Thiên kiến xác nhận
50

Thiên kiến xác nhận

Confirmation Bias

Con người có xu hướng chọn dữ kiện ủng hộ niềm tin sẵn có và bỏ qua tín hiệu trái chiều.

Xem chi tiết →
Minh họa cho Chu kỳ Hype và định luật Amara
51

Chu kỳ Hype và định luật Amara

The Hype Cycle & Amara's Law

Ta thường kỳ vọng quá cao vào tác động ngắn hạn của công nghệ mới nhưng lại đánh giá thấp ảnh hưởng dài hạn.

Xem chi tiết →
Minh họa cho Hiệu ứng Lindy
52

Hiệu ứng Lindy

The Lindy Effect

Thứ gì tồn tại hữu ích lâu trong thời gian dài thường có xác suất tiếp tục tồn tại thêm nữa.

Xem chi tiết →
Minh họa cho Tư duy nguyên lý gốc
53

Tư duy nguyên lý gốc

First Principles Thinking

Hãy bóc vấn đề về các giả định nền tảng nhất rồi xây lại lời giải từ các sự thật cơ bản đó.

Xem chi tiết →
Minh họa cho Tư duy đảo ngược
54

Tư duy đảo ngược

Inversion

Thay vì chỉ hỏi làm sao để thành công, hãy hỏi điều gì chắc chắn dẫn tới thất bại rồi tránh nó.

Xem chi tiết →
Minh họa cho Nguyên lý Pareto
55

Nguyên lý Pareto

Pareto Principle (80/20 Rule)

Một phần nhỏ nguyên nhân thường tạo ra phần lớn kết quả, nên cần ưu tiên đúng điểm đòn bẩy.

Xem chi tiết →
Minh họa cho Định luật Cunningham
56

Định luật Cunningham

Cunningham's Law

Trên Internet, câu trả lời đúng thường xuất hiện nhanh hơn khi ai đó nhìn thấy một câu trả lời sai.

Xem chi tiết →