Wednesday, 14 February 2007

KISS it

My favourite design principle is KISS. It works so well for software. I find it funny that in life the "right" path is often the harder path, but it's opposite with software development.

I cringe when someone starts to explain a component that's "clever" but complicated. There is a certain threshold that "clever" components pass and you know that they have left KISS far behind.

Don't think that I have never made something more complicated than it was needed, but those are judgement calls that can sometimes go wrong and I will be the first one to rip it out.

6 comments:

  1. Which is why agile works so well. The KISS version is often the first couple iterations you come up with ... then you can see that it's enough instead of designing yourself to death. :) But I'm preaching to the choir ;)

    ReplyDelete
  2. Agile development methods are good, but you can still make things way more complicated than they need to be, even with agile methods. I've seen Ryan make things way more complicated than they needed to be on a few occasions.

    ReplyDelete
  3. OK fair enough I'll admit that. Care to provide an example?

    ReplyDelete
  4. Can't remember the specific assignment, but I remember one assignment that you and Karin were working on. I think you spent more time on the design phase than most other people spent doing the entire assignment. Sometimes people overthink things, and spend way more time than is necessary on the task at hand. In the real world, you don't always need to (or are able to) spend hours ironing out all the details to make it perfect, because it has to be done in 2 hours, and it only takes 1/2 an hour to program it anyway.

    ReplyDelete
  5. Yeah Ryan, you hypocrite. How about that? And I too remember that you missed at least one Some's class. I am writing a letter to Ottawa U to revise your diploma. And good on you Kibbee, you caught the bastard.
    Kidding aside, here is my modest opinion on this. You don't have to do things the right way all the time. Who gives a crap, as long as you realize that there was a better solution and you walk away with a lesson. Even a school assignment can become a practice of good habbits. Sure, you can do something in 15 min, but if you invest 30 min maybe you'll learn how to do things right. I am not saying that Ryan is right to do things certain way, but that's the way he is most comfortable with.
    Disclaimer: For anyone who reads this, I'm an immigrant and therefore reserve the right to butcher the english language as I see fit (including omissions of a/an/the articles and various spelling mistakes).

    ReplyDelete
  6. I think that one of the best ways to figure out the "right way" to do things is to do it the "wrong way" and learn from it as Aleks pointed out. If you are going to do something wrong, I think that school is the best place to do that.
    Disclaimer: For anyone who reads this, I'm not an immigrant and therefore reserve the right to butcher the english language as I see fit (including omissions of a/an/the articles and various spelling mistakes).

    ReplyDelete