Cheat-sheet for Laws, Principles & the such

Have you ever been in a conversation where somebody ends an argument with something like “But as we all know this will never work because of Conway’s Law”? And even worse, have you found yourself thoughtfully nodding even though you are not 100% sure what Conway’s Law exactly says?

I for one admit to have been in such a situation so I thought of noting down some of the laws, principles, theories or what have you, I often hear referenced in software development discussions. I included only the definitions and leave it up to the readers to look deeper into each one of them.

Conway’s Law

Organizations which design systems… are constrained to produce designs which are copies of the communication structures of these organizations.

Occam’s Razor Principle

Entities should not be multiplied without necessity.

Often paraphrased as:

The simplest solution is most likely the right one.

Halting Problem

The problem of determining, from a description of an arbitrary computer program and an input, whether the program will finish running, or continue to run forever.

Brook’s Law

Adding human resources to a late software project makes it later.

Theory of Constraints

A methodology for identifying the most important limiting factor (i.e. constraint) that stands in the way of achieving a goal and then systematically improving that constraint until it is no longer the limiting factor. In manufacturing, the constraint is often referred to as a bottleneck.

Pareto Principle

For many events, roughly 80% of the effects come from 20% of the causes.

Conjunction Fallacy aka Linda Problem

 Assuming that specific conditions are more probable than a single general one.

This list is far from being complete, so any suggestions to enrich it are more than welcome.

Just quoting some of this wisdom won’t get us very far. But maybe by taking another look to the truths we use, we can apply them better in the future.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s