It looks like a vicious circle... We always have a near impossible deadline. So, we code as fast as possible. The client get its app in time, but if he want to change something afterward, it'll cost him a lot more than if we took time to write super flexible code. Who can blame our bosses, they are still making money, right?
Sure it would be nice to make general modules that we could reuse, we'll save time in the next couple of projects, but it seems that we don't have that time, and our bosses won't give us this time either... they don't want to bust their budget. Also, it would be great to work in maintainable code, but we don't have the time to "refactor" anything anyway.
So, anyway, my question is : How can you work in such environment and still make maintainable and reusable code without busting budgets? Is it even possible?