So much good stuff in this post from Microsoft's CVP of Office Development, Terry Crowley. The excerpts speak for themselves:
If essential complexity growth is inevitable, you want to do everything you can to reduce ongoing accidental or unnecessary complexity.
What I found is that advocates for these new technologies tended to confuse the productivity benefits of working on a small code base with the benefits of the new technology itself — efforts using a new technology inherently start small so the benefits get conflated.
The dynamic you see with especially long-lived code bases like Office is that the amount of framework code becomes dominated over time by the amount of application code and in fact frameworks over time get absorbed into the overall code base…
This means that you eventually pay for all that code that lifted your initial productivity. So “free code” tends to be “free as in puppy” rather than “free as in beer”.