Software tends to march steadily downhill as it accumulates more and more features (read crap). I think one good way to fight the bloat, especially in a corporate environment, is to remember that your project/feature is not the most important thing.

Driving that one home is not easy, but it is critical if you are to preserve the software’s integrity.