Constraints have been shown to generally improve innovation. Giving targets and parameters helps ensure a team is working in unison. Identifying what is out of bounds can further focus that team.
Software's girth has surpassed its functionality, largely because hardware advances make this possible. The way to streamline software lies in disciplined methodologies and a return to the essentials.
Fascinatingly, one of the other big complaints people had about agile is no iteration. I don't understand how being in an agile environment makes people less iterative, but somehow that seems to be the case. And I think it's because people misunderstand and think that agile is just about putting features out faster, and not about the important part, which is getting something in front of users faster so that you can get feedback on it and make it better.
People are afraid to let design have time to actually figure out the right thing to make, because "whatever will the engineers do?" – fuck you, there's plenty for the engineers to do. Go fix some technical debt. Go fix those 700 bugs that you de-prioritized or marked as won't fix because you're an asshole.
I'm sorry, I love engineers. I don't know why I'm yelling at them. But you know, there's plenty for the engineers to do. There's all sorts of cleanup. They can work on dev-ops stuff! They can work on their build process! Make it faster! I'm not worried about keeping the engineers busy. If you think that the only thing that engineers can do is build yet another stupid feature that nobody is going to use, then you're a garbage designer and you should quit.