It's not how the developers work that is the problem. We've changed languages, team sizes, project cycle lengths, everything. Except one thing.
The one thing in common with all of these failed software projects is corporate, top-down management. I would say it's even gotten worse, to counterbalance the real productivity improvements we have actually gained from improved tools. You look at all the companies that can deliver software on time and budget and they have one thing in common: they aren't ran by Harvard MBAs. You look at all the once-great companies that eventually faded away into obscurity and they also have one thing in common: imposition of MBA-imposed corporate management structure to "cut costs" (aka, "throw out the baby with the bathwater"). It killed Bell Labs. It killed Xerox PARC. It killed Apple once, which then was reborn from its own ashes, and is in the process of killing Apple again.
It's impossible to be a great developer in an environment that denies that there can be unique skills and knowledge to individuals. Anywhere developers are "resources" they will be treated as interchangeable cogs.