Top 10 software engineering principles published: 9th December 2024
1. Brook's Law
"Adding manpower to a late software project makes it later."
2. Conway's Law
"Any organisation that designs a system will produce a design whose structure is a copy of the organisation's communication structure."
3. Parkinson's Law
"Work expands so as to fill the time available for its completion"
4. Pareto's Fallacy
"When you're 80% done, you think you only have 20% left."
5. Zawinski's Law
"Every program attempts to expand until it includes a web server. Those programs which cannot so expand are replaced by ones which can."
6. The Peter Principle
"In a hierarchy every employee tends to rise to their level of incompetence. Thus in time every post tends to be occupied by an employee who is incompetent to carry out its duties."
7. Sturgeon's Revelation
"90% of everything is CRUD."
8. The Iceberg Fallacy
"The cost of development of a new software product is the only ~25% of the total cost of ownership management sees and budgets for."
9. Eagleson's Law
"Any code of your own that you haven't looked at for six months or more might as well have been written by someone else."
10. Greenspun's 10th rule of programming
"Any sufficiently complicated C or Fortran program contains an ad hoc, informally specified, bug-ridden, slow implementation of half of Common Lisp."
If applied to modern web ecosystem it might sound like
"Any sufficiently complex web application will eventually contain an ad hoc, poorly documented, over-engineered NPM package something that a 50 line JS could solve."
need more content on the individual principles