Call me a starry-eyed idealist, but<p>&gt; The iterative bloat during development can happen for so many reasons. (Numerous changes in requirements late in the project,<p>... and people not cleaning their mess up afterwards;<p>&gt; many developers working on numerous modules,<p>... without proper coordination, or, without the drive to keep things clean (i.e. proper manners);<p>&gt; design for flexibility and expansion that are never used,<p>... and never cleaned up, i.e. left there to rot by the people who put them there;<p>&gt; going too far down a path that turns out to be more work than an alternative)<p>... and not cleaning up.<p>&gt; Once a program has been in production for a while and its use cases are more well defined it becomes easier for a single person to swoop in and rewrite it in a far more conscice way.<p>I think it&#x27;s always easier for the guy&#x2F;gal who wrote something to clean it up than for the next guy&#x2F;gal, who doesn&#x27;t know the code or its history as well.<p>Really, this is all just people not cleaning up (or being allowed to clean up) after themselves.<p>Now if we could all just be nice to each other and hold hands..