Optimizing software costs developer time, so it’s only done when needed.
Obviously, it’s because of how our society and culture is oriented. But I’d like to see that change.
Most customers want their immediate problem solved as cheaply as possible.
Unless you're in a market where customer's pay for craftsmanship, you will get undersold.
Well defined interfaces and good composition support the goals of the author of lean software.
They also happen to improve developer comprehension and reusability, both of which speed up software development in the long run.