Shaun Abram
Technology and Leadership Blog
Software Laws
Some “laws” that are particularly relevant in software development…
Parkinson’s law
Work expands to fill the time available for its completion.
https://en.wikipedia.org/wiki/Parkinson%27s_law
Goodhart’s law
When a measure becomes a target, it ceases to be a good measure.
https://en.wikipedia.org/wiki/Goodhart%27s_law
For example, demanding 100% of code coverage may result in developers writing more tests but of lesser quality (or even tests without asserts), just to meet the goal.
Hofstadter’s Law
It always takes longer than you expect, even when you take into account Hofstadter’s Law.
https://en.wikipedia.org/wiki/Hofstadter%27s_law
Conway’s Law
Any organization that designs a system will produce a design whose structure is a copy of the organization’s communication structure.
In plain English, I would describe it as: Software architecture reflects team organization.
https://en.wikipedia.org/wiki/Conway%27s_law
Tags: conwayslaw, goodhartslaw, hofstadterslaw, laws, parkinsonslaw