I have a principle that I would love to see become part of the lexicon of Software Development, although I think it applies to all human endeavors (like Murphy’s law).
Stark’s law states:
Any idea, principle, or philosophy can, and probably will be applied in a dogmatic, harmful way.Glen Stark
I’m still working on the wording. Suggestions welcome.
The fundamental principle at work here is simple: In the end most things boil down to trade-offs. Following specific principles is always a good idea, right up to the point where the trade-offs no longer work. People have a tendency to take useful, positive things and be dogmatic about — try to turn a nuanced discussion into a binary, oversimplified one.
If I get sufficiently motivated, I should make multiple posts of Stark’s law in action.
An important consequence of Stark’s law is one of responsibility. If you want to spread a principle, philosophy or approach to something, you should provide the necessary disclaimers. I.e. you should be able to give an example of how Stark’s law might kick in.
If you are unable to identify how a principle could be applied to harmful extreme, I would suggest you probably don’t understand the nuances and consequences or the principle sufficiently well.
Applying Stark’s Law Recursively
Obviously Stark’s law applies to itself. An obvious way one could take the principle to a ridiculous extreme is to conclude that all philosophies, ideas or principles are garbage.
This outcome is fairly easily mitigate. Consider the nuances of any philosophy & try to identify under what circumstances said philosophy might be useful. Don’t be dismissive.
If anyone can think of other ways to abuse or dogmatize Stark’s law, please let me know!