Occam’s Razor for Design of Systems and Processes

Occam’s (or Ockham’s) razor is a principle attributed to the 14th century logician and Franciscan friar William of Ockham (does this profession  still exist? I am yet to meet a “logician” :-)).

Occam’s razor states that “one should minimize the assumptions to the minimum necessary to solve any problem”. It is a minimalistic principle (often called principle of parsimony) and can be used as a heuristic while doing scientific modelling and building theories.

Though the principle has been found in the writings of earlier medieval philosophers, William of Occam has been credited with it because he was its most prolific proponent.

Occam is attributed to have said something like “Numquam ponenda est pluralitas sine necessitate” (as expected, he did not say these things in any modern language :-))- which means “plurality must never be posited without necessity” [if this was how people promoting simplicity spoke, I really don’t want to know how others spoke]

Various versions/ derivations of the Occam’s razor include:

“Keep it Simple, Stupid”

“Simpler explanations are, other things being equal, generally better than more complex ones”

“Simpler hypotheses are generally better than the complex ones”

“Everything should be kept as simple as possible, but no simpler.” (Einstein?)

One of the common misuses of Occam’s razor is perpetrated by woo-scientists who say that God / brahman/ mystical forces are simpler explanations for any phenomenon that is difficult to explain. You can know more about woo science here and here.

Though Occam’s razor was initially applied to “explain things”, it can equally be applied to “building things” like systems and processes. Consciously using Occam’s Razor may make these systems easier to operate, maintain and upgrade.

Here are new variants of Occam’s razor as applied to design of systems and processes:

“It is vain to do with more what can be done with fewer”

“A simpler design that achieves the purpose is better than a more complex design”

“Minimize the entities in any design to make it effective”

“Simplicity is the ultimate sophistication” (da Vinci?)

Here is a write-up on how Occam’s razor has been used in Web Design “Occam’s Razor: A Great Principle for Designers“.

And another delightful article on design principles is “12 Laws and Principles to Aid You in Your Design” – Occam’s razor is number 1 in this list.

See this Wikipedia page for more details on Occam’s razor.

Occam’s razor has also been applied to human interactions, and that is the subject for another post, but here is a teaser:

4 thoughts on “Occam’s Razor for Design of Systems and Processes”

  1. I guess Occam’s principles of simplicity is very relevant in modern day communications (which tend to be jargon heavy), aptly in systems and processes (what we refer to as lean thinking) and in the way we handle relationships.

    I am wondering aloud on whether you can bring out a sequel on possible applications of Occam’s principles in relationship management (client, family), marketing and spirituality.

    Regards
    Prakash

  2. Nice article. I loved the rational wiki link. The wiki on Science Woo is so funny! Edward De Bono published a book on ‘Simplicity’ which is an interesting read. Much of the documented principles like addition, subtraction, elimination (not the exact terms the author used) overlap with TRIZ.

    Thanks for the post again!

  3. Interesting thoughts Rajesh…Thanks for sharing.

    Well always simple things are most easily accepted and hence successful in the long run.

  4. Agile Philosophy embraces the concept of Occam’s Razor and Simplicity.
    Agile insists on constant flow of communication between the delivery team and Product Owner (who represents the end user) ensures there are no unnecessary/ uncalled for assumptions which I think illustrates the principle of Occam’s razor if my understanding is correct.
    One of the working principles of Agile is
    “Simplicity–the art of maximizing the amount of work not done–is essential.”.
    This helps avoiding Big Upfront Requirements, Architecture and Design when we are not sure what course the changing requirements will take. In this way they don’t end up with tonnes of requirements and design documentation which is of no use because requirements have changed drastically. Also they delay critical architectural and design related decisions till the last responsible moment. All these works towards reducing wastes and avoiding the work which need not have been done.

Comments are closed.