Monday, March 30, 2009

Orthogonality

Google Reader.  One of my favourite tool which enable me to aggregate some of my favourite source for information.  It has also expand my horizon to the vast knowledge and information out there in the Internet.

One of my recent addition to my Google Reader subscription is Jeff Atwood's Coding Horror. Through his blog I also picked up so very interesting blogs such as Eric Lippert's Fabulous Adventures In Coding.

An interesting read I got recently from the blogs originates form Eric Lippert's Five Dollar Programming Words: Orthogonality.

My first experience with this word is probably in introduction to geometry where the word means "at right-angle".  However this word in the programming or IT solution sense really ring a bell with me.  

Recently, on my consulting gig, I was working on a solution to a business problem which was very "difficult".  Difficult not in the sense which the solution is difficult to understand nor was it difficult to implement.  I didn't quite get to the bottom of the root cause of the problem until this five dollar word so succinctly puts it.  The solution to the problem lacks orthogonality.  

In other words, a small change to a requirement or approach often leads to changes in other use-cases or other areas of the solution.  Unfortunately, I think I am at the point of no return.  I.e. there is no time to go back and re-work the approach.

Nonetheless, this word really had a profound impact to my approach on problem solving and designing a solution.  Next time around, I would spend much more time and emphasis on improving the orthogonality of a solution.