Laws of Software Engineering: A Guide to the Patterns that Shape Software Systems, Teams, and Decisions
TLDR: “A collection of free information”
This is a collection of 63 laws and axioms about building software – some serious, some not. Some are wildly obvious and general, others are unknown and specific. Some are genuinely about software development, and other are just about life in general.
For example:
- Murphy’s Law: anything that can go wrong, will
- Gall’s Law: a successful complicated system started from a simple system and grew over time; complicated systems cannot start as complicated systems
- Conway’s Law: organizations tend to design software that mirrors their internal structure
- The Duning-Kruger Effect: the less people know about something, the more they think they know
- Tesler’s Law: any domain has a base level of complication beyond which it cannot be simplified
And so on.
Each law has a few bullet points, some commentary, and some examples. Each one is cross-referenced to other laws (in the book), and there are external link references.
I was going to list them all here, and I wondered if that was beyond Fair Use, but then I realized that the book has a website on which all the content in the book is published. So, if you don’t want to buy the book, just go there. It’s the same content.
Am I better for having read it? …maybe? It reminded me of some things, and introduced to me to some new ones, but I think this is one of those books that you’d need to read in a group and study with flash cards or something to really internalize.
And even if you did… would you be any better off for it? Would you be wiser? I don’t know. Maybe you’d just be more cynical?
Book Data
- Author
- Mail Milanovic
- Year
- Pages
- 318
- Acquired
- Not recorded
- I have read this book. According to my records, I completed it on .
- A hardcover copy of this book is currently in my home library.