The problem isn't really code bloat, bloat will happen. The problem is that the original code was not made to be expandable as the scope of the project changed.<p>Within an organization making code that is extendable and flexible is often VERY difficult, and it can be a VERY hard sell initially. Why spend an extra 8 weeks on a project standardizing how socket intercommunication will be handled internally between your own project(s) code, when you only have 2-3 projects? It sounds like a complete waste!<p>But in reality it isn't.<p>Adding features, and changing operations are one of the most common things you'll do with tools on hand. Not planning for the future is the easiest way to ensure the future will kick you when your down.<p>This difference of 8-10 weeks can be the difference between your code working for 2 years, and your code working for 15.