Kelly’s Laws

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.

September 2020

Verified by MonsterInsights