Any piece of software tends to grow if it does something useful
I can't agree with this.
Some software follows this pattern and when it does, it usually follows it right to the point where it does a lot of stuff which isn't useful and none of it very well. I think that's true whether its full of kludges or cleanly designed.
In my experience, there is a whole helluva lot of software out there in the world which does something useful, requires almost zero maintenance, and runs daily on production servers. A lot of it is just the kind of makeshift stuff that dws is talking about, I think. That stuff doesn't grow. It just runs and no one touches it because they don't want anything to break.
Funny, but I always thought your signature referenced that latter class of deployed code.
-sauoq
"My two cents aren't worth a dime.";