Kelly’s rules of software development
These are some of the laws that I see underpinning code development and haven’t been stated openly and clearly by others.
Kelly’s law of advanced code complexity
Any code that is sufficiently advanced will appear as unmaintainable to a novice (Adapted from Arthur C. Clarke)
Kelly’s first law of project complexity
Project scope will always increase in proportion to resources
Kelly’s second law of project complexity
Inside every large project there is a small one struggling to get out
Kelly’s law of software subtlety
Subtlety is bad – if it is different make it obvious – Write it BIG!
While I have been using the laws above since the early 2000s it was only with the publication of Continuous Digital in 2018 that they finally made it into a book.
Kelly’s law of Software Configuration
The more you make your software configurable to avoid programming the more you make your configuration mechanism look like programming.