Advertisement
Diaghilev

Untitled

Nov 4th, 2019
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.08 KB | None | 0 0
  1. Conway's Law - the technical boundaries of a system will reflect the structure of the organisation
  2.  
  3. Gall's Law - A complex system that works is invariably found to have evolved from a simple system that worked. A complex system designed from scratch never works and cannot be patched up to make it work. You have to start over with a working simple system.
  4.  
  5. Hofstadter's Law - It always takes longer than you expect, even when you take into account Hofstadter's Law.
  6.  
  7. Hutber's Law - Improvement means deterioration.
  8.  
  9. Hyrum's Law (The Law of Implicit Interfaces) - With a sufficient number of users of an API, it does not matter what you promise in the contract: all observable behaviours of your system will be depended on by somebody.
  10. (Eventually, someone is going to do something weird with your game which will break it.)
  11.  
  12. Premature Optimization Effect - Premature optimization is the root of all evil. (Donald Knuth)
  13. Do not underestimate the wisdom of Donald Knuth. Likewise, write dirty, edit when you're done.
  14.  
  15. The Law of Conservation of Complexity (Tesler's Law) - There is a certain amount of complexity in a system which cannot be reduced. The full, relevant text and conclusion:
  16. Some complexity in a system is 'inadvertent'. It is a consequence of poor structure, mistakes, or just bad modeling of a problem to solve. Inadvertent complexity can be reduced (or eliminated). However, some complexity is 'intrinsic' as a consequence of the complexity inherent in the problem being solved. This complexity can be moved, but not eliminated. One interesting element to this law is the suggestion that even by simplifying the entire system, the intrinsic complexity is not reduced, it is moved to the user, who must behave in a more complex way.
  17.  
  18. The Law of Triviality - Groups will give far more time and attention to trivial or cosmetic issues rather than serious and substantial ones.
  19. Don't spend too long arguing about kerning or dice notation.
  20.  
  21. The Unix Philosophy - Software (TTRPG system) components should be small, and focused on doing one specific thing well. This can make it easier to build systems by composing together small, simple, well-defined units, rather than using large, complex, multi-purpose programs.
  22.  
  23. The Pareto Principle (The 80/20 Rule) - Most things in life are not distributed evenly.
  24. 20% of your material is going to generate 80% of the arguments/confusion/nonsense. Focus on fixing that.
  25.  
  26. The DRY Principle - Every piece of knowledge must have a single, unambiguous, authoritative representation within a system.
  27. DRY stands for "Don't Repeat Yourself". The opposite of DRY would be WET (Write Everything Twice or We Enjoy Typing).
  28.  
  29. The KISS principle - Keep it simple, stupid
  30. Specifically, "keep it simple AND stupid". You're not calling the writer stupid; make it simple enough to be used when the dice are flying, everyone's a little tired, and you'd lose momentum if you had to spent 10 minutes parsing a paragraph of rule text.
  31.  
  32. YAGNI - You Aren't Gonna Need It. "Always implement things when you actually need them, never when you just foresee that you need them." (Ron Jeffries)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement