>>[On KISS] I use this principal sometimes but try to avoid it and always look past the obvious forgetting about any existing barriers in your way
Just exactly so. I find it used this way too, most often. And yet, I rework software almost beyond measure trying to simplify it, and after a while, by gum, even the most difficult problems usually end up with a simpler solution (algorithmically sometimes, but most often just implementation).
To put it another way, which I think is really what you're getting at, simplicity takes a hell of a lot of work.
On the other hand, if you're approaching something you're just beginning to understand, keeping it simple and direct upfront saves you from a lot of useless work which will be thrown away after some experience, when you understand it better. I think this is the sense in which Paul is using the term, despite his unfortunate reference to software design. It has taken me many, many years to learn this (ok, I'm a slow learner), and I STILL err on the side of analyzing too early, before I know enough to do an efficient analysis. Throw most of it out and could have done it better with a few more mistakes under my belt. KISS works for this. Sad to say, the distinction is very difficult to make. Of course, this is called a "top down" approach in the jargon, but it's not simple to use the discipline effectively.
To broach an old subject a bit, since I've laid down all this groundwork <g>, I find a VERY great deal of popular project management, software "quality" methodology, and similar hot software topics very much in this category. I specifically include structured walkthroughs, code reviews, etc. I have seen them work, BTW, but far (far far) more often, they are reviews of ill-understood problems by people ill-prepared to judge what they are reviewing based on the ill-considered notion you can anticipate end results with a "careful" design. May I never ever hear the term "careful design" again from anyone who can dictate my activities ...
Sorry, an over-lengthy aside on an ancient topic.
Spots |