Powered By Blogger

<< Patricians VS Arriviste >> Not the very obvious in Computer science.

Saturday, October 20, 2007

Simplicity !! in Software Engineering.

I have always learnt more than what is taught at academic institutes. This is mostly due to the fact I analyse whats being taught in extreme detail. This excruciating analysis usually means that I do not complete the entire syllabus, but that's the way it is. My analysis usually stops when I have understood the very simple fact on which the academic conclusion/lesson was based. As an example I took a sentence from a software engineering class which states
"Software should be simple"
Is it end of the lesson? Has everything been learnt ? No I don't think so!!!
The key questions left to be answered are
1. Whats the definition of simple ?
2. How do you measure simplicity ?
3. What are the parameters to the measuring function ?
3. How do you apply the concept in real life ?
4. Are there any patterns associated with the application of the concept ? (Patterns, patterns, pattern how much do I love to identify them)
Hmm, now if I pose these questions to people who claim to understand "simplicity" I will get 100s and 100s of variations in answers. Which one is correct ?. Thus I tend to conclude that real knowledge is tested when there are no correct answers and right answers are based on circumstances in which the concepts are applied.
OK, enough of the ramble and scramble. Here is what I learnt today at Carnegie Mellon that is worth sharing. Its a very sweet and simple definition of "Simplicity" itself
Simplicity: Its the art of maximizing the amount of work not to be done to do the "thing right".
Now can we answer the questions about simplicity ? I am quite sure that the above definition puts the practice of keeping thing simple in the right perspective ;). The questions posed about simplicity are now well answered, and this is what is truly learnt because, this will eventually helps us in application of the concept.
Cheers,
Faraz.
P.S: I'm dumb at times. I risk stating the very obvious for the smart people. But, hey this surely helps other dumb people like me. Me being dumb helps me constantly evolve into a smarter being.
Food for thought (Courtesy Wikipedia:Simplicity):
"Simplicity means the achievement of maximum effect with minimum means." — Koichi Kawana, architect of botanical gardens
"Things should be made as simple as possible, but not simpler." — Albert Einstein (1879–1955) "Simple things should be simple. Complex things should be possible." — Alan Kay
"You can always recognize truth by its beauty and simplicity." — Richard Feynman (1918–1988) "
Our lives are frittered away by detail; simplify, simplify." — Henry David Thoreau (1817–1862) "Simplicity is the ultimate sophistication." — Leonardo da Vinci (1452–1519)
"If you can't describe it simply, you can't use it simply." — Anon
"Simplicity of character is the natural result of profound thought." — William Hazlitt

No comments:

Followers